Web uygulamalarında alana özgü metrikler ile hataya yatkınlık tahmini
Prediction of defect proneness in web applications by domain-specific metrics
Yazar: MEHMET SERDAR BİÇER
Danışman: PROF. DR. BANU DİRİ
Yıldız Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Doktora, 2018
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Bilgisayarın ilk yapılışı bilimsel ve askeri amaçlar ile olmuştur. Teknolojinin gelişmesi ile birlikte bilgisayarların boyutları küçülmeye başladıkça kullanımları yaygınlaşmıştır ve başta ticari uygulamalar olmak üzere farklı alanlar için kullanılmaya başlanmıştır. Farklı programlama dilleri ortaya çıkmaya başladı. Yazılım projelerindeki karmaşıklığı yönetebilmek için yazılım mühendisliği kavramının ortaya atılması ile birlikte yazılımcıların hayatını kolaylaştırmak için farklı yöntemler üretilmeye başlandı. Yazılımın hataya yatkınlığının tahmini de bu yöntemlerden biridir. Her yazılım ürünü için kullanıma açılmadan önce test sürecinden geçmesi bir zorunluluktur. Ancak, yazılım geliştirme sürecinin her aşamasında olduğu gibi test aşamasında da kaynakların verimli bir şekilde kullanılabilmesi için planlama yapılması gerekmektedir. Test sürecinin düzgün bir şekilde planlanması için kaynakların aktarılacağı bölümlerin belirlenmesi gerekmektedir. Hataya yatkınlık tahmini yöntemleri proje yöneticileri tarafından, kısıtlı olan kaynakları test aşamasında verimli bir şekilde dağıtmak için kullanılmaktadır. Bu yöntemler yazılım testinde görev yapan kişilere test senaryolarının ne şekilde üretetileceğine ve organize edileceğine karar vermelerine yardımcı olmaktadır. Hatalı modüllerin doğru tahmin edilmesi yazılım testinin masrafını azaltmaktadır ve proje yöneticileri kısıtlı kaynaklarını işlere atama konusunda daha rahat hareket edebilmektedir.

Hataya yatkınlık tahmini, yazılım mühendisliğinde son 10 yılın en aktif araştırma konularından biri olmakla birlikte, son yıllardaki çalışmalarda tahmin modellerinin başarılarının doyum noktasına ulaştığı gösterilmiştir. Tahmin modellerinin performansını arttırmak için genel kanı kullanılan algoritmalardan ziyade veri kümelerinin iyileştirilmesi gerektiği yönündedir. Şimdiye kadar yapılan araştırmalarda veri kümelerinin iyileştirilmeye çalışılması için uygulama türüne özel veri çıkarımı gerçekleştirilmediğini fark ettik. Bu noktadan hareketle web uygulamaları alanını seçerek, bu türdeki açık kaynaklı uygulamalardan özel metrik kümeleri çıkardık. Deneylerimiz sonucunda alana özel çıkarılan metriklerin hataya yatkınlık tahmini modellerinin performansını arttırmaya yardımcı olduğunu gözlemledik.

Abstract:
Invention of the computer was for scientific and military purposes. As the size of computers began to shrink with the improvement in the technology, their use became widespread and they started to be used for different fields, mainly commercial applications. Different programming languages have begun to emerge. With the introduction of the concept of software engineering to manage complexity in software projects, different methods have begun to be developed to facilitate the software development process. Software defect prediction is one of these methods. Each software product has to pass through the testing process before the product is released. However, as in all stages of the software development process, it is necessary to plan for the resources to be used effectively in the test phase. In order to properly plan the testing process, it is necessary to determine the sections to which the resources are to be transferred. Software defect proneness prediction techniques are used by project managers to efficiently allocate their precious resources in testing phase. These techniques give software testers some insight to decide how to create and organise test cases. Accurate prediction of defect prone modules can reduce the cost of software testing and allow project managers to act more confidently in assigning their resources. 

Predicting defect prone modules in software projects has been one of the most active research topics in software engineering in the last decade, and in recent years studies have shown that prediction models reached a ceiling effect. In order to improve the performance of the prediction models, the general consensus is that focus should be based on improving the datasets rather than algorithms used. We have noticed that, to this date, researchers have not benefited from domain-specific data. From this point, we choosed the web applications domain and extracted custom metric sets from some open source web applications. As a result of our experiments, we found that domain specific metrics helped us to improve the performance of software defect proneness prediction models.