<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Android Uygulamalar İçin Yazılım Kalite Modeli</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Merve Vildan Şimşek</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Aysu Betin-Can</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>ve Barboros Can</string-name>
          <email>betincan@metu.edu.tr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Anahtar Sözcükler: Yazılım Kalitesi</institution>
          ,
          <addr-line>Mobil Yazılım, Kalite Modeli, Android Uygulamalar, ISO/IEC SQuaRE Standardı</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Bilişim Teknolojileri Grubu (BİLTEG), Teknoloji ve Yenilik Destek Programları Başkanlığı (TEYDEB)</institution>
          ,
          <addr-line>TÜBİTAK, Ankara</addr-line>
          ,
          <country country="TR">Türkiye</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Enformatik Enstitüsü, Orta Doğu Teknik Üniversitesi</institution>
          ,
          <addr-line>Ankara</addr-line>
          ,
          <country country="TR">Türkiye</country>
        </aff>
      </contrib-group>
      <fpage>514</fpage>
      <lpage>525</lpage>
      <abstract>
        <p>Özet. Günümüzde akıllı telefon ve tablet gibi mobil cihazlar giderek yaygınlaşmaktadır. Bu durum mobil uygulama sayısının önemli ölçüde artışını da beraberinde getirmektedir. Bu sistemlerin popülerliğini yakın gelecekte de arttırmaya devam edeceği tahmin edildiğinden, mobil uygulamaların kalitesi oldukça fazla önem kazanmaktadır. Bu çalışmanın amacı Android uygulamaları için yazılım kalite modeli oluşturulmasıdır. Mobil pazardaki yaygınlıklarından dolayı Android İşletim Sistemi için geliştirilmiş uygulamalar hedef olarak seçilmiştir. Çalışmada ISO/IEC SQuaRE Yazılım Kalite Modeli Standardında tanımlanmış olan geleneksel yazılım kalite özellikleri adapte edilmiştir. Standartta tanımlanmış olan yazılım kalite özelliklerinden Android uygulamalara uygulanabilir olanlar seçilmiş ve Android uygulamalarının kalitesini etkileyen yeni bir özellik eklenmiştir. Sonrasında Android uygulamalara özgü yeni kaynak kod metrikleri belirlenmiştir. Nihai özelliklerin yer aldığı bir kalite modeli oluşturulmuş ve bu model bir örnek olay incelemesinde Android uygulamalarına uygulanarak, modelin uygulanabilirliği gösterilmiştir.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Mobil iletişim hayatımızda önemli bir yer kaplamaktadır. Akıllı telefonların ve
