• Sonuç bulunamadı

Fourier Açlm Yöntemiyle Mutant Seçimi

N/A
N/A
Protected

Academic year: 2021

Share "Fourier Açlm Yöntemiyle Mutant Seçimi"

Copied!
11
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Fourier Açlm Yöntemiyle Mutant Seçimi

Sava³ Takan ve Tolga Ayav

zmir Yüksek Teknoloji Enstitüsü Bilgisayar Mühendisli§i Bölümü, Urla, zmir.

{savastakan,tolgaayav}@iyte.edu.tr

Özet. Mutasyon analizi, devre ve yazlm testlerinde test kümelerinin etkinli§inin ölçülmesinde yaygn olarak kullanlan bir tekniktir. Buna göre, orijinal model belirli hata varsaymlar altnda sistematik olarak mutasyona u§ratlr ve testlerin bu yaratlan mutantlarn ne kadarn öldürdü§ü kontrol edilir. Mutasyon analizinin hesaplama yo§unlu§u ge-nellikle mutant saysnn çok fazla olmas nedeniyle yüksektir. Mutasyon analizinde her bir mutantn hata kapsama oran bakmnda e³de§er ol-du§u varsaylr, ancak durum her zaman böyle de§ildir. Bu çal³ma Bo-olean i³levlerinin Fourier analizine dayanan bir mutant seçim yöntemi önermektedir. Fourier, i³levin çk³ üzerinde en fazla etkisi olan geçi³-leri belirleyerek bu geçi³lerle ilgili olan mutantlarn seçilmesine yardmc olur. Çal³mada, Fourier dönü³ümü kullanlarak i³levin çk³ üzerinde en fazla etkiye sahip oldu§u tespit edilen bölgeler, literatürde yer alan mutant analiz yöntemleri ile kar³la³trlm³tr.

Anahtar Kelimeler: Mutasyon Analizi, Sonlu durum makinesi, Fourier dönü³ümü, W yöntemi

Mutant Selection Using Fourier Expansion

Sava³ Takan and Tolga Ayav

zmir Institute of Technology Dept. of Computer Engineering, Urla, zmir

{savastakan,tolgaayav}@iyte.edu.tr

Abstract. Mutation analysis is a widely used technique to evaluate the eectiveness of a test suite in both hardware and software testing. The original model is mutated systematically under certain fault assumptions and test cases are checked against the created mutants whether the test cases kill them or not. Mutation analysis is a computationally-intensive task, particularly in Finite State Machine (FSM) testing due to a pos-sibly huge amount of mutants. Mutation analysis usually assumes that each mutant is identical in terms of its fault detection eectiveness, which is not always the case. This study proposes a mutant selection method based on Fourier analysis of Boolean functions. Fourier helps to deter-mine the most eective transitions on the output so that the mutants related to those transitions can be selected. The regions that are found to be the most inuential are veried with the existing mutation analysis

(2)

methods.

Keywords: Mutation Analysis, Finite State Machine, Fourier transfor-mation, W method

1 Giri³

Yazlm testlerinde öne çkan ara³trma konularndan biri de test kümesi üretil-mesinde kullanlan biçimsel modellerdir [6,9]. Bu modeller (FSM, Petri Net ve UML) ile olu³turulan testlerin etkinli§ini ölçmek için genellikle mutasyon ana-lizinden yararlanlmaktadr [14]. Mutasyon analizi kullan³l bir teknik olmakla birlikte, çok fazla sayda mutant üretilmesi nedeniyle zaman ve alan karma³kl§ konusunda sorunlara sahiptir [11].

Literatürde mutasyon analiziyle ilgili çok fazla çal³ma bulunmamaktadr. Konuyla ilgili çal³malarda genellikle, mutant olu³turmak için operatörler geli³-tirilmi³tir [15,10]. Fakat geli³tirilen operatörlerle mutant olu³turulmas, büyük modellerde zaman ve alan açsndan problemlere neden olmaktadr.

Bu makalenin amac, mutasyon analizinde zaman ve alan karma³kl§n azal-tarak, mutasyon analizini daha verimli hale getirmektir. Buradan hareketle ça-l³mada, modelin bütünü yerine, önemli varsaylan bölgelerini kontrol edebilecek ve bunun sonucunda verimde art³ sa§layabilecek bir yöntem önerilmi³tir.

Test sonucuna etki etme oran en fazla olan bölgelerin, hata olu³masna en uygun bölgeler oldu§u varsaylm³tr. Çal³ma yöntemi olarak öncelikle, Fourier dönü³ümü kullanarak, modelin sonucuna en fazla etki eden bölgeler belirlen-mi³tir. Böylece bütün bir model yerine, tespit edilen bölgelerden yola çklarak mutantlar olu³turulmu³tur.

