Yazılım test verisi üretiminde yapay zeka tekniklerinin performans analizi
Performance analysis of artificial intelligence on software test data generation
Yazar: ÖMÜR ŞAHİN
Danışman: DOÇ. DR. BAHRİYE AKAY
Erciyes Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2016
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Yazılımların zamanında teslim edilmemesi, bütçeyi aşması, eksik fonksiyonlarla teslim edilmesi gibi yazılım krizlerinin en büyük sebebi yazılımlarla ilgili testlerin en başından itibaren yapılmamasıdır. Hatalar ne kadar geç fark edilirse düzeltme maliyeti ve ayrıca projenin toplam maliyeti o denli artmaktadır. Doğru yapılacak test işlemleri sayesinde yanlışlar erken aşamalarda görülüp düzeltilebilir böylece zaman ve maliyetten tasarruf sağlanabilir. Test işlemlerinde kullanılan test verisi yapılan testin etkinliğini oldukça etkilemektedir. Bu çalışmada arama tabanlı test verisi üretiminde Yapay Arı Koloni, Diferansiyel Gelişim, Parçacık Sürü Optimizasyon ve Ateş böceği algoritmalarının temel problemler ve döngü içeren problemlerdeki arama yetenekleri kıyaslanmıştır. Temel problemler triangle, even-odd, quadratic equation, largest number, remainder, leap year kod parçacıklarından, döngü içeren problemler ise asal, armstrong ve palindrom sayılarını bulan kod parçacıklarından oluşmaktadır. Meta-sezgisellerin farklı parametre konfigürasyonları incelenmiş ve uygun kontrol parametreleri önerilmiştir. Standart sapma ve üretilen değerler analiz edilerek algoritmaların kontrol parametrelerine olan bağlılığı ortaya çıkarılmıştır. Algoritmalar için uygun parametreler belirlendikten sonra algoritmaların test verisi üretiminde performansları kıyaslanmıştır. Ayrıca rastgele arama ile de kıyaslamalar yapılmıştır. Tez çalışmasında incelenen bir değer konu da meta-sezgiselleri yönlendiren amaç fonksiyonlarının performans üzerindeki etkisidir. Yol tabanlı (path-based), benzerlik tabanlı (dissimalarity-based) ve yakınlaşmaya tabanlı (approximation level + branch distance) amaç fonksiyonları incelenmiştir.

Abstract:
The main reason of software crisis such as delivering late, exceeding the project budget, delivering with missing functions is that the software testing is not carried out from the beginning of software production cycle. As the testing is performed at final stages, an increase in the expenses of the maintenance and then the total cost occurs. Accurate testing activities provide to find errors in early stages and pass on huge savings in total cost. Test data used in testing affects the efficiency of the process. In this study Artificial Bee Colony, Differential Evolution, Particle Swarm Optimization and Firefly algorithms are used to generate search based software test data generation. Basic problems consist of triangle, even-odd, quadratic equation, largest number, remainder, leap year code fragments while the other group consist of problems that contain loops in code fragments such as prime, armstrong and palindrome number problems. For meta-heuristics, different control parameter configurations are examined and appropriate values are recommended. Dependency of the algorithms on the control parameters are analysed based on standard deviation and the coverage performance. Algorithms are using the best parameter configurations and their performances are compared using mean, median and standard deviation metrics. Moreover, the meta-heuristics are compared to Random Search. The objective functions that guide the meta-heuristics are also investigated. Path-based, dissimilarity-based and approximation level + branch distance based fitness functions are considered in this study.