Sürekli entegrasyon destekli hata öngörü sistemi
- Global styles
- Apa
- Bibtex
- Chicago Fullnote
- Help
Abstract
Bu araştırmada yazılım geliştirme sürecinde sürekli entegrasyon sistemi verileri kullanılarak oluşabilecek hataların önceden tahmini üzerine çalışılmıştır. Yazılım geliştirme süreçlerinde kod değişikliklerinden, hata raporlarına, tasarım dokümanlarından, sürüm bilgilerine kadar uzanan bir dizi veri oluşur. Bu veriler kullanılarak yazılımdaki hata oluşabilecek noktalar önceden tahmin edilebilir.Hata öngörü sistemleri için kullanılabilecek çok çeşitli veri setleri ve yöntemler bulunmaktadır. Bunların birçoğu kod değişiklikleri, statik kod analizi değerleri, geçmiş hataların analizi gibi verileri kullanır. Bu çalışmada ise kodun sürekli entegre edildiği ve derlendiği sistemin ürettiği veriler kullanılmıştır.Çalışma için üç farklı açık kaynaklı yazılım projesi kullanılmıştır. Bu projelerin sürekli entegrasyon verileri, hata sistemlerindeki verileri ve sürüm verileri kullanılmıştır. Projeye uygun bir sürüm süresi belirlenerek gelecek sürümde çıkabilecek hata sayısı tahmini yapılmıştır. Bu sayede yazılım geliştirme sürecinde oluşan bu tahminler yazılım ekibine yol gösterici olur.Anahtar Sözcükler: Hata öngörüsü, Yazılım geliştirme depoları, Veri madenciliği, Sürekli entegrasyon, Yazılım geliştirme süreci, Yazılım derleme. In this thesis, software bug prediction using continuous integration system data is studied. Software development process produces various interesting data ranging from code changes, bug reports, design documents and release notes. By using this data software defects can be predicted before they occur.There are a variety of data sets and methods that can be used in bug prediction systems. Most of the work in these systems use code changes, static code analysis results and analysis of past defects. In this work, data produced from continuous integration system, where code is integrated, compiled and tested, is used to predict future bugs.Three open source project is used for his work. Continuous integration data, bug reports and release data of these projects' are used for bug prediction. An appropriate release period is determined for each project and the number of bugs that will occur in the next release is estimated. The results guide the software team for upcoming errors that will occur in the next release of the software.Keywords: Bug prediction, Mining software repositories, Continuous integration, Software development, Software build
Collections