Önerilen yöntemi test etmek üzere, iki adet mutant kümesi olu³turulmu³tur. lk kümede, literatürde yer alan geçi³ yönünün de§i³tirilmesi, geçi³ eksikli§i, girdinin de§i³imi ve çktnn de§i³imi gibi mutasyon operatörleri kullanlarak, modelin tamamndan mutantlar olu³turulmu³tur. Di§er kümede ise literatürde yer alan geçi³ yönünün de§i³tirilmesi, geçi³ eksikli§i, girdinin de§i³imi ve çk-tnn de§i³imi gibi mutasyon operatörleri kullanlarak, Fourier dönü³ümü ile sonuca en fazla etki etti§i tespit edilen bölgelerden mutantlar olu³turulmu³tur. Son olarak bu iki küme, W metoduyla olu³turulan test kümeleriyle analiz edil-mi³tir. Test kümesi üretme arac olarak W metodun kullanlmasnn nedeni, bu metodun literatürde yer alan oparatörlerle yaratlm³ tüm mutantlar yakalaya-bilme özelli§idir [8]. Mutant kümelerinin, W metodu ile test edilmesinden çkan sonuçlar grak ve T-Test kullanlarak de§erlendirilmi³tir.

Çal³mada Bölüm 2'de, Mutasyon Analizine de§inilmi³tir. Bölüm 3'te, Sonlu Durum Makinesi Testleri açklanm³tr. Daha sonra Bölüm 4'te, W Yöntemi incelenmi³tir. Devamnda Bölüm 5'te, makalenin ana konusu olan Fourier Açlm Yöntemiyle Mutant Yaratlmas ele alnm³tr. Son olarak Bölüm 6'da, elde edilen veriler test edilerek, de§erlendirilmi³tir.

(3)

2 Mutasyon Analizi

Mutasyon analizi, test faaliyetlerini desteklemek için yapay hatalar kullanma krinden yola çkmaktadr [13]. Mutasyon, tipik olarak test takmlarnn yeterli-li§ini de§erlendirmek, test senaryolarnn olu³turulmasna rehberlik etmek ve de-neyleri desteklemek için kullanlmaktadr [16]. Mutasyon analizi, tipik program-lama hatalarn temsil eden orijinal programda basit sözdizimsel modikasyonlar (mutantlar) üretir [2]. Örne§in, bir mutasyon operatörü, orijinal programdaki bir aritmetik operatörünü, ba³ka bir operatörle de§i³tirir; e§er bir test kümesi bir mutant orijinal programdan ayrabilirse, mutantn öldürüldü§ü söylenir. Aksi taktirde, mutanta canl mutant denir. Bir mutant canl kalabilir, çünkü orijinal programa e³de§erdir veya test kümesi mutant öldürmek için yetersizdir. E§er bir test kümesi yetersizse, e³de§er olmayan canl mutant öldürmek için test senaryo-lar eklenerek iyile³tirilebilir. Mutasyon analiziyle bir test kümesinin yeterlili§i, öldürülen mutant saysnn, e³de§er olmayan mutant saysna oranyla belirlenir. Bu oran ayn zamanda mutasyon skoru olarak da adlandrlr.

Mutasyon analizi programlardaki küçük de§i³ikliklerin karma³k hatalar or-taya çkarmak için yeterli oldu§unu varsaymaktadr. Mutasyon analizi sadece program kodunda de§il ayn zamanda tasarm modellerinde, sistem özellikleri ve sistem arayüzlerinde de kullanlm³tr.

FSM'ler (Sonlu Durum Makinesi) test edilirken, sklkla mutasyon analiz tek-ni§i tercih edilmektedir. Ancak literatüre bakt§mzda, FSM'nin mutasyon ana-lizi ile ilgili çok az yayn bulundu§u tespit edilmi³tir. Test kümesini kapsamas bakmndan, mutantlarn her biri ayn önem derecesine sahip de§ildir. Bu çal³-mada, çk³ ve durum de§erlerinde hata olma oran en yüksek bölgelerin, mu-tantlar olu³turularak analiz edilmesi amaçlanm³tr.

2002 ylndaki bir makalede [15] ifade edildi§i üzere, mutasyon operatörleri ³öyledir: Geçi³ eksikli§i, hatal ba³langç durumu, çktnn de§i³mesi, fazladan durum, çktnn eksikli§i, çktnn fazlal§, durum eksikli§i, durumun de§i³mesi. 2009 ylndaki bir ba³ka makaleye göreyse [10] ise mutasyon operatörleri ³u ³e-kildedir: Geçi³in yönünün de§i³mesi, geçi³in yok olmas, geçi³in tekrarlanmas, girdinin de§i³mesi, girdinin eksikli§i, çktnn de§i³mesi, çktnn yok olmas, çk³ durumunun de§i³mesi, çk³ durumunun tekrar, ba³langç durumunun de§i³mesi, ba³langç durumunun tekrar. Bildi§imiz kadaryla, sonraki yllarda bu konuda kapsaml bir çal³ma bulunmamaktadr.

