Tez No İndirme Tez Künye Durumu
656937
Effective software bug localization using information retrieval and machine learning algorithms / Bilgi geri getirimi ve makine öğrenmesi algoritmalarını kullanarak yazılımda hata konumlandırılması
Yazar:MUSTAFA ERŞAHİN
Danışman: DOÇ. DR. SEMİH UTKU
Yer Bilgisi: Dokuz Eylül Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:
Onaylandı
Doktora
İngilizce
2020
69 s.
Yazılım kalite güvence yönetimi, yazılımın başarısı için çok önemlidir. Büyük ölçekli yazılım projelerinde, hata konumlandırma zor ve maliyetli bir süreçtir. Yazılım geliştirme yaşam döngüsünün hem geliştirme hem de bakım aşamasında birçok sorun veya hata rapor edilebilir. Hata düzeltmenin yazılım kalite güvencesinde önemli bir rolü vardır ve hata konumlandırma bu sürecin ilk adımıdır. Geliştiriciler programın akışını, kodlama yapısını ve mantığını anlaması gerektiği için zaman alıcı bir süreçtir. Bu nedenle, geliştiricilerin hatanın yerini keşfetmeleri önemlidir. Genel olarak, yazılım kaynak kodları ve hata kayıtları, farklı teknikler yardımıyla hata konumunun tanımlanması için kullanılır. Bilgi geri getirimi tabanlı hata konumlandırma, hatanın oluştuğu kod bölümünü bulmak için hata raporları ve kaynak kodu bilgilerini kullanır. Bilinen en iyi yöntemler, yazılım geliştirme dillerinin çeşitliliğine, tasarım örüntülerinin ve geliştirme standartlarının farklılıklarından dolayı yeni projelerde tatmin edici bir performans gösterecek şekilde uygulanmaları mümkün değildir. Bu tez, hata konumlandırma süreçlerini yeni bir yazılım projesine uyarlamak için yeni bir algoritma olan Adaptasyonlu Ağırlık Belirleme'yi önermektedir. Bu tez aynı zamanda tüm yazılım projeleri üzerinde çalışmak için yeni bir hata konumlandırma aracı olan BugSTAiR'nin geliştirilmesini de içermektedir. Deneysel çalışmalar, BugSTAiR aracının Adaptasyonlu Ağırlık Belirleme algoritmasının etkisiyle, farklı dillerle geliştirilen ticari yazılım projelerinde, hem gerçek yaşam hem de deneysel veri kümeleri dahil olmak üzere, mevcut algoritmalara göre performansının üst seviyede olduğunu göstermektedir.
Software quality assurance is crucial for the success of software. In large scale software projects, bug localization is a difficult and costly process. Many issues or bugs may be reported at both the development and maintenance phases of the software development lifecycle. Bug fixing has an essential role in software quality assurance, and bug localization is the first step of this process. Bug localization (BL) is time-consuming since the developers should understand the flow, coding structure, and logic of the program. Hence, it is crucial for developers to discover the location of the bug. In general, source codes and bug reports are used for identifying bug location with the help of many different techniques. Information retrieval-based bug localization (IRBL) also uses the information of bug reports and source code to locate the section of code in which the bug occurs. It is not possible to apply state-of-the-art approaches having a satisfactory performance to new projects according to the diversity of software development languages, design patterns and development standards. This thesis proposes a novel algorithm, Adaptive Attribute Weighting (AAW), to adopt a new software project for BL processes. This thesis also includes the development of a new BL tool, BugSTAiR, in order to work on with all software projects. Experimental studies demonstrate the capability of the AAW algorithm and also the BugSTAiR tool on both real-life and experimental datasets, including commercial software projects which are developed with different languages and improvement in performance compared to the existing algorithms.