tabletlerin sayısındaki artış mobil uygulamaların sayısının çarpıcı bir oranda artışını
beraberinde getirmektedir. Gartner Grubunun raporuna göre “2017 tarihine kadar 268
milyardan fazla mobil uygulama indirilmiş olacak ve indirilen bu uygulamalar 77 milyar
dolardan fazla hasılat oluşturacaktır” [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Mobil uygulama sayısı çok yüksek bir hızla
arttığından uygulamaların kalitesi önemli bir konu haline gelmektedir. Kalite artık
sadece bir BT sorunu değildir, geliştiricilerin ve firmaların itibarını direkt olarak
etkilemektedir. Kullanıcılar uygulamalara yorumlar yazmakta ve puanlar vermektedir.
Uygulamaların almış olduğu ortalama puan değeri ve kullanıcı yorumları herkesin
erişimine açık olduğundan bu değerler potansiyel kullanıcıları da etkilemektedir.
Ayrıca uygulama mağazalarında rakip ürün sayısı fazla olduğundan, bir uygulamadan
vazgeçmek ve ona alternatif bir uygulama bulmak oldukça kolay hale gelmiştir.
      </p>
      <p>
        Bu çalışmanın amacı Android uygulamaları için bir kalite modeli oluşturulmaktır.
Mobil uygulama pazarında en büyük paya sahip olan işletim sistemi Android İşletim
Sistemi olduğundan Android uygulamalar hedef olarak seçilmiştir. İstatistiklere göre
Google Play Mağazası’nda indirilmeye hazır uygulama sayısı Haziran 2015 itibariyle
1,6 milyondur. Apple'ın Uygulama Mağazası 1,5 milyon uygulama barındırdığından
ikinci en büyük uygulama mağazasıdır. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
      </p>
      <p>Android uygulamaları için kalite modeli geliştirilmesi sürecinde, ISO/IEC SQuaRE
Yazılım Kalite Modeli Standardında tanımlanmış olan kalite özellikleri analiz
edilmiştir. Çalışma kapsamında ürün kalite modelinde (product quality model) yer alan
sekiz özellik göz önüne alınmıştır: işlevsel uygunluk, performans verimliliği,
güvenilirlik, güvenlik, kullanılabilirlik, bağdaşırlık, taşınabilirlik ve bakım kolaylığı. Bu
sekiz özelliğin alt özellikleri ve kullanımdaki kalite (quality in use) modelindeki
özellikler çalışmaya dâhil edilmemiştir. Kalite modelimiz mobil yazılım alanı ile ilişkili
olan kalite özellikleri ile ilgilendiğinden, ürün kalite modelinden uygulanabilir kalite
özellikleri seçilmiş ve bunlara ek olarak veri bütünlüğü adlı bir özellik eklenmiştir.</p>
      <p>Android uygulama geliştiricilerine anket yapılarak, kaynak kod metrikleri ve kalite
özellikleri arasındaki ilişki tanımlanmıştır. SQuaRE kalite modeli Android
uygulamalarına uygun olması adına adapte edilmiş, oluşturulan kalite modelinin geçerlilik
sınaması yapılmış ve model bir örnek olay incelemesinde iki adet açık kaynak kodlu
Android uygılamasının farklı dağıtımlarına uygulanarak modelin uygulanabilirliği
gösterilmiştir.</p>
      <p>Mobil yazılım kalite modellerinin geliştirilmesi üzerine az sayıda çalışma
yapılmıştır. İlişkili çalışmaların birçoğu uygulamaların kalitesini ölçme konusunda
yetersizdir, çünkü bu çalışmalarda metrik tanımlaması yapılmamıştır. Bizim çalışmamızda
ise mobil uygulamarın kalitesinin ölçülebilmesi adına Android’e özgü kaynak kod
metrikleri tanımlanmıştır.</p>
      <p>Bu makalenin katkıları Android uygulamaları için geçerlilik sınaması yapılmış bir
kalite modeli ve bu model için belirlenmiş olan metriklerdir. Mobil platformların
kalite değerlendirmesi alanında bir başlangıç çalışması gerçekleştirilmiştir. Çalışma
Android’e özgü metrik tanımlamaları içermesi ve güncel kalite standardının (ISO/IEC
SQuaRE) kullanılması sebebiyle bu alanda yapılan diğer çalışmalardan ayrılmaktadır.</p>
      <p>Makalenin devamı şu şekilde yapılandırılmıştır: Bölüm 2’de Android uygulamaları
için oluşturulan kalite modelinin geliştirme aşamaları açıklanmıştır. Bölüm 3’te
sunulan modelin değerlendirilmesi ve örnek olay incelemesi sonuçları yer almaktadır. Son
bölümde ise sunulan modele ilişkin çalışmanın sonucu ve bu konuda gelecekteki olası
çalışmalar açıklanmıştır.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>ANDROID KALİTE MODELİ GELİŞTİRİLMESİ</title>
      <sec id="sec-2-1">
        <title>Kalite Özelliklerinin Tanımlanması</title>
        <p>
          Kalite özelliklerinin tanımlanması sürecinde ISO/IEC SQuaRE Kalite Standardı,
nesne tabanlı modeller ve Android uygulamalara özgü komponentler göz önünde
bulundurulmuştur. Kalite özelliklerinin başlangıç seti olarak ISO/IEC 25010 Kalite
Standardından “Performans Verimliliği”, “Taşınabilirlik”, “Bakım Kolaylığı”, “İşlevsel
Uygunluk”, “Güvenilirlik”, “Kullanılabilirlik”, “Güvenlik” ve “Bağdaşırlık”
özellikleri seçilmiştir. Bu özelliklere ek olarak, bu alanda yapılmış olan çalışmaların [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ],
[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] incelenmesiyle “Veri Bütünlüğü” özelliği seçilmiştir. Oluşturulan
Android kalite modeli Şekil1 ile gösterilmiştir.
        </p>
        <p>Şekil 1. Android Kalite Modeli
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Metrik Tanımlanması</title>
        <p>
          Yazılım sistemlerinin kalitesini değerlendirirken genellikle kaynak kod metrikleri
kullanılmaktadır. Bu metrikler kaynak kod hakkında somut bilgi edilmek için objektif
bir yol sunmaktadırlar. Kalite standartları ve bu alanda yapılmış ilgili çalışmalar
analiz edilerek Android uygulamalarına uygulanabilir olan metrikler elde edilmiştir [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]
[
          <xref ref-type="bibr" rid="ref32">32</xref>
          ] [33]: Sınıf Sayısı (Number of Classes), Kalıtım Ağacının Derinliği (Depth of
Inheritance Tree), Kararsızlık (Instability), Metotlardaki Uyum Eksikliği (Lack of
Cohesion of Methods), Metot sayısı (Number of Methods), Nitelik Sayısı (Number of
Attributes) ve McCabe Çevrimsel Karmaşıklığı (McCabe Cyclomatic Complexity).
Android uygulama geliştirimi java tabanlı ve nesne tabanlı olmasına rağmen bazı kilit
farklılıklar bulunmaktadır. Kaynak kod yapılarındaki farklılıklar nedeniyle Android
uygulamalara özel metrik tanımlaması yapmaya ihtiyaç duyulmuştur. Android
Programlama kitaplarını, öğreticileri ve yayınları kapsamlı şekilde irdeleyerek [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], Android’e özgü sekiz yeni metrik tanımlaması
yapılmıştır: Aktivite Sayısı (Number of Activities), Servis Sayısı (Number of Services), Yayın
Alıcıları Sayısı (Number of Broadcast Receivers), İçerik Sağlayıcıların Sayısı
(Number of Content Providers), Minimum SDK Sürümü (Minimum SDK Version),
Hedeflenen SDK Sürümü (Target SDK Version), Intent Sayısı (Number of Intents) ve İzin
        </p>
        <sec id="sec-2-2-1">
          <title>Sayısı (Number of Permission).</title>
          <p>Android’e özgü metriklere ek olarak, Android uygulamalarına uygulanabilir
olduğunu düşündüğümüz nesne tabanlı üç metrik daha tanımlanmıştır: Dialog Sayısı
(Number of Dialogs), İş Parçacığı Sayısı (Number of Threads) ve Veritabanındaki
Tabloların Sayısı (Number of Tables in Database). Ortaya çıkan metrik listesi ve bu
metriklerin açıklamaları Tablo 1’de yer almaktadır. Tablodaki ilk sütun metriklerin
isimlerini, ikinci sütun metriklerin türlerini örneğin nesne tabanlı (tabloda OO olarak
ifade edilmiştir) veya Android, son sütun ise metrikler ile ilgili kısa açıklamaları
içermektedir. Bu metriklerin tümü doğal sayı değerleri almaktadırlar. Bu metriklerin
her biri için yüksek veya düşük olmasının kalite açısından anlamı, diğer bir deyişle
metrik-kalite ilişkisi bir sonraki kısımda açıklandığı üzere Android yazılım
geliştiricilerinin görüşleri ile elde edilmiştir. Bu nedenle, örneğin Sınıf Sayısının yüksek olması
daha iyi bir özelliktir gibi tanımlar bu kısımda verilmemiştir.</p>
          <p>Tablo 1. Kalite Modelinde Kullanılan Metriklerin Listesi
Metrik
Sınıf Sayısı
Kalıtım Ağacının Derinliği
Kararsızlık
Metotlardaki Uyum Eksikliği
Nitelik Sayısı
Metot Sayısı
McCabe Çevrimsel Karmaşıklığı
Aktivite Sayısı
Servis Sayısı
Yayın Alıcıları Sayısı
İçerik Sağlayıcıların Sayısı
Dialog Sayısı
İş Parçacığı Sayısı
Minimum SDK Sürümü
Hedeflenen SDK Sürümü
Intent Sayısı</p>
          <p>Tür
OO
OO
OO
OO
OO
OO
OO
Android
Android
Android
Android
OO, Android
OO, Android
Android
Android</p>
          <p>Android
Veritabanındaki Tabloların Sayısı
İzin Sayısı</p>
          <p>OO, Android
Android</p>
          <p>Açıklama
Kaynak koddaki toplam sınıf sayısı.</p>
          <p>Kalıtım hiyerarşisinde bir sınıftan kök sınıfa giden en
uzun yolun uzunluğu.</p>
          <p>
            Götürgen bağımlılığın toplam bağımlılığa oranı (Efferent
/ Efferent + Afferent). Kararsızlık paketin değişime karşı
olan dayanıklılığını göstermektedir. [
            <xref ref-type="bibr" rid="ref18">18</xref>
            ].
          </p>
          <p>Metotlardaki benzerlik derecesinin ölçümü.</p>
          <p>Kaynak koddaki toplam nitelik sayısı.</p>
          <p>Kaynak koddaki toplam metot sayısı.</p>
          <p>Programdaki lineer bağımsız yolların sayısı.</p>
          <p>Aktivite (Activity) sınıfından doğrudan veya dolaylı
olarak türetilmiş olan toplam sınıf sayısı.</p>
          <p>Servis (Service) sınıfından doğrudan veya dolaylı olarak
türetilmiş olan toplam sınıf sayısı.</p>
          <p>Yayın Alıcıları (BroadcastReceiver) sınıfından doğrudan
veya dolaylı olarak türetilmiş olan toplam sınıf sayısı.
İçerik Sağlayıcı (Intent) sınıfından doğrudan veya dolaylı
olarak türetilmiş olan toplam sınıf sayısı.</p>
          <p>Kaynak koddaki toplam dialog sayısı.</p>
          <p>Runnable interface sınıfını doğrudan veya dolaylı olarak
implemente eden toplam sınıf sayısı.</p>
          <p>Uygulamanın çalışması için gerekli olan minimum
uygulama programlama arayüzü (API) düzeyini belirten
tam sayı. En eski API düzeyi 1, en son Android API
sürümü ise 23`tür. Belirtilmediği takdirde sistem API
düzeyini “1” olarak kabul etmektedir.</p>
          <p>Uygulamanın çalışması için hedeflenen uygulama
programlama arayüzü (API) düzeyini belirten tam sayı. Veri
belirtilmediği takdirde sistem API düzeyini Minimum
SDK Sürümü olarak kabul etmektedir.</p>
          <p>Intent sınıfından doğrudan veya dolaylı olarak türetilmiş
olan toplam sınıf sayısı.</p>
          <p>Uygulamanın veritabanındaki tabloların toplam sayısı.</p>
          <p>Uygulamanın düzgün çalışmak için talep ettiği izin
sayısı.
2.3</p>
          <p>
            Metrik-Kalite Özelliği İlişkisi
Kaynak kod metrikleri ile kalite özellikleri arasındaki ilişkiyi saptamak için Android
uygulama geliştiricilerine anket yapılmıştır. Ankette katılımcılardan her metriğin
kalite özellikleri üzerindeki etkisinin derecesini ([
            <xref ref-type="bibr" rid="ref1">-1, 1</xref>
            ] aralığında Likert Ölçeği)
seçmelerini talep eden 18 soru mevcuttur. Seçenekler Kesinlikle Olumsuz (-1), Kısmen
Olumsuz (-0,5), Ne Olumsuz Ne Olumlu (0), Kısmen Olumlu (+0,5) and Kesinlikle
Olumlu (+1) şeklinde belirlenmiştir. Anket çevrimiçi gönderilecek şekilde planlanmış
ve hazırlanması aşamasında Google Forms [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ] kullanılmıştır.
          </p>
          <p>Anket sosyal medyadaki (Facebook, Linkedin) Android uygulama geliştirici
gruplarına, Türkiye’deki muhtemel bilişim firmalarına ve kişisel bağlantılarımıza
gönderilmiştir. Ankete 33 Android geliştirici katılmıştır. Katılımcıların aktif olarak yer
aldığı Adroid yazılımı projeleri sayılarına göre dağılımı şu şekildedir: %15,2si 10’dan
fazla projede, %27,3ü ise 5-10 projede, %57,6sı 1-4 projede yer almıştır.
Katılımcıların %27,3ü şirketleri için, %48,5 kişisel olarak, %24,2si ise hem kişisel hem de
şirketleri için Android yazılımı geliştirmiştir. Anket sonuçlarının iç tutarlılığı kontrol
edilmiştir. Cronbach Alfa değerinin ortalaması 0.82 olduğundan anketin güvenilirliği
kabul edilebilir bir aralık içindedir.
İlişki Ağırlıklandırma. Anket sonuçlarını kullanarak metrikler ve kalite özellikleri
arasındaki ilişkiyi gösteren bir matris oluşturulmuştur. Bu matris Tablo 2’de
gösterilmektedir. Tabloda sütunlar kalite özelliklerini, satırlar ise metriklerin kalite özelikleri
üzerindeki etkilerini içermektedir. Matris bir metrikteki artışın kalite özelliklerini
nasıl etkilediğini göstermektedir. Tabloda 0 ne olumlu ne olumsuz etki, -1 kesinlikle
olumsuz etki, -0,5 kısmen olumsuz etki, +0,5 kısmen olumlu etki, +1 ise kesinlikle
olumlu etkiyi ifade etmektedir.</p>
          <p>Tablo 2. Metrik - Kalite Özelliği İlişkisi
iilrn
e
üvG ilk
san ğii</p>
          <p>l
rrm lim
fo ir
eP eV
lii-r
b
a
n
ı
şaT ilk
lıı
ğ
ıkm lay
aB oK
-üB ğüü
ire ln
V tü
Sınıf Sayısı (NOC)
Kalıtım Ağacının Derinliği
(DIT)
Kararsızlık (COP)
1 / Metotlardaki Uyum
Eksikliği (COH)
Nitelik Sayısı (NOAT)
Metot Sayısı (NOM)
McCabe Çevrimsel
Karmaşıklığı (CYC)
Aktivite Sayısı (NOAC)
Servis Sayısı (NOS)
Yayın Alıcıları Sayısı
(NOBR)
İçerik Sağlayıcıların Sayısı
(NOCP)
Dialog Sayısı (NOD)
İş Parçacığı Sayısı (NOT)
le lunk
s
v gu
İşle yU
+1.0
+0.5
+0.5
+0.5
+0.5
0
-1.0
+0.5
-1.0
0
+0.5
+0.5
0
0
0
0
+0.5
0
0
+0.5
+0.5
0
0
+0.5
-0.5
0
+0.5
-1.0
+0.5
0
0
+1.0
+0.5</p>
          <p>Tablo 2 ile gösterilen veriler için katılımcıların yanıtlarının medyan değerleri
kullanılmıştır. Bu tabloda iş parçacığı sayısı ve katılım ağacı derinliği metrikleri için
beklenenden farklı sonuç alınmıştır. Katılım ağacı derinliği taşınılabilirlilik ve bakım
için ters orantılı olarak beklenirken +0,5 etki sonucu alınmıştır. İş parçacığı sayısı için
de bakım kolaylığını ve güvenilirliği ters etkilemesi beklenirken +0,5 etki yanıtı
alınmıştır. Android geliştirme ortamının sağladığı özellikler ve özellikle işçi (worker
thread) parçacıklarının kullanımın teşviki bu etki değerini çıkarmış olabilir. Bu durum
gelecekteki çalışmalarda daha detaylı incelenecektir.</p>
          <p>Tablo 2’deki matris kullanılarak her kalite özelliği için hesaplama formülleri elde
edilmiştir. Bütün kalite özellikleri için hesaplanan değerlerin aynı aralıkta olması için
metriklerin kalite özellikleri üzerindeki etkileri ağırlıklandırılmıştır. Metrik etkileri
için aralık olarak +1 aralığı seçildiğinden, (1) de belirtilmiş olan formül kullanılarak
her metriğin ağırlığı normalize edilmiştir.</p>
          <p>Yeni Değer = Metrik Değeri/ |Metrik Değerlerinin Toplamı|
(1)</p>
          <p>Hesaplamaya bir örnek vermek gerekirse: Kalıtım Ağacının Derinliği (DIT)
metriğinin Bağdaşırlık özelliğini +0,5 etkilediği görülmektedir. Bağdaşırlık özelliğini
etkileyen bütün metriklerin değerleri Tablo 2 son sütunda görülmektedir. Bu değerler
toplandığında (+0,5+0,5+0,5+0,5+1.0+0,5)= 3,5 değeri elde edilmektedir ve Kalıtım
Ağacının Derinliği (DIT) metriğinin yeni değeri 0,5/3,5 = 0,14 olarak bulunur.</p>
          <p>Kalite özellikleri için elde edilmiş olan nihai hesaplama formülleri Tablo 3’te
gösterilmiştir. Bu formüllere göre örneğin sınıf sayısının (NOC) fazla oluşu performans
verimliliğini arttırırken, kalıtım ağacının derinliğinin (DIT) fazla oluşu performans
verimliliğini azaltmaktadır.</p>
          <p>Tablo 3. Kalite Özellikleri için Hesaplama Formülleri</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>Performans Verimliliği</title>
        </sec>
        <sec id="sec-2-2-3">
          <title>Taşınabilirlik</title>
        </sec>
        <sec id="sec-2-2-4">
          <title>Bakım Kolaylığı İşlevsel Uygunluk</title>
          <p>Güvenilirlik</p>
        </sec>
        <sec id="sec-2-2-5">
          <title>Veri Bütünlüğü</title>
          <p>Hesaplama Formülleri
+0.5*(NOC) -0.5*(DIT) -0.25*(NOAT) -0.5*(CYC) -0.25*(NOS)
+0.25*(NOCP) -0.5*(NOD) +0.5(NOT) -0.5(NOTD) +0.25*(NOP)
+0.33*(NOC) +0.165*(DIT) +0.165*(NOM) +0.165*(NOS)
+0.165*(NOCP) -0.33*(MSDK) +0.165*(NOI) +0.165*(NOTD)
+0.2*(NOC) +0.2*(DIT) -0.2*(COP) -0.2*(NOM) +0.2*(NOAC)
+0.2*(NOS) +0.2*(NOCP) +0.2*(NOT) +0.2*(NOTD)
+0.1*(NOC) +0.1*(DIT) -0.1*(COP) +0.1*(COH) +0.1*(NOM)
+0.1*(NOAC) +0.1*(NOS) +0.1*(NOBR) -0.1*(NOCP) +0.1*(NOT)
+0.1*(MSDK) +0.1*(TSDK) +0.1*(NOI) +0.1*(NOTD)
-0.25*(DIT) -0.25*(COP) +0.25*(COH) +0.25*(NOAT) +0.25*(NOS)
+0.25*(NOBR) +0.25*(NOCP) +0.25*(NOT)
+0.09*(DIT) +0.09*(COP) +0.09*(COH) +0.09*(NOAT) +0.09*(NOM)
+0.18*(NOAC) +0.09*(NOS) +0.09*(NOT) +0.09*(NOI) +0.09*(NOTD)
Kullanılabilirlik
Güvenlik
Bağdaşırlık
3
3.1
+0.125*(NOC) +0.125*(NOAT) +0.125*(NOM) +0.125*(NOAC)
+0.125*(NOS) +0.125*(NOCP) +0.125*(NOD) +0.125*(NOT)
+0.125*(NOI) -0.125*(NOP)
+0.2*(NOC) +0.2*(COP) +0.2*(COH) +0.2*(NOAT) +0.2*(NOM)
0.2*(NOS) +0.2*(NOCP) +0.2*(NOI) -0.4*(NOTD) +0.2*(NOP)
+0.14*(DIT) +0.14*(COP) +0.14*(COH) +0.14*(NOAT) +0.28*(NOI)
+0.14*(NOTD)</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>MODEL DEĞERLENDİRMESİ VE SONUÇLAR</title>
      <p>Model Doğrulama
Android kalite modelinin doğrulaması için iki uygulama üzerinde çalışan üç bağımsız
değerlendirici kullanılmıştır. Tüm değerlendiricilerin yazılım değerlendirme ve
Android uygulama programlama konularında dört ya da beş yıllık tecrübeleri
bulunmaktadır.</p>
      <p>
        Açık kaynak kodlu doğrulama suiti seçmek amacıyla Android platform
uygulamaları için ücretsiz ve açık kaynak kodlu bir katalog olan F-Droid [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] kullanılmıştır.
FDroid’in listesinden popüler, açık kaynaklı, küçük boyutlu (en fazla 5000 KLOC), en
az iki dağıtımı yapılmış olan bir uygulama araştırılmıştır. Bu kriterlere uygun olan
2048-android uygulamasının ilk ve son dağıtımları seçilmiştir. 4275 KLOC
boyutundaki 2048-android uygulaması [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] basit bir bulmaca oyunudur.
      </p>
      <p>
        Üç bağımsız değerlendirici, 2048-android v1 ve 2048-android v2.06 yazılımlarının
kaynak kodlarını analiz etmiş ve kalite özelliklerini puanlamışlardır. Katılımcılar her
özelliği [
        <xref ref-type="bibr" rid="ref10">0, 10</xref>
        ] aralığında puanlamıştır. Tablo 4, üç değerlendiricinin (D1, D2 ve D3)
puanlarını ve kalite özelliklerinin ortalama değerlerini (ORT) göstermektedir.
      </p>
      <p>Tablo 4. 2048-android Uygulamaları İçin Değerlendirici Skorları</p>
      <sec id="sec-3-1">
        <title>Değerlendiriciler</title>
        <p>Performans Verimliliği
Taşınabilirlik
Bakım Kolaylığı
İşlevsel Uygunluk
Güvenilirlik
Veri Bütünlüğü
Kullanılabilirlik
Güvenlik
Bağdaşırlık</p>
        <p>
          Değerlendiricilerin puanları alındıktan sonra, seçilen uygulamaların kaynak kodları
analiz edilerek iki dağıtıma ait kalite puanları hesaplanmıştır. Kalite puanlarını
hesaplayabilmek için öncelikle, Bölüm 3.3 ile anlatılan yöntemle, iki dağıtımın metrikleri
toplanmıştır. Kalite özelliklerinin hesaplanması sürecinde farklı aralık değerlerindeki
metriklerin toplanmış olması sebebiyle bu değerlerin normalize edilmesi gerekmiştir.
Metrikler [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ] aralığında Min-Max normalizasyonu [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ] ile normalize edilmişlerdir.
        </p>
        <p>Tanımlanan dokuz kalite özelliği Tablo 3 de açıklanan formüller kullanılarak
hesaplanmıştır. Her bir formül için normalize edilmiş olan metrik değerleri
kullanılmıştır. Tablo 5, 2048-android uygulamasının iki dağıtımı için hesaplanmış dokuz kalite
özelliğine ait değerleri göstermektedir.</p>
        <p>
          Değerlendiricilerin puanları ile kalite modelinin sonuçları arasında korelasyon
bulunup bulunmadığını kontrol etmek için Pearson’ın korelasyon katsayısı [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]
kullanılmıştır. 9 çiftin katsayı değerleri IBM SPSS Statistics [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] kullanılarak elde
edilmiştir. 0.697 lık katsayı değeri ile iki veri seti arasında istatistiksel olarak anlamlı bir
korelasyon bulunduğu ortaya çıkmıştır. Bu korelasyon çalışmamızda oluşturulan
Android kalite modelini doğrulamakta ve modelin güvenirliğini desteklemektedir.
        </p>
        <p>Tablo 5. 2048-android Uygulamaları İçin Hesaplanan Kalite Özellikleri
Performans Verimliliği
Taşınabilirlik
Bakım Kolaylığı
İşlevsel Uygunluk
Güvenilirlik
Veri Bütünlüğü
Kullanılabilirlik
Güvenlik
Bağdaşırlık
3,125
0
5,7
2,14
2,5
0
1
2,72
0</p>
        <p>Değerleme Ölçeğinin Belirlenmesi. Sonuçlar hakkında bilgi çıkarımı yapabilmek
amacıyla değerleme için Android uygulamaların kalite özelliklerinin kalite puanları
belirlenmiştir. Değerleme ölçeği altı kategoriden oluşmaktadır: 0-0,99, Çok Zayıf,
12,99 Zayıf, 3-4,99 Orta, 5-6,99 İyi, 7-8,99 Çok İyi ve 9-10 Mükemmel.</p>
        <p>Değerleme ölçeği kalite özelliklerinin sonuçlarına uygulanmıştır. Kalite özellikleri
2048-android uygulamaları için Android Kalite Modeli ile hesaplanmış ve derece
değerleri Tablo 6’da verilmiştir.</p>
        <p>Tablo 6. 2048-android Uygulamalarının Kalite Özelliklerinin Kategorileri
Performans Verimliliği
Taşınabilirlik
Bakım Kolaylığı
İşlevsel Uygunluk
Güvenilirlik
Veri Bütünlüğü
Kullanılabilirlik
Güvenlik
Bağdaşırlık</p>
        <p>
          Örnek Olay İncelemesi İçin Test Verisinin Toplanması
F-Droid’de açık kaynaklı, büyük boyutlu (en az 10000 KLOC), birçok dağıtımı olan
uygulamalar araştırılmıştır ve örnek olay incelemesi için iki Android uygulaması
seçilmiştir: KeePassDroid [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] ve CosyDVR [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. İlk uygulama KeePassDroid,
29.328 KLOC büyüklüğünde ve 115 dağıtımı yapılmış olan ücretsiz açık kaynak şifre
yönetim uygulamasıdır. Diğer uygulama CosyDVR ise 24.087 KLOC büyüklüğünde
ve 21 dağıtımı yapılmış araç içi kullanım için tasarlanmış ücretsiz bir açık kaynak
Dijital Video Kaydedici (DVK) yazılım kitidir.
        </p>
        <p>KeePassDroid uygulamasının, 115 dağıtımından 10 tanesinin, CosyDVR
uygulamasının ise yine 21 dağıtımından 10 tanesinin kaynak kodları indirilmiştir.
KeePassDroid ve CosyDVR uygulamalarının 10’ar dağıtımı seçilirken uygulamaların
havuzlarında en çok kayıt (commit) sayısına sahip 10 dağıtım göz önünde
bulundurulmuştur. Uygulamalar havuzda ne kadar çok kayıt sayısına sahipse, uygulamada o
kadar çok değişiklik yapılmış anlamına gelmektedir.
3.3</p>
        <sec id="sec-3-1-1">
          <title>Metrik Verisinin Toplanması ve Normalize Edilmesi</title>
          <p>
            Tablo 1’de tanımladığımız 18 metrik KeePassDroid ve CosyDVR uygulamalarının 10
dağıtımı için hesaplanmıştır. Bu çalışmada Tablo 2’de gösterilen nesne tabanlı
metrikleri hesaplamak için Eclipse Metrics plug-in 1.3.8 [
            <xref ref-type="bibr" rid="ref27">27</xref>
            ] uygulaması kullanılmıştır.
Bizim tanımladığımız ek metrikleri hesaplayabilmek için özel herhangi bir araç ya da
plug-in bulunmadığından, bir Java programı yazılmıştır.
          </p>
          <p>Kalite özelliklerinin hesaplanması esnasında asıl metrik değerlerinin farklı
aralıklardan toplanması sebebiyle metrik değerlerinin normalize edilmesine ihtiyaç
duyulmuş ve Min-Max normalizasyonu ile bu işlem gerçekleştirilmiştir.
Şekil 2. KeePassDroid Uygulamasının Kalite
Özelliklerinin Grafikleri
Şekil 3. CosyDVR Uygulamasının Kalite
Özelliklerinin Grafikleri
3.4</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Sonuçların Analiz Edilmesi</title>
          <p>Tanımlanan dokuz kalite özelliğinin değerleri, Tablo 3’de açıklanan formüllerle
hesaplanmıştır. Kalite özellik grafikleri, hesaplanan bu değerleri baz alarak çizilmiştir.
Şekil 2 ve Şekil 3’deki KeePassDroid ve CosyDVR uygulamalarına ait kalite özellik
grafikleri elde edilmiştir.</p>
          <p>Kalite özelliklerine ait kalite puanlarındaki beklenen artış, kalite özelliklerinin yeni
Android uygulamalarının dağıtımlarında artacağı öngörüsünü doğrulamıştır.
KeePassDroid uygulamasının son dağıtımına ait kalite puanlarının çoğu “Orta” ya da daha
üstteki kategoriye girmiştir. Diğer taraftan CosyDVR’ın son dağıtımına ait puanlar ise
genellikle “Orta” ya da daha düşük kategorilerdedir. KeepassDroid’in son dağıtımına
ait kalite puanları Şekil 4’te, CosyDVR’e ait olanlar ise Şekil 5’de gösterilmiştir.</p>
          <p>
            KeepassDroid ve CosyDVR uygulamalarının indirilme sayıları ve bu uygulamalara
yapılmış olan yorumlarla, Android kalite modelimiz kullanılarak hesaplanmış olan
kalite puanları birbiri ile tutarlı bir profil çizmektedir. Kullanıcı yorumlarına göre,
Google Play Store’da KeePassDroid değerlemeleri yüksekken, CosyDVR
değerlemeleri düşüktür. Google Play Store’daki uygulamarın indirilme sayıları ve yıldız
değerleri aşağıda yer almaktadır:
• KeePassDroid [
            <xref ref-type="bibr" rid="ref29">29</xref>
            ]: İndirilme sayısı 1,000,000 - 5,000,000 aralığındadır. 31,305
kullanıcı yorumuna göre uygulama 5.0 üzerinden 4.6 puan değerine sahiptir.
• CosyDVR [
            <xref ref-type="bibr" rid="ref30">30</xref>
            ]: İndirilme sayısı 100 – 500 aralığındadır. 6 kullanıcı yorumuna
göre uygulama, 5 üzerinden 2.5 puan değerine sahiptir.
Şekil 4. KeePassDroid v.2.0.3 Kalite Skorları
Şekil 5. CosyDVR v1.3.11 Kalite Skorları
4
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>SONUÇ VE GELECEKTEKİ ÇALIŞMALAR</title>
      <p>Bu çalışmada Android uygulamaları için kalite modeli önerilmiştir. Önerimiz genel
bir model olup, Android uygulama geliştiren yazılımcılar kendi uygulamalarına göre
kalite modelini uyarlayabileceklerdir.</p>
      <p>
        Yeni bir disiplin olan mobil yazılım kalite değerlendirmesi üzerine yaptığımız bu
çalışmada bazı kısıtlar vardır. İlk kısıt, araştırmada yer alacak katılımcıların seçimidir.
Android 2007 yılında doğup 2010 yılında yaygınlaştığı için [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], bu konuda yetkin
yazılımcılar bulmak zordur. Bu sorunu gidermek adına Sosyal Medyadaki (Facebook,
Linkedin) Android uygulama geliştirici gruplarına e-posta atılmıştır. Farklı ülkelerden
katılımcı sağlamak amacıyla sosyal medyadaki gruplara mesaj atılmasına rağmen
araştırmaya katılan 33 geliştiricinin tamamı Türkiye’den olmuştur. Türk
yazılımcıların karakteristikleri diğer ülkelerdekilerden farklı olabileceğinden, başka ülkelerden
geliştiricilerin katılacağı bir araştırmada farklı sonuçlar olabilecektir. Bu sınırlamanın
ilerideki çalışmalarımızda aşılması planlanmaktadır.
      </p>
      <p>Bir sonraki kısıt ise, model doğrulamada kullanılan mobil uygulamaların boyutu ile
ilgilidir. Yazılım değerlendirme emek yoğun bir iş olduğundan, orta büyüklükte
uygulamalar kullanılmıştır. Çalışmanın daha büyük ölçekli uygulamalar üzerinde de
doğrulanması amacıyla genişletilmesi hedeflenmektedir.</p>
      <p>Bu çalışma kapsamına ürün kalite modelinde yer alan sekiz özellik dahil edilmiş,
bu sekiz özelliğin alt özellikleri dahil edilmemiştir. Bu alt özelliklerin de mobil
uygulama kalitesinin değerlendirilmesi açısından incelenmesi planlanmaktadır.</p>
      <p>Gelecekteki çalışmalarda kalite modelinde bazı geliştirmeler yapılacaktır. Mobil
uygulamaların kaynak kod metriklerinin istatistiksel olarak daha büyük kapsamda
analiz edilmesi ve farklı mobil platformlarının (örn. IOS, Windows Mobile) kalite
modeline dâhil edilmesi planlanmaktadır. Sistemin sonuçlarını daha etkin hale
getirmek için farklı ülkelerdeki mobil uygulama geliştiricilerini de kapsayan daha fazla
yazılımcıdan veri toplanacak bir model geliştirilecektir. Ayrıca kalite modelini
doğrulamak için daha fazla değerlendirici çalışmaya dâhil edilecektir. Değerlendirici
sayısındaki çoğalma, modelin güvenirliğini de arttıracaktır.
5</p>
      <p>KAYNAKÇA</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. “Predicts 2014:
          <article-title>Apps, Personal Cloud and Data Analytics Will Drive New Consumer Inter-actions”</article-title>
          , https://www.gartner.com/doc/2628016/predicts--
          <string-name>
            <surname>apps-</surname>
          </string-name>
          personal-cloud,
          <source>Ekim</source>
          <volume>21</volume>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. “The Statistics Portal: Number of Apps Available in Leading App Stores”, http://www.statista.com/statistics/276623/number-of
          <article-title>-apps-available-in-leading-app-stores/</article-title>
          , Ekim 24,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Franke</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kowalewski</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , “
          <string-name>
            <given-names>A Mobile</given-names>
            <surname>Software Quality</surname>
          </string-name>
          <article-title>Model”</article-title>
          ,
          <source>in 12th International Conference on Quality Software, Xi'an, Shaanxi: IEEE</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Franke</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weise</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , “
          <article-title>Providing a Software Quality Framework for Testing of Mobile Applications”</article-title>
          ,
          <source>Fourth IEEE International Conference on Software Testing, Verification and Validation</source>
          , Berlin: IEEE,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Idri</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moumane</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abran</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , “
          <article-title>On the Use of Software Quality Standard ISO / IEC 9126 in Mobile Environments”</article-title>
          , 20th
          <string-name>
            <surname>Asia-Pacific Software</surname>
          </string-name>
          Engineering Conference, Aveiro: IEEE,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Zahra</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khalid</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Javed</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <source>“An Efficient and Effective New Generation Objective Quality Model for Mobile Applications.” I.J.Modern Education and Computer Science (MECS)</source>
          ,
          <volume>4</volume>
          ,
          <fpage>36</fpage>
          -
          <lpage>42</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Hecht</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benomar</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rouvoy</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moha</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duchien</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <article-title>“Tracking the Software Quality of Android Applications along their Evolution”</article-title>
          ,
          <source>30th IEEE/ACM International Conference on Automated Software Engineering</source>
          , United States: IEEE,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. “Android Developer Page”, http://developer.android.com/, Kasım 12,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Jetter</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , “
          <article-title>Assessing Software Quality Attributes with Source Code Metrics. (Diploma The-sis)”</article-title>
          , http://www.ifi.uzh.ch/seal/research/tools/ archive/swQuality/da_jetter.pdf,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Meier</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <source>“Professional Android 4 Application Development”</source>
          , https://books.google.com.tr/books?hl=en&amp;lr=&amp;id=bmJIl_wPgQsC,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Smyth</surname>
          </string-name>
          , N., “Android 4 App Development Essentials” http://www.techotopia.com/index.php/Android_4_App_Development_Essentials,
          <year>2014</year>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Murphy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , “
          <article-title>The Busy Coder's Guide to Android Development” https://commonsware</article-title>
          .com/Android/Android_
          <fpage>3</fpage>
          -
          <lpage>6</lpage>
          -CC.pdf,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Gramlich</surname>
          </string-name>
          , N., “
          <article-title>Android Programming with Tutorials from the anddev</article-title>
          .org-Community”, http://andbook.anddev.org/files/andbook.pdf,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Önder</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mermerkaya</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , “Merhaba Android”, İstanbul, Turkey: Deniz Ofset,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Vogel</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , “
          <article-title>Introduction to Android development with Android Studio”</article-title>
          , http://www.vogella.com/tutorials/Android/article.html,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. “Android Development”, https://teamtreehouse.com/tracks/android-development,
          <source>Kasım</source>
          <volume>20</volume>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. “
          <article-title>Difference between Android and Java”</article-title>
          , http://www.differencebetween.com/differencebetween-android-and
          <string-name>
            <surname>-</surname>
          </string-name>
          vs-java/#ixzz2TIkUX7cI,
          <source>Aralık</source>
          <volume>17</volume>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Almugrin</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Albattah</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alaql</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alzahrani</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Melton</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <source>“Instability and Abstractness Metrics Based on Responsibility”, 38th Annual International Computers, Software and Applications Conference</source>
          , Sweden: IEEE,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. “Google Forms”, https://www.google.com/forms/about/, Aralık 20,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. “2048-android game in Google Play Store” https://play.google.com/store/apps/details?id=com.
          <source>gabrielecirulli.app2048, Aralık</source>
          <volume>25</volume>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. “IBM SPSS Statistics”, http://www-01.ibm.com/software/analytics/spss/, Aralık 20,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>“F-Droid</surname>
            <given-names>Limited</given-names>
          </string-name>
          ”, https://f-droid.org/wiki/index.php?title=Category: Apps, Aralık
          <volume>22</volume>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23. “
          <article-title>Pearson product-moment correlation coefficient”</article-title>
          , https://statistics.laerd.com/statisticalguides/pearson
          <article-title>-correlation-coefficient-statistical-guide</article-title>
          .
          <source>php, Mayıs</source>
          <volume>12</volume>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24. “KeePassDroid”, http://www.keepassdroid.com/, Aralık 22,
          <year>2015</year>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25. “CosyDVR”, https://github.com/sergstetsuk/CosyDVR, Şubat
          <volume>10</volume>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26. “
          <source>Eclipse Metrics Plugin 1.3</source>
          .8.”, http://metrics2.sourceforge.net/, Aralık 25,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27. “Data Normalization and Standardization”, http://www.benetzkorn.com/
          <year>2011</year>
          /11/datanormalization-and-standardization/, Aralık 25,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28. “KeePassDroid in Google Play Store”, https://play.google.com/store/ apps/details?id=com.android.
          <source>keepass&amp;hl=en, Aralık</source>
          <volume>25</volume>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29. “CosyDVR in Google Play Store”, https://play.google.com/store/ apps/details?id=es.esy.
          <source>CosyDVR, Şubat</source>
          <volume>10</volume>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30. “The Android Story”, http://www.xcubelabs.com/infographic-android-story/, Şubat 10,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31. “ISO/IEC 25010:
          <year>2011</year>
          ”, https://www.iso.org/obp/ui/#iso:std:iso-iec:25010:ed-1
          <source>:v1:en, Aralık</source>
          <volume>2</volume>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32. G. Jost,
          <string-name>
            <given-names>J.</given-names>
            <surname>Huber</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Hericko</surname>
          </string-name>
          . “
          <article-title>Using Object Oriented Software Metrics for Mobile Application Development”</article-title>
          ,
          <source>in 2nd Workshop of Software Quality Analysis, Monitoring, Improvement and Applications</source>
          (SQAMIA),
          <year>Serbia</year>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>