3 Sonlu Durum Makinesi Testi

Sonlu durum makinesi (FSM) modeli, ayrk giri³ ve çk³lara sahip matematik-sel bir modeldir. Bu model donanm ve yazlm sistemlerinin modellenmesinde kullanlr. Yazlm ve donanm sistemlerinin örnekleri metin editörü, derleyiciler ve senkron ard³k devrelerdir. Saysal bilgisayarlar da bu modele uygun sistem-ler olarak görülebilir. Bu nedenle, bilgisayar bilimi ve mühendisli§i için sonlu durumlu makineleri önemli bir modeldir [3,7,4].

Bir sonlu durum makinesi M = hI, O, S, f, g, σi 6-ls' ndan olu³ur. Burada I, giri³ sembolleri sonlu kümesini; O, çk³ sembolleri sonlu kümesini; S, sonlu

(4)

durumlar kümesini; f: S × I → S bir sonraki durumu belirleyen geçi³ fonksiyo-nunu; g: S × I → O, çk³ fonksiyonunu ve σ ise makinenin ba³langç durumunu göstermektedir.

Hem devreleri hem de yazlm temsil eden biçimsel bir modelleme tekni§i olarak Sonlu Durum Makinesi (FSM), testlerde yaygn olarak kullanlmaktadr. FSM testi yaygn olarak çal³lan bir konudur ve literatürde W, Wp, UIO, UIOv, DS, HSI ve H gibi birçok test kümesi üretme yöntemi bulunmaktadr.

Test ile ilgili baz önemli tanmlar a³a§da verilmi³tir.

Test Durumu: Belirli bir program yolunu çal³trmak ya da bir gereksinim ile uyumlulu§unu do§rulamak gibi belirli bir amaç veya test ko³ulu için geli³tiri-len, bir dizi girdi de§eri, test öncesi yürütülmesi gereken önko³ullar, test sonras olu³mas beklenen sonuçlar ve ko³ullar bütünü.

Test Kümesi: Bir sistem veya bile³eni test etmek için olu³turulmu³ test senaryolar kümesi. Öyle ki, bir test durumu için art ko³ul olan bir durum bir di§eri için ön ko³uldur.

Di§er yandan, yazlm çe³itlili§i ve boyutundaki art³, testlerde arza tes-pit oran, arza ortaya çkarma potansiyeli, test paketi boyutu, test durumu uzunluklar ve test için harcanan süre gibi konularda, daha iyi test paketleri üretilebilmesini gerektirmektedir.

Proje kapsamnda, sonlu durum makinelerinin testinde W metodun tercih edilmesinin nedeni; yukarda ifade edilen hemen hemen tüm test üretme yön-temlerinde bu metodun de§i³tirilmi³ biçimlerde kullanlyor olmasdr[11]. Ayn zamanda W metot, olu³turulabilecek tüm mutantlar yakalayabilecek yapya sa-hiptir. Bu sayede, standart biçimde olu³turulan mutantlarla, Fourier dönü³ümü kullanlarak olu³turulan mutantlar, W metodu tarafndan olu³turulan test kü-mesini kapsamas bakmndan, kyaslama imkan elde edilmi³tir.

Çal³ma kapsamnda yer verilecek örneklerin FSM'si “ekil 1'de verilmi³tir:

S1 S2 S4 S3 y/0 x/1 y/1 y/0 x/1 y/0 x/1 x/0 “ekil 1. örnek FSM

(5)

4 W Yöntemi

W yöntemi, olu³turulabilecek tüm mutantlar yakalayabilecek yapya sahiptir [8]. Bu sayede, bütün modelden olu³turulan mutantlarla, Fourier dönü³ümü kulla-nlarak olu³turulan mutantlar, W metodu tarafndan olu³turulan test kümesini kapsamas bakmndan, kyaslanm³tr.

Tablo 1'de, literatürde yaygn olarak kullanlan baz test üretme metotlarnn hata yakalama kapasiteleri bakmndan kar³la³trlmas verilmi³tir. “ekil 2'de ise ayn metotlarn, hata yakalama kapasitesi ile test kümesi uzunluklarnn kar³-la³trlmas yer almaktadr.

Tablo 1. Test Üretme Metotlarnn Hata Yakalama Kapasitesi [8] Çk³ Hatalarn Yakalama Geçi³ Hatalarn Yakalama Yeni Durum Hatalarn Yakalama Eksik Durum Hatalarn Yakalama

