Yazılım Test Maliyet Fonksiyonlarının Otomatik Olarak Ke¸ sfedilmesi
G¨ ul¸sen Demir¨ oz ve Cemal Yılmaz
M¨ uhendislik ve Do˘ ga Bilimleri Fak¨ ultesi, Sabancı ¨ Universitesi, ˙Istanbul, T¨ urkiye {gulsend, cyilmaz}@sabanciuniv.edu
Ozet: Y¨ ¨ uksek derecede ¨ ozelle¸stirilebilir sistemlerin test edilmesi genel- likle muazzam geni¸slikte bir konfig¨ urasyon uzayının ¨ orneklendirilmesi ve sadece se¸ cilen bazı konfig¨ urasyonların test edilmesiyle ger¸ cekle¸stirilir.
Orneklendirme, kapsayan dizi olarak adlandırılan bir kombinatoryal ob- ¨ jenin hesaplanması ile ger¸ cekle¸stirilebilir. Geleneksel kapsayan dizilerde b¨ ut¨ un konfig¨ urasyonların maliyetlerinin e¸sit oldu˘ gu varsayılır ki bu pratik bir varsayım de˘ gildir. Test maliyetini dikkate alan kapsayan diziler he- saplamak i¸ cin test maliyetinin ¨ onceden bilinmesi gerekmektedir. Test maliyeti fonksiyonunun pratik bir ¸sekilde ifade edilebilmesi, gerek kalite kontrol s¨ urecinin planlanabilmesi gerekse maliyeti dikkate alan kapsayan dizilerin hesaplanabilmesi a¸ cısından ¨ onem arz etmektedir. Test maliyeti fonksiyonlarının yazılım geli¸stirenler tarafından sa˘ glıklı ve hatasız bir
¸sekilde tanımlanamayaca˘ gını ¨ ong¨ ord¨ u˘ g¨ um¨ uz i¸ cin maliyet fonksiyonlarını otomatik olarak ke¸sfedecek y¨ ontemler geli¸stirdik. ˙Ilk geli¸stirdi˘ gimiz y¨ on- temimizde, kapsayan bir dizideki konfig¨ urasyonlarda sistemin verilen ka- lite kontrol i¸si i¸ cin test maliyetleri ¨ ol¸ c¨ ulerek, bu veri k¨ umesinden ¸ ce¸sitli genelle¸stirilmi¸s lineer regresyon modeller olu¸sturulmu¸stur. Bu ¸ calı¸sma- mızda maliyet fonksiyonunu hesaplamak i¸ cin yeni bir y¨ ontem daha geli¸s- tirilmi¸stir ve lineer regresyon modeller ile kar¸sıla¸stırılmı¸stır. Bunun i¸ cin Deney Tasarım Teorisi kullanılmı¸stır. Bu teorinin ¨ ozellikle eleme tasarım- ları kısmından faydalanılmı¸stır. Geli¸stirilen yeni y¨ ontem, verilen bir kon- fig¨ urasyon uzayı ve bu uzayda y¨ ur¨ ut¨ ulmesi planlanan bir kalite g¨ uvencesi i¸si i¸ cin eleme tasarımlarını kullanarak kalite g¨ uvencesi maliyetlerine etkisi en ¸ cok olan parametre kombinasyonlarını belirler ve bu kombinasyonları kullanarak bir maliyet modeli hesaplar. Bu modeller ¨ u¸ c de˘ gi¸sik kalite kontrol i¸sleri i¸ cin (1- Sistemin kodunu derleme ve yapım i¸si, 2- Tek bir test durumunun ko¸sturulması i¸si, 3- T¨ um test durumlarının ko¸sturulması i¸si) iki ger¸ cek yazılım sistemi (Apache web sunucusu ve MySQL veri- tabanı sunucusu) kullanılarak geli¸stirilmi¸stir. Genelle¸stirilmi¸s lineer re- gresyon ve eleme tasarımları ile hesaplanan maliyet modelleri istatistik bilimlerinde R-kare olarak bilinen belirleme katsayısı ¨ ol¸ c¨ um metri˘ gi ile de˘ gerlendirilmi¸s ve maliyet hesaplamasında sırasıyla 0.92 ve 0.99 orta- lama R-kare de˘ gerleriyle olduk¸ ca ba¸sarılı sonu¸ clar elde edilmi¸stir.
Anahtar kelimeler: yazılım kalite g¨ uvencesi, yazılım test maliyeti, kap-
sayan diziler, Deney Tasarım Teorisi, eleme tasarımları, genelle¸stirilmi¸s
lineer regresyon modeli
Abstract: The testing of highly configurable systems almost always in- volves sampling enormous configuration spaces and testing representa- tive instances of a system’s behavior. This sampling can be done by computing a combinatorial object, called a t-way covering array (CA).
The covering arrays assume that the cost of configuring the system un- der test is the same for all configurations, however this is not a practical assumption. To compute cost-aware covering arrays, the cost needs to be determined beforehand. Therefore, estimating the cost of a quality assurance (QA) task across a configuration space is of great importance, as the estimates can be used for planning the QA process as well as for taking cost-aware samples. However, manually creating cost models is cumbersome and error-prone, thus impractical. Therefore we have been developing automated approaches for cost model discovery in configura- tion spaces. In our previous work, we have computed generalized linear regression models from the data set which contains the measured costs of all configurations in a covering array for a given QA task. In this paper, we have developed another approach using Design of Experiments The- ory (DoE) for automatically discovering the cost function and compared it with our previous approach based on linear regression models. Given a configuration space, a QA task of interest, and a cost of the QA task, the proposed approach first identifies important effects, i.e., combinations of option settings that affect the cost most, by using screening designs from the DoE theory, and then uses the important effects identified to fit a cost model to the observations. To evaluate the proposed approach, we used 3 different QA tasks (1- To build the system under test 2- To run a single test case 3- To run a whole test suite) on 2 different real soft- ware systems (Apache web server and MySQL database server). These models computed by both the generalized linear regression and screening designs have been evaluated by the coefficient of determination metric known as R-squared in statistics and the results have been successful with an average measure of 0.92 and 0.99.
Keywords: software quality assurance, software testing cost, Design of Experiments Theory, screening designs, generalized linear regression models, covering arrays
1 Giri¸ s
Y¨ uksek derecede ¨ ozelle¸stirilebilir sistemlerin test edilmesi genellikle muazzam
geni¸slikte bir konfig¨ urasyon uzayının ¨ orneklendirilmesi ve sadece se¸cilen bazı kon-
fig¨ urasyonların test edilmesiyle ger¸cekle¸stirilir. Kombinatoryal etkile¸sim sınama
y¨ ontemleri konfig¨ urasyon uzayını sistematik bir ¸sekilde ¨ orneklendirip, sadece
se¸cilen konfig¨ urasyonları test eder. ¨ Orneklendirme, t’li kapsayan dizi olarak ad-
landırılan bir kombinatoryal objenin hesaplanması ile ger¸cekle¸stirilir. Bir t’li kap-
sayan dizi (KAD), ayrık de˘ gerler alan konfig¨ urasyon parametreleri k¨ umesinin her
t’li altk¨ umesi i¸cin, ilgili parametre de˘ gerlerinin her bir kombinasyonunu en az bir
kere i¸ cerecek ¸sekilde olu¸sturulmu¸s bir konfig¨ urasyon k¨ umesidir [1, 15, 18, 20].
Geleneksel kapsayan dizilerde b¨ ut¨ un konfig¨ urasyonların maliyetlerinin e¸sit oldu˘ gu varsayılır ki bu pratik bir varsayım de˘ gildir [4, 8]. Maliyeti dikkate alan kapsayan diziler (M-KAD) ise geleneksel KAD’lardan farklı olarak, reel test maliyetlerini g¨ oz ¨ on¨ une alarak kapsayan dizileri hesaplar [7, 10].
Test maliyeti fonksiyonunun pratik bir ¸sekilde ifade edilebilmesi, gerek kalite kontrol s¨ urecinin planlanabilmesi gerekse maliyeti dikkate alan kapsayan dizilerin hesaplanabilmesi a¸ cısından ¨ onemlidir. ¨ Orne˘ gin; her bir parametre de˘ gerleri kom- binasyonu i¸ cin bir maliyet tanımlanması, her bir konfig¨ urasyon i¸ cin bir maliyet tanımlanması demektir ki konfig¨ urasyon sayısı parametre sayısı ile ¨ ussel olarak arttı˘ gından bu pratik de˘ gildir. Dolayısı ile verilen bir konfig¨ urasyon uzayındaki maliyet fonksiyonlarını otomatik ke¸sfeden y¨ ontemlere ihtiya¸c vardır. ¨ Onceki ¸calı¸s- mamızda kapsayan diziler olu¸sturularak bu uzay ¨ orneklendirilmi¸s ve daha sonra kapsayan dizideki t¨ um konfig¨ urasyonlarda g¨ ozlemlenen maliyetler kullanılarak genelle¸stirilmi¸s lineer regresyon modeller yaratılmı¸stır [9]. Ger¸ cek yazılım sistem- lerinde yaptı˘ gımız deneyler genelle¸stirilmi¸s lineer regresyon modellerin g¨ uvenilir maliyet modelleri ke¸sfetmekte ba¸sarılı ve verimli olduklarını g¨ ostermi¸stir [9].
Bu bildirideki ¸ calı¸smamızda gene aynı ama¸c do˘ grultusunda verilen bir yazılım sisteminin konfig¨ urasyon uzayındaki maliyet fonksiyonlarını otomatik olarak ke¸s- feden y¨ ontemler bu kez Deney Tasarım Teorisinde yer alan eleme tasarımları [5]
kullanılarak geli¸stirilmi¸stir. Ayrıca bu yeni y¨ ontem ¨ onceki y¨ ontemimizle [9] kar¸sı- la¸stırılmı¸s ve daha ba¸sarılı oldu˘ gu g¨ ozlemlenmi¸stir.
Bildirinin devamında, ilk olarak literat¨ urdeki ilgili ¸calı¸smalardan bahsedilmi¸s- tir. Daha sonra maliyet fonksiyonlarını otomatik olarak ke¸sfeden yeni y¨ ontem
¨
orneklerle anlatılmı¸stır. Bir sonraki b¨ ol¨ umde, hesaplanan modelleri de˘ gerlendir- mek ¨ uzere reel yazılım sistemleri ¨ uzerinde yapılan deneyler ve analizleri ak- tarılmı¸stır. Son b¨ ol¨ umde ise elde edilen sonu¸ clar ve gelecek planları tartı¸sılmı¸stır.
2 ˙Ilgili C ¸ alı¸ smalar
Kombinatoryal etkile¸sim sınama alanındaki temel bir tarama yayını [15] ge- leneksel kapsayan dizileri hesaplama probleminin zor bir problem, yani NP-tam (NP-complete) bir problem oldu˘ gunu s¨ oylemektedir. Ayrıca aynı yayında kap- sayan diziler, girdi parametre kombinasyonlarının test edilmesi, y¨ uksek derecede
¨
ozelle¸stirilebilir sistemlerin test edilmesi, olay tabanlı (grafik ara y¨ uzleri gibi) sistemlerin test edilmesi ve yazılım ¨ ur¨ un ailelerinin test edilmesi gibi alanlarda kullanılmı¸s oldu˘ gu anlatılmaktadır [15].
Genelle¸stirilmi¸s lineer regresyon modelleri bir ¸cok alanda ba˘ gımlı de˘ gi¸skenleri modellemek i¸cin sık sık kullanılmı¸stır [17]. Daha da ¨ otesi, literat¨ urde regresyon analizi [16] ba¸slı˘ gı altında bu alanda bir d¨ unya y¨ ontem de bulunmaktadır. Bizim di˘ ger ¸ calı¸smamız da karı¸sık konfig¨ urasyon uzaylarında maliyeti modellemek i¸cin lineer regresyon modelinin iyi bir ¸ c¨ oz¨ um oldu˘ gunu g¨ ostermi¸stir [9].
Yazılım test maliyetini modellemek i¸ cin yaptı˘ gımız ilk ¸calı¸smamızda [9], bir
yazılım konfig¨ urasyon uzayı, bir kalite kontrol i¸si ve bu i¸sin maliyeti i¸ cin bir ¨ ol¸ c¨ um
verildi˘ ginde, geleneksel kapsayan diziler olu¸sturularak bu uzay ¨ orneklendirilmekte
ve bu se¸cilmi¸s konfig¨ urasyonlarda test i¸sleri ¸calı¸stırılarak her birinin maliyetleri
¨
ol¸ c¨ ulmektedir. Daha sonra kapsayan dizideki t¨ um konfig¨ urasyonların g¨ ozlemlenen maliyetleri kullanılarak genelle¸stirilmi¸s lineer regresyon modeller yaratılmı¸stır.
Elde edilen bu model daha ¨ once g¨ or¨ ulmemi¸s konfig¨ urasyonların maliyetini tah- min etmede kullanılmı¸stır. ˙Iki a¸cık kaynak ger¸cek yazılım sisteminin uzaylarında yaptı˘ gımız deneyler genelle¸stirilmi¸s lineer regresyon modellerin g¨ uvenilir maliyet modelleri ke¸sfetmekte ba¸sarılı ve verimli olduklarını g¨ ostermi¸stir [9].
Reel maliyet fonksiyonlarını ke¸sfetmek i¸cin kullanılan Deney Tasarım (DoE) Teorisinde yer alan eleme tasarımları, savunma sanayiinden ila¸c sanayiine hizmet sekt¨ or¨ unden ¨ uretim sekt¨ or¨ une kadar bir¸ cok alanda, ¨ ur¨ unlerin ve hizmetlerin kalitesini etkileyen ba¸slıca fakt¨ orlerin bulunmasında ve optimize edilmesinde ba¸sarıyla kullanılmı¸stır [5]. Eleme tasarımlarının yazılım m¨ uhendisli˘ gi alanına uygulanabilirli˘ gi ara¸stırılmı¸s[6, 11]; sistem performansının modellenmesinde [2, 12] ve ileri seviyede konfig¨ ure edilebilir sistemlerde performans regresyon test- lerinin ger¸cekle¸stirilmesinde [19] kullanılmı¸stır.
3 Test Maliyetinin Otomatik Olarak Hesaplanması
Maliyetin g¨ uvenilir bir ¸sekilde hızlıca otomatik olarak ke¸sfedilmesi i¸cin geli¸stirilen y¨ ontemimiz, verilen bir konfig¨ urasyon uzayı ve bu uzayda y¨ ur¨ ut¨ ulmesi planlanan bir kalite g¨ uvencesi i¸si (¨ orne˘ gin; sistemin derlenmesi veya bir test durumunun ko¸sturulması) i¸cin eleme tasarımlarını kullanarak test maliyetlerine etkisi en ¸cok olan parametre kombinasyonlarını belirler ve bu kombinasyonları kullanarak bir maliyet modeli hesaplar. Bu maliyet modeli verilen bir konfig¨ urasyonda kalite g¨ uvencesi i¸sini y¨ ur¨ utmenin maliyetini tahmin etmek i¸cin kullanılır.
3.1 Onerilen Yakla¸ ¨ sım
Maliyet modelini tahmin etmek i¸cin ilk akla gelen y¨ ontem bahsi ge¸cen test i¸sini t¨ um konfig¨ urasyonlarda ¸ calı¸stırmak ve t¨ um bu maliyetleri kaydetmek olabilir.
Fakat bu her bir farklı konfig¨ urasyon i¸cin bir maliyet tanımlanması anlamına gelir ki konfig¨ urasyon sayısı parametre sayısı ile ¨ ussel bir ¸sekilde arttı˘ gından bu pratik de˘ gildir. Dolayısı ile bu muazzam b¨ uy¨ ukl¨ ukteki uzayı sistematik ve ekonomik bir
¸sekilde ¨ orneklendirebilecek ve aynı zamanda da uzaydaki t¨ um konfig¨ urasyonlarda yeterince do˘ gru maliyet tahminlerinde bulunabilecek bir y¨ onteme ihtiya¸ c vardır.
Bu bildiride ¨ onerilen y¨ ontem Deney Tasarım Teorisinin (DoE) [5] eleme
tasarımlarına dayanmaktadır. Eleme tasarımları ana amacı ¨ onemli d¨ u¸s¨ uk de˘ gerli
(1-li, 2-li, veya 3-l¨ u ¨ oyle ki k-lı etki k tane konfig¨ urasyon parametresinin aynı an-
daki etkile¸simi sonucunda olu¸san etkidir) etkileri bulmak olan olduk¸ ca ekonomik
tasarımlardır. ¨ Orne˘ gin, Apache web sunucusunu derleme i¸sinin maliyeti o sistem
derlenirken ge¸ cen zaman olsun: sistemin SSL ¨ ozelli˘ gi ile derlenmesi sisteme ekstra
bile¸senler ekleyece˘ ginden, SSL ¨ ozelli˘ gi 1-li (ana etki de denebilir) bir etki ola-
caktır. Benzer bir ¸sekilde, MySQL veritabanı sunucusunda bir test durumu hem
autocommit hem de innoDB ¨ ozellikleri varoldu˘ gunda daha uzun s¨ urebilir ¸c¨ unk¨ u
innoDB depolama motorunun performansı autocommit varoldu˘ gunda yava¸sla-
maktadır. innoDB × autocommit birlikte 2-li etkiye g¨uzel bir ¨ornektir.
Bu yakla¸sım, istatistikte sıklıkla kullanılan etkilerin seyrekli˘ gi prensibiyle (sparsity-of-effects principle) de uyumludur [5]. Etkilerin seyrekli˘ gi prensibi (ya- zılım testlerinin maliyeti konusuna uyarlandı˘ gında); test maliyetlerini, az sayıda parametre etkile¸simini i¸ceren az sayıda kombinasyonun belirledi˘ gini, geri kalan kombinasyonların maliyete olan etkisinin ise g¨ oz ardı edilebilece˘ gini ¨ ong¨ or¨ ur.
Bildirinin geri kalan kısmında maliyetleri belirleyen bu en ¨ onemli kombinasyonlar
¨
onemli kombinasyonlar olarak adlandırılmaktadır.
Bir konfig¨ urasyon uzayı modeli i¸cin hesaplanmı¸s eleme tasarımı, test mali- yetine en ¸ cok etkisi olan ¨ onemli kombinasyonların (parametre de˘ gerleri kombi- nasyonlarının) istatistiksel a¸ cıdan g¨ uvenilir (unbiased) bir ¸sekilde bulunmasına olanak sa˘ glayacak ¸sekilde se¸cilmi¸s bir konfig¨ urasyon k¨ umesi olu¸sturmaktadır.
3.2 Eleme Tasarımlarının Hesaplanması
Bu bildiride 2 de˘ gi¸sik eleme tasarımı kullanıldı: kesirli fakt¨ oriyel (fractional fac- torial) ve D-optimum (D-optimal) eleme tasarımları. Ayrıca, ¨ onerilen y¨ ontem tam (full) fakt¨ oriyel tasarımlarla kar¸sıla¸stırılmak suretiyle de de˘ gerlendirildi.
Tam fakt¨ oriyel tasarımlar konfig¨ urasyon uzaylarında yer alan olası t¨ um konfig¨ urasyonları i¸ceren tasarımlardır [5, 14]. ¨ Orne˘ gin, ikili de˘ geri olan n tane konfig¨ urasyon parametresine sahip bir uzayda tam fakt¨ oriyel tasarımın boyu 2
n(ki bu olası t¨ um konfig¨ urasyonların sayısıdır) olacaktır.
Kesirli fakt¨ oriyel tasarımlar ise tam fakt¨ oriyel k¨ umesinin dikkatlice se¸cil- mi¸s bir fraksiyonudur (1/2, 1/4, . . ., 1/2
pgibi) [5]. ¨ Orne˘ gin, ikili de˘ geri olan n tane konfig¨ urasyon parametreli bir uzayda tam fakt¨ oriyel tasarımın boyu 2
niken 1/2
pkesirine sahip bir kesirli fakt¨ oriyel tasarımın boyu 2
(n−p)olacaktır (p < n).
D-optimum Eleme Tasarımları ise belirli bir istatistik kriterine g¨ ore “op- timum” sonucu verecek ¸sekilde konfig¨ urasyon uzayını ¨ orneklendiren bilgisayar destekli eleme tasarımlarıdır [5]. Bu tasarımlar meta sezgisel arama y¨ ontemleri ile hesaplanır ve tam fakt¨ oriyel tasarımların m¨ ukemmel fraksiyonu olmak zorunda olmadıkları i¸cin genellikle kesirli fakt¨ oriyel tasarımlardan daha k¨ u¸c¨ ukt¨ urler.
3.3 Onemli Etkilerin Belirlenmesi ve Maliyet Fonksiyonu ¨
Bir eleme tasarımı yapıldıktan sonra, ki bu se¸cilmi¸s bir konfig¨ urasyon k¨ umesidir, belirlenen kalite g¨ uvencesi i¸si bu konfig¨ urasyonlar ¨ uzerinde ¸calı¸stırılır ve reel maliyetler her bir konfig¨ urasyon i¸cin ¨ ol¸ c¨ ul¨ ur. Ardından, ¨ ol¸ c¨ ulen reel maliyet- lerin analizi yapılarak maliyete en ¸ cok etkisi olan ¨ onemli kombinasyonlar ve bu kombinasyonların etkileri otomatik olarak hesaplanır. DoE, maliyetlere etki eden ¨ onemli kombinasyonların etkilerini g¨ orselle¸stirmek i¸cin yarı-normal olasılık grafikleri gibi g¨ orsel ara¸ clar da sunmaktadır. ¨ Onemli etkilerin yoklu˘ gunda, bu grafik y=0 yakınlarında bir do˘ gru ¸ cizgi ¨ uzerindeki noktalardan ibarettir ve bu
¸cizilen do˘ grudan ciddi ¸sekilde uzakla¸san etkiler ¨ onemlidir.
Onemli kombinasyonlar belirlendikten sonra, bu kombinasyonlar kullanılarak ¨
¨
onceden g¨ or¨ ulmemi¸s konfig¨ urasyonların maliyetlerinin tahmin edilebilmesi i¸cin
bir maliyet fonksiyonu hesaplanır. Bu fonksiyonu hesaplama y¨ ontemi olarak ise
Tablo 1. Apache ve MySQL sunucularının konfig¨ urasyon parametreleri.
Apache MySQL
no parametre de˘ gerleri no parametre de˘ gerleri
X1 authbasic {disable, enable} X1 charset {binary, armscii8}
X2 authdigest {disable, enable} X2 comment {disable, enable}
X3 cacheall {disable, enable} X3 debug-sync {disable, enable}
X4 cgid {disable, enable} X4 dependency-tracking {disable, enable}
X5 davall {disable, enable} X5 embedded-server {disable, enable}
X6 echo {disable, enable} X6 error-inject {disable, enable}
X7 example {disable, enable} X7 gnu-ld {disable, enable}
X8 include {disable, enable} X8 pthread {disable, enable}
X9 mpm {prefork, worker} X9 plugins {none, csv}
X10 proxyall {disable, enable} X10 shared {disable, enable}
X11 ssl {disable, enable}
X12 status {disable, enable}
g¨ ozlemlenen ger¸ cek de˘ gerlerle tahmin edilen de˘ gerler arasındaki farkın karesinin toplamını minimize eden standart en k¨ u¸ c¨ uk kareler metodu kullanılmı¸stır [17].
3.4 Ornek Senaryo ¨
Bu b¨ ol¨ umde MySQL ¨ uzerinde y¨ ontemimizi adım adım g¨ osteren bir ¨ ornek verece˘ giz:
1. Adım: Bir kalite kontrol (KK) i¸ si ve maliyetinin nasıl ¨ ol¸ c¨ ulece˘ gi belirlenir. Yazılım m¨ uhendisleri MySQL a¸cık kaynak kodunda bir test durumu se¸cerler ve maliyeti de bu test durumunun ¸ calı¸stırılma s¨ uresi olarak belirlerler.
2. Adım: Bir konfig¨ urasyon uzayı yaratılır. Yazılım m¨ uhendisleri Tablo 1 ’de verilen 10 tane konfig¨ urasyon parametresinin tanımladı˘ gı 2
10=1024 boyutlu konfig¨ urasyon uzayını olu¸stururlar.
3. Adım: ¨ Onemli kombinasyonların g¨ uvenli bir ¸ sekilde bulunabilece-
˘
gi bir eleme tasarımı hesaplanır. ¨ Once ¸c¨ oz¨ un¨ url¨ u˘ g¨ u V olan bir kesirli fakt¨ ori- yel tasarımı olu¸sturulur [5]. Bu senaryo i¸cin olu¸sturdu˘ gumuz kesirli fakt¨ oriyel tasarımında 128 konfig¨ urasyon vardır ki bu tam fakt¨ oriyel tasarımın 1/8’idir.
Ama bu da m¨ uhendislere b¨ uy¨ uk gelebilirse varsayılan (default) bir D-optimum tasarım olu¸sturulur ki bunun boyutu sadece 60’tır (bu tam fakt¨ oriyel tasarımın sadece %6’sı ve kesirli fakt¨ oriyel tasarımın da yakla¸sık olarak %47’sidir).
4. Adım: KK i¸ si se¸ cilen konfig¨ urasyonlarda ¸ calı¸ stırılır. Yazılım m¨ uhen- disleri D-optimum tasarımı se¸ cerler. Belirlenen KK i¸si, t¨ um 60 konfig¨ urasyonda
¸calı¸stırılır ve ¸calı¸sma zamanları konfig¨ urasyon bazında kayıt edilir.
5. Adım: ¨ Onemli kombinasyonlar tanımlanır. Deneylerin sonucunda ¨ u¸ c
tane ¨ onemli ana (1’li) kombinasyon, X8, X2 ve X10, ve ¨ u¸ c tane de ¨ onemli 2’li
kombinasyon, X2 ×X10, X8×X2, ve X8×X10, belirlenir. Bu senaryoda t¨um 2’li
kombinasyonlarda ge¸ cen parametreler aynı zamanda ¨ onemli ana kombinasyon-
larda da mevcuttur fakat bu durum her zaman b¨ oyle olmayabilir. Bu sonu¸clar
g¨ ostermektedir ki X8, X2 ve X10 parametreleri arasındaki 2’li etkile¸simler bu
parametrelerin tek ba¸slarına olu¸sturdukları etkilerden daha fazladır.
0 10 20 30 40 50 60 70
Absolute Contrast
X8
X10 X2 X2*X10
X8*X2 X8*X10
X8*X2*X10 X4*X1 X9*X3X1*X9
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Half Normal Quantile
S ¸ekil 1. ¨ Ornek senaryo i¸ cin yarı-normal olasılık grafi˘ gi (half normal probability plot).
Bu noktada yazılım m¨ uhendisleri sistem hakkındaki uzman bilgilerini kul- lanarak sonu¸ cları analiz edip, ¨ onemli parametreleri biraz daha kontrol etmek isterlerse, B¨ ol¨ um 3.3’de bahsi ge¸cen yarı-normal olasılık grafi˘ gi [3] gibi analiz teknikleri kullanabilirler. ¨ Orne˘ gin, S ¸ekil 1’de bizim bu ¨ ornek senaryo i¸cin olu¸s- turdu˘ gumuz yarı-normal olasılık grafi˘ gi de otomatik analizin sonu¸ clarını do˘ grular niteliktedir: 6 tane ¨ onemli kombinasyon tanımlanmı¸stır.
6. Adım: G¨ ozlemlenen de˘ gerlere uyan bir maliyet modeli hesa- planır. ¨ Onemli kombinasyonlar belirlendikten sonra sadece bu ¨ onemli etkiler- den olu¸san, eleme tasarımlarından olu¸sturulmu¸s g¨ ozlemlere g¨ ore hesaplanan bir maliyet modeli hesaplanır. S ¸ekil 2 bu ¨ ornek senaryo i¸cin hesaplanan maliyet fonksiyonunu g¨ ostermektedir. Bu modelin kesen de˘ geri 59.40 olup, ayrıca model her bir ¨ onemli parametre de˘ gerleri kombinasyonu i¸ cin de bir katsayı i¸cermektedir.
Katsayı pozitif ise o kombinasyon maliyeti arttırmaktadır, katsayı negatif ise de maliyeti azaltmaktadır. ¨ Orne˘ gin, bir konfig¨ urasyonda X8=1 ise, tahmin edilen maliyet 63 birim arttırılmaktadır. Aksi takdirde, 63 birim azaltılmaktadır.
S
¸ekil 2’deki modelin olu¸sturuldu˘ gu D-optimum tasarım veri k¨ umesi ¨ uzerinde test edildi˘ ginde modelin R-kare (B¨ ol¨ um 4.2) de˘ geri 0.938 olmaktadır.
7. Adım: Hesaplanan model maliyeti tahmin etmek i¸ cin kullanılır.
Daha ¨ onceden kar¸sıla¸sılmamı¸s yeni bir konfig¨ urasyon verildi˘ ginde, hesaplanan model bu test durumunu ko¸sturmanın maliyetini tahmin etmek i¸cin kullanılır.
Orne˘ ¨ gin, parametre de˘ gerleri, X8=1, X2=0, ve X10=1 (di˘ ger parametre de˘ gerleri
ne olursa olsun) olan bir konfig¨ urasyonun tahmin edilen maliyeti 59.4 + 63 +
20.86 − 20.54 + 21.08 + 21.37 − 20.03=145.14 birim olacaktır. Bu toplamdaki
terimler sırasıyla: kesen, 1-li kombinasyonların (X8, X2, ve X10) ve 2-li kombi-
nasyonların (X2 ×X10, X8×X2, ve X8×X10) katsayılarıdır.
maliyet(konfig) = 59.4+
{ konf ig.X8 = 0 ⇒ −63 konf ig.X8 = 1 ⇒ 63
} + { konf ig.X2 = 0 ⇒ 20.86
konf ig.X2 = 1 ⇒ −20.86 }
+
{ konf ig.X10 = 0 ⇒ 20.54 konf ig.X10 = 1 ⇒ −20.54
} +
konf ig.X2 = 0 ⇒
{ konf ig.X10 = 0 ⇒ −21.08 konf ig.X10 = 1 ⇒ 21.08
}
konf ig.X2 = 1 ⇒
{ konf ig.X10 = 0 ⇒ 21.08 konf ig.X10 = 1 ⇒ −21.08
}
+
konf ig.X8 = 0 ⇒
{ konf ig.X2 = 0 ⇒ −21.37 konf ig.X2 = 1 ⇒ 21.37
}
konf ig.X8 = 1 ⇒
{ konf ig.X2 = 0 ⇒ 21.37 konf ig.X2 = 1 ⇒ −21.37
}
+
konf ig.X8 = 0 ⇒
{ konf ig.X10 = 0 ⇒ −20.03 konf ig.X10 = 1 ⇒ 20.03
}
konf ig.X8 = 1 ⇒
{ konf ig.X10 = 0 ⇒ 20.03 konf ig.X10 = 1 ⇒ −20.03
}
S ¸ekil 2. Sadece ¨ onemli etkiler kullanılarak hesaplanan maliyet modeli.
4 Deneysel C ¸ alı¸ smalar ve Sonu¸ clarının Analizi
Onerilen y¨ ¨ ontemi de˘ gerlendirmek i¸ cin bir dizi deneylerde hesaplanan maliyet modellerinin ger¸cek maliyetleri tahmin etmedeki ba¸sarıları kar¸sıla¸stırıldı.
Onerilen y¨ ¨ ontem 3 de˘ gi¸sik kalite g¨ uvencesi i¸si kullanılarak de˘ gerlendirildi:
1. KK1: Sistemin kodunu derleme ve yapım i¸si; ¨ ozellikle s¨ urekli entegrasyon senaryolarında olduk¸ca ¨ onemlidir.
2. KK2: Tek bir test durumunun ko¸sturulması i¸si; ¨ ozellikle regresyon senary- olarında olduk¸ca ¨ onemlidir. Deneylerde Apache sunucusu i¸cin 242 adet ve MySQL sunucusu i¸cin 826 adet bu sistemleri geli¸stirilenler tarafından yazılmı¸s a¸ cık kaynak test durumu kullanılmı¸stır.
3. KK3: T¨ um test durumlarının ko¸sturulması i¸si; ¨ ozellikle g¨ unl¨ uk sistem yapımı senaryolarında olduk¸ca ¨ onemlidir.
Bu ¸ calı¸smanın amacı; belirlenen ¨ onemli parametre kombinasyonları kullanı- larak hesaplanan maliyet modellerinin ger¸cek maliyetleri tahmin etmedeki ba¸sa- rısının de˘ gerlendirilmesiydi. Bu ama¸c i¸cin; eleme tasarımları kullanılarak maliyet modelleri hesaplandıktan sonra bu modeller konfig¨ urasyon uzayındaki b¨ ut¨ un konfig¨ urasyonların maliyetlerinin tahmin edilmesi i¸cin kullanıldı.
C ¸ alı¸smada dikkat edilen di˘ ger bir husus ise maliyeti modelleyen fonksiyon-
ların terim sayılarının tahminlerin do˘ grulu˘ gunu etkilemeden azaltılmasıydı. Bu
sebeple her bir tasarımdan t¨ um 1-li ve 2-li etkileri kullanan (T¨ umEtkiler) ve
sadece eleme tasarımı sonucunda bulunan ¨ onemli 1-li ve 2-li etkileri kullanan
( ¨ OnemliEtkiler) 2 t¨ ur model olu¸sturuldu. T¨ umEtkiler modellerinin terim sayısı 12 parametreli uzayda Apache i¸cin 79 ve 10 parametreli uzayda MySQL i¸cin 56 iken, ¨ OnemliEtkiler modellerinin ortalama terim sayısı Apache i¸cin 3.58 ve MySQL i¸cin 3.62 oldu. E˘ ger her iki model t¨ ur¨ u de benzer tahminler ¨ uretirse tabii ki de ¸ cok daha az terime sahip ¨ OnemliEtkiler modelleri tercih edilecektir.
4.1 C ¸ alı¸ sma Kurulumu
Deneylerde y¨ uksek derecede ¨ ozelle¸stirilebilen ger¸cek yazılım sistemleri olan Apache v2.2 ve MySQL v5.1 sunucuları kullanıldı. Bu yazılım sistemlerindeki ¸cok sayıda konfig¨ urasyon parametrelerinden se¸ ctiklerimiz Tablo 1’de verilmi¸stir. Bu ¸calı¸smada nispeten az sayıda (10 ve 12) konfig¨ urasyon parametresi kullanılmasının nedeni eleme tasarımlarını aynı uzaydaki tam fakt¨ oriyel tasarımlarıyla kar¸sıla¸stırılması i¸cindir. Deneylerde kullanılan Tablo 1’de 12 ve 10 tane konfig¨ urasyon parame- tresi, sırasıyla 2
12ve 2
10konfig¨ urasyondan olu¸san uzayları tanımlarlar. Eleme tasarımlarını hesaplamak i¸ cin JMP istatistik yazılım paketi kullanıldı [13].
4.2 De˘ gerlendirme Kriterleri
Ol¸c¨ ¨ um metrikleri olarak istatistik bilimlerinde R-kare (R
2) olarak bilinen belir- leme katsayısı (coefficient of determination) ve CV(RMSE) olarak bilinen k¨ ok ortalama kare hatasının (Root Mean Square Error: RMSE) varyasyon katsayısı (coefficient of variation: CV) kullanıldı [14, 17].
R
2= 1 −
∑
i
(c
i− ˆc
i)
2∑
i
(c
i− ¯c)
2, (1)
R
2ne kadar 1’e yakınsa o model o kadar iyidir.
CV (RM SE) = RM SE
¯
c , (2)
RM SE =
√∑
ni=1