Transition Tour Her Zaman - -

-DS-Method Her Zaman Her Zaman - Her Zaman

W-Method Her Zaman Her Zaman Her Zaman Her Zaman

UIO-Method Her Zaman Yakla³k Yakla³k Yakla³k

TT UIO UIOv

DS WWp

Hata yakalama kapasitesi Test kümesi uzunlu§u 0

0

“ekil 2. Test Üretme Metotlarnn Hata Yakalama Kapasitesi ile Test Kümesi Uzun-lu§unun Kar³la³trmas [8]

W yöntemi, iki ana bölümden olu³maktadr. Bunlar, sonraki durumu test et-meye yarayan W-set bölümü ve iki durum arasndaki geçi³i test etet-meye yarayan geçi³ kapsama kümesi(GKK)'dir.

Bu çal³mada, sonraki durumu test etmek üzere W-set bölümü oldu§u gibi kullanlm³tr. “ekil 1'deki örnek FSM'den olu³turulan W-set, ³öyledir: {yy, y, x}.

Geçi³ kapsama kümesi, tüm geçi³leri ziyaret etmek amacyla yaratlr. Bunu yapmak için çizgeden a§aç elde edilir. Bu a§acn bütün uçlarna giden yollar bulunur. Bu yollarn girdi de§erleri kümesi, geçi³ kapsama kümesini olu³turur. Bu çal³mada, geçi³ kapsama kümesinin azaltlmas hedeenmi³tir. “ekil 1'deki

(6)

örnek FSM'den olu³turulan geçi³ kapsama kümesi, ³öyledir: {x, y, xx, xy, yx, yy, yyx, yyy}. W yöntemince test kümesi, GKK ile W-set'in çarpmndan olu³mak-tadr:

W M etodu = GKK × W set = {x, y, xx, xy, yx, yy, yyx, yyy} × {yy, y, x} = {xyy, xy, xx, yyy, yy, yx, xxyy, xxy, xxx, xyyy, xyy, xyx, yxyy, yxy, yxx,

yyyy, yyy, yyx, yyxyy, yyxy, yyxx, yyyyy, yyyy, yyyx}

5 Fourier Açlm Yöntemiyle Mutant Yaratma

Zaman ve alan karma³kl§n azaltarak, mutasyon analizini daha verimli hale getirmek amacyla çal³mada, modelin bütününden mutant olu³turmak yerine, önemli varsaylan bölgelerinden mutant yaratlarak; verimde art³ sa§layabilecek bir yöntem önerilmi³tir. Bu amaç do§rultusunda, modelin sonucuna etki etme oran en fazla olan bölgelerin hata olu³ma ihtimali en yüksek bölgeler oldu§u var-saymyla, modeldeki geçi³ler önceliklendirilmi³tir. Buradan hareketle öncelikle, Fourier dönü³ümü kullanlarak, modelin sonuca en fazla etki eden bölgeleri tespit edilmi³tir. Böylece bütün bir model yerine, tespit edilen bölgelerden mutantlar üretilmesi hedeenmi³tir.

Mutasyon analizinde, iki adet mutasyon kümesi olu³turulmu³tur. lk kümede, bütün modelden mutantlar olu³turulmu³tur. Di§er kümede ise Fourier dönü³ümü ile tespit edilen ve sonuca en fazla etki eden bölgelerden mutantlar olu³turulmu³-tur. Son olarak bu iki yöntem, W metoduyla olu³turulan test takmlaryla analiz edilmi³tir. Bu sayede sonuca en fazla etki eden bölgeler, ba³armda önemli bir dü³ü³ olmadan, daha az sayda mutantla analiz edilebilmi³tir.

5.1 Fourier Analizi

Bu bölümde, ikili i³levlerin Fourier analizinin temel kavramlar tantlmaktadr. Her ne kadar ikili i³levlerin Fourier analizi, son on ylda matematik ve mühen-dislik alannda ilgi çekici bir konu olmasna ra§men, henüz çok az pratik uygu-lamaya sahiptir. kili i³levler genellikle f : Bn → B olarak ifade edilir. Burada

B = {Do§ru, Yanl³}'dr. Fourier analizinin bir gere§i olarak, Do§ru ve Yanl³ yerine, genellikle -1 ve 1 de§erleri kullanlmaktadr (f : {−1, 1}n → {−1, 1}).

Analize ili³kin temel tanm ve teoremler kantlar olmakszn a³a§da verilmi³tir. Di§er teoremler, kantlar ve örnekler için okuyucu O'Donnell [12] ve Wolf'un [5] çal³malarna bakabilir.

Teorem 1 (Fourier Açlm). Her bir fonksiyon f : {−1, 1}n → R Fourier

açlm ile benzersiz bir ³ekilde ifade edilebilir. f (x) =P

S⊆[n]f (S)χˆ S

Burada ˆf (S)Fourier katsaylarn, χS =Qi∈Sxi ise Parity fonksiyonunu ifade

(7)

Tanm 1 (ç Çarpm). ç çarpm a³a§daki formülle bulunur: < f, g >=

P

x∈{−1,1}nf (x)g(x)

2n

Fourier katsaylarysa a³a§daki gibi hesaplanr: ˆ

f (S) =< f, χS >

A³a§da basit bir ikili i³lev üzerinden Fourier açlmnn nasl hesapland§ gös-terilmektedir. ³levimiz a³a§daki gibi olsun:

f = a ∨ b ∧ c

f'in do§ruluk yöneyinin a³a§daki gibi oldu§u kolayca görülebilir (Y yanl³, D do§ruyu temsil etmektedir):

[Y Y Y D D D D D]

³levin Fourier açlm ³u ³ekilde yazlabilir:

f = ˆf (∅) + ˆf (1)a + ˆf (2)b + ˆf (3)ab + ˆf (4)c + ˆf (5)ac + ˆf (6)bc + ˆf (7)abc

Tanm 1 uyarnca, ilk Fourier katsays ˆf (∅)a³a§daki ³ekilde hesaplanr: ˆ

f (∅) = 1

23(1 + 1 + 1 − 1 − 1 − 1 − 1 − 1) = 0.25

Benzer ³ekilde ikinci katsay a³a§daki gibi bulunur: ˆ

f (1) = 1

23(1 · 1 + 1 · 1 + 1 · 1 − 1 · 1 − 1 · −1 − 1 · −1 − 1 · −1 − 1 · −1) = 0.75

Tüm katsaylar hesapland§nda Fourier açlm a³a§daki ³ekilde elde edilmi³ olur:

f = 0.25 + 0.75a + 0.25b + 0.25ab + 0.25c + 0.25ac − 0.25bc − 0.25abc

Yukarda olu³turulan f fonksiyonuna bakld§nda, katsays en yüksek bile-³enlerin, fonksiyonu en fazla de§i³tirme özelli§ine sahip oldu§u görülmektedir. Bu açdan, fonksiyonda yer alan katsays yüksek bile³enler, hata olu³ma ihtima-linin yüksek oldu§u bölgelere i³aret etmektedir.

5.2 Önerilen Algoritma

Fourier dönü³ümü ikili i³levler üzerinde tanml oldu§undan, FSM öncelikle bu forma dönü³türülür. Bu dönü³üm, temelde durumlarn (state) ikili kodlanma-sndan ibarettir. Örne§in S1, 00 olarak, S2, 01 olarak ve giri³ler x ile y, 1 ve 0 olarak kodlanabilir.

(8)

Çk³ i³levi Denklem 1'deki gibidir. Çk³ i³levi, girdilerden ve durumlardan olu³mu³tur.

O = ( ¯S1∧ ¯S2∧ X) ∨ ( ¯S1∧ S2∧ X) ∨ ( ¯S1∧ S2∧ ¯X) ∨ (S1∧ S2∧ X) (1)

Do§ruluk tablosu çk³ i³levi kullanlarak elde edilir. Giri³ler ve durumlar, Fourier katsaylarn elde etmek için kullanlr. Fourier açlm Denklem 2'de verilmi³tir: O = 0 − 0.5S1+ 0.5S2+ 0 + 0.5X + 0 + 0 + 0.5S1S2X (2)

Örnekte görüldü§ü gibi, baz katsaylar sfrdr. Bu, ilgili bile³enlerin fonksiyon üzerinde etkisi olmad§n belirtmektedir. Bu bile³enlerle ilgili olan test senaryo-larn silmek, test kümesi boyutunu ve test kümesi maliyetini azaltr. Bu nedenle bir e³ik de§er belirlenerek e³i§in altnda kalan bile³enler ihmal edilir. Testlerin belirlenmesinde ve test senaryo saysnn azaltlmasnda rol oynayan iki para-metre belirlenmi³tir. lk parapara-metre, Fourier açlmndan kaç bile³enin alnaca§; ikinci parametre ise kaç geçi³in alnaca§dr.

Parametrelerin Fourier açlmna uygulanmasyla, baz bile³enler ihmal edilir ve bunun sonucunda O fonksiyonu Denklem 3'te görüldü§ü ³ekle indirgenir.

O = 0.5S1+ 0.5S2+ 0.5X + 0.5S1S2X (3)

Denklem 3'te gösterildi§i gibi, katsaylar belirlendikten sonra uygun geçi³ler seçilir. Tablo 2'de ilgili algoritmalar çal³trldktan sonra seçilmi³ olan geçi³ler gösterilmektedir.

Tablo 2. Bütün terimler tek tek geçi³lere uygulandktan sonra seçilmi³ olan geçi³leri göstermektedir. S1 S2 X S1 S2 Output 0 0 0 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 0 0 1 0

Fourier terimleriyle ilintili geçi³leri seçmek için iki algoritma geli³tirilmi³tir. lk algoritmada, kullanc tarafndan verilen birinci ve ikinci parametre de§erle-rine göre, kaç adet terim ve kaç adet geçi³ olaca§nn belirlenmesi sa§lanm³tr.

Di§er algoritma ise, Fourier de§i³kenlerini bir ³ablon olarak alr. Geçi³in uy-gun olup olmad§, bu ³ablondan kontrol edilir. Desen bir ise ve herhangi bir de§i³iklik yoksa, program yanl³ döner. Di§er yandan, e§er desen sfr ise ve bir de§i³iklik varsa, program yine yanl³ döner. Programn sonunda do§ru döner.

(9)

Sadece seçilen geçi³lerin mutasyona u§ratlmasyla elde edileceke mutant sa-ysnda önemli azalma sa§lanr. Böylelikle mutasyon analizinin hesaplama yü-künün azalmas beklenir. Bunun yan sra, performans olarak di§er mutasyon analiz operatörlerinden daha yüksek ba³arm elde edilmi³tir.

6 De§erlendirme

Literatürde varolan mutasyon analizi ile çal³mada önerilen mutasyon analizi, W metodun verdi§i sonuçlara baklarak kar³la³trlm³ ve önerilen mutasyon analizinin ba³arm gözlenmi³tir.

Literatürde varolan mutasyon kümesiyle ile çal³mada önerilen mutasyon kü-mesinin kar³la³trlmasnda, geçi³ yönünün de§i³tirilmesi, geçi³ eksikli§i, gir-dinin de§i³imi ve çktnn de§i³imi hata snarna göre mutantlar üretilmi³tir. Bu çal³mada, bir test kümesinin belirli bir hedefe uygun olarak azaltlmas önerilmektedir. Ancak geçerlilik tehdidi açsndan, test kümesindeki bu azalma-nn istenen sonucu veremedi§i durumlar olabilir. Ba³ka bir deyi³le, çkty en çok etkileyen yol kavram her durumda geçerli olmayabilir. De§erlendirme so-nuçlar olumlu görünse de, bu tehdidi ortadan kaldracak formel bir yakla³m veya kant bu çal³mada geli³tirilmemi³tir.

FSM'ler, KISS Generator 0.8 [1] program ile, durum, çkt ve giri³ de§erleri ayr ayr de§i³tirilerek rastgele üretilmi³tir. Her bir FSM 5'er defa üretilmi³ ve çkan de§erlerin ortalamas alnarak test sonucu elde edilmi³tir. Bu i³lem 300 defa tekrarlanm³tr. Yani, toplamda 1500 adet FSM yaratlm³tr. Literatüre bakld§nda, çal³mada yaratlan FSM miktarnn, geçerlilik tehdidi olu³turma-d§ görülmektedir. Benzer ³ekilde, de§erlerin rastgele olu³turulmas da bir di§er geçerlilik tehdidini ortadan kaldrmaktadr.

FSM'ler, W metodunun gerektirdi§i ³ekilde indirgenmi³, deterministik, tam ba§ntl ve tam belirtilmi³'tir. Burada, kar³la³trma kriterlerinin tamamnn kul-lanld§ üç adet gra§e yer verilmi³tir.

100.6 100.8 101 101.2 101.4 100.8 101 101.2 Durum T est Sa ys / Mutan t Sa ys F-Mutasyon Standart 101 102 100.7 100.8 100.9 101 Girdi T est Sa ys / Mutan t Sa ys F-Mutasyon Standart 100.2 100.4 100.6 100.8 101 101.2 101.4 100.5 100.6 100.7 100.8 Çk³ T est Sa ys / Mutan t Sa ys F-Mutasyon Standart

“ekil 3. Durumun, Girdinin, Çk³n De§i³imine Göre Test Says / Mutant Says

“ekil 3'ün sol paneline bakld§nda, standart ve önerilen yöntemlerin mu-tant ba³na kapsanan test says duruma ba§l olarak paralel de§i³ti§i ancak önerilen yöntemin ba³armnn daha yüksek oldu§u görülmektedir.Burada bak-lan ana nokta, her bir mutantn kapsad§ test saysdr. Yani önerilen yöntem,

(10)

daha fazla testi kapsamaktadr. Bu da önemli oranda verim art³ sa§lam³tr. “e-kil 3'ün ikinci ksmna bakld§nda, de§erlerin baz noktalarda paralel olmad§ görülmektedir. Genel olarak, önerilen metodun graksel ba³arm daha yüksek-tir. Yani önerilen metot, standart metoda göre daha fazla testi kapsamaktadr. Gra§in ilk yarsnda, önerilen metodun pik yapt§ dikkat çekmektedir. Gra-§in yarsnda ise önerilen metot ile standart metot hemen hemen ayn noktada yer almaktadr. Ancak gra§in devamnda ve genelinde, önerilen metodun, stan-dart metoda göre daha fazla testi kapsad§n söylemek mümkündür. “eklin son ksmndaysa, de§erlerin genellikle paralel oldu§u görülmektedir. Çk³ de§i³imi bakmndan, önerilen metodun graksel ba³arm daha yüksektir. Dolaysyla gra§in genelinde, önerilen metodun ba³arm, standart metoda göre daha yük-sek sonuçlar vermi³tir.

7 Sonuç

Çal³mada, devre ve yazlm testlerinde yaygn kullanma sahip bir analiz tekni§i olan mutasyon analizi için mutant kümesinin küçültülmesine yönelik bir yön-tem geli³tirilmi³tir. Bunun nedeni, FSM (Sonlu Durum Makinesi) test edilirken kullanlan mutasyon analiz yöntemlerinin, çok fazla mutant olu³turmasdr. Bu problemden yola çkarak projede, çk³ ve durum de§erlerinde hata olma oran en yüksek bölgelerin, mutantlar olu³turularak analiz edilmesi amaçlanm³tr. Çal³-mada, test sonucuna etki etme oran en fazla olan bölgelerin, hata olu³masna en olas bölgeler oldu§unu varsaylm³tr.

Buradan hareketle öncelikle, Fourier dönü³ümü kullanarak modelin sonuca en fazla etki eden bölgeleri tespit edilmi³tir. Böylece bütün bir model yerine, tespit edilen bölgelerden yola çklarak mutantlar olu³turulmu³tur. Bu sayede, her bir geçi³ için yaplmas gereken de§i³iklikler, yalnzca Fourier dönü³ümünün seçti§i geçi³ler üzerinden yaplm³ ve kapsama oran artrlm³tr. Bunun sonucunda mutant says azalm³tr.

Önerilen mutasyon analizini test etmek üzere, iki adet mutasyon kümesi ya-ratlm³tr. lk kümede, standart mutant analiz prosedürü takip edilmi³tir. Di§er kümede ise Fourier dönü³ümü ile tespit edilen ve sonuca en fazla etki eden böl-gelerden elde edilen mutantlarla analiz yaplm³tr. Son olarak bu iki yöntem, W metot ile olu³turulan test takmlaryla, mutasyon analizlerinin kapsama alan-lar bakmndan kar³la³trlm³tr. Test kümesi üretme arac olarak W metodun kullanlmasnn nedeni, bu metodun varolan tüm mutantlar yakalayabilme özel-li§idir.

Literatürde varolan standart mutasyon analiz yöntemleri ile çal³mada öne-rilen mutasyon analiz yöntemi, geçi³ yönünün de§i³tirilmesi, geçi³ eksikli§i, gir-dinin de§i³imi ve çktnn de§i³imi snarna göre yaplm³tr. Kar³la³trmada önemsenen nokta, her bir mutantn kapsad§ test saysdr. Çal³mada, kar³la³-trma kriterlerinin tamamnn kullanld§ üç adet gra§e yer verilmi³tir.

Sonuca en fazla etki eden bölgeler, daha az sayda mutantla ve daha yük-sek ba³armla analiz edilebilmi³tir. Bunun sonucunda, mutan says azalmasna ra§men, mutantn test kapsama oran açsndan daha iyi bir sonuç elde

(11)

edilmi³-tir. Sonuç olarak, önerilen mutasyon analiz yöntemi, önemli oranda verim art³ sa§layarak, standart metotlara oranla daha iyi ba³arm göstermi³tir.

Kaynakça

1. KISS Generator 0.8, https://ddd.t.cvut.cz/prj/Circ_Gen/index.php?page=kiss 2. Aichernig, B.K., B, M.T.: Learning from Faults : Mutation Testing in Active

Auto-mata Learning (2017). https://doi.org/10.1007/978-3-319-57288-8

3. Belli, F., Beyazt, M., Endo, A.T., Mathur, A., Simao, A.: Fault domain-based testing in imperfect situations: a heuristic approach and case studies. Software Quality Journal 23(3), 423452 (2015)

4. Damasceno, Carlos Diego Nascimento ve Masiero, P.C.v.S.A.: Evaluating test cha-racteristics and eectiveness of fsm-based testing methods on rbac systems. Pro-ceedings of the 30th Brazilian Symposium on Software Engineering - SBES '16 (2016)

5. De Wolf, R.: A brief introduction to fourier analysis on the boolean cube. Theory of Computing, Graduate Surveys 1(1-20), 15 (2008)

6. Endo, Andre Takeshi ve Simao, A.: Evaluating test suite characteristics, cost, and eectiveness of fsm-based testing methods. Information and Software Technology (2013). https://doi.org/10.1016/j.infsof.2013.01.001

7. Fragal, V.H., Simao, A., Mousavi, M.R., Turker, U.C.: Extending HSI Test Gene-ration Method for Software Product Lines. The Computer Journal (2018) 8. König, H.: Protocol Engineering. Computer Science, Springer Berlin Heidelberg

(2012), https://books.google.com.tr/books?id=Sr3NdA1PQc4C

9. Lee, David ve Yannakakis, M.: Principles ve methods of testing nite state machi-nes (1996)

10. Li, J.H., Dai, G.X., Li, H.H.: Mutation analysis for testing nite state machines. 2nd International Symposium on Electronic Commerce and Security, ISECS 2009 1, 620624 (2009). https://doi.org/10.1109/ISECS.2009.158

11. Mathur, A.P.: Foundations of software testing (2005)

12. O'Donnell, R.: Analysis of boolean functions. Cambridge University Press (2014) 13. Papadakis, M., Just, R.: Special issue on Mutation Testing. Information and

Sof-tware Technology 81, 12 (2017). https://doi.org/10.1016/j.infsof.2016.08.003, http://dx.doi.org/10.1016/j.infsof.2016.08.003

14. Papadakis, M., Kintis, M., Zhang, J., Jia, Y., Traon, Y.L., Harman, M.: Mutation Testing Advances: An Analysis and Survey. Advances in Computers 112, 275378 (2019). https://doi.org/10.1016/bs.adcom.2018.03.015

15. Pinto Ferraz Fabbri, S., Delamaro, M., Maldonado, J., Masiero, P.: Mu-tation analysis testing for nite state machines pp. 220229 (2002). https://doi.org/10.1109/issre.1994.341378

16. Zhang, J., Zhang, L., Harman, M., Hao, D., Jia, Y., Zhang, L.: Predictive Mutation Testing. IEEE Transactions on Software Engineering 14(8) (2018). https://doi.org/10.1109/TSE.2018.2809496

Şekil

Tablo 1. Test Üretme Metotlarnn Hata Yakalama Kapasitesi [8] Çk³ Hatalarn Yakalama Geçi³ HatalarnYakalama Yeni DurumHatalarnYakalama Eksik DurumHatalarnYakalama

Referanslar

Benzer Belgeler

Roma tiyatroları Yunan tiyatroları gibi sahne (scene), yarım daire şeklinde basamaklı oturma yerleri (cavea) ve yarım daire meydan (orkestra) Roma tiyatrolarında bu üç bölüm

ÜÇÜNCÜ KISIM SOYADI (SOYİSİM) DÜZELTME ve DEĞİŞTİRME DAVALARINDA YARGILAMA İŞLEMLERİ ve DİKKAT EDİLMESİ GEREKEN HUSUSLAR Dilekçe Örneği 1

200 kişilik yaş pasta (Her bir masaya 10 tabak olarak her tabakta 1 dilim olacak şekilde dağıtılacaktır.) 200 kişilik meşrubat (Her bir masaya her biri 1 lt olacak şekilde

Köyler, köylüler hızla canlanırken çıkarı bozulanlar, aydın- lanmadan, geleceklerinden korkanlar, 1946 yılından başlayarak sistemi budamaya başladı. Sistemin

Bu menü çeşidini, fast casual dediğimiz hızlı servis restoranların yanında masa servisi veren restoranlar ve okul yemekhaneleri ile sanayi tesislerinin yemekhaneleri vb

&#34;Türkiye'de Bilim, Mühendislik ve Teknolojide Kadın Akademisyenler Ağı: Akdeniz Üniversitesi Örneği&#34;, Eğitim ve Öğretim Ekseninde Toplumsal Cinsiyet

100 g brokoli 2 kaşık anne sütü ya da formül süt 1 kaşık pirinç 1 çay kaşığı zeytinyağı.. 7-8 adet

8 Temmuz 2008 günü ö leden önce Eski ehir’deki sizlik Sigortas kapsam nda 16 de ik meslekte kursun aç n yap ld projeler kapsam nda pilot okul seçilen Atatürk Endüstri