Turkish Journal of Electrical Engineering and Computer Sciences
Information retrieval-based bug localization approach with adaptive attributeweighting
Software quality assurance is one of the crucial factors for the success of software projects. Bug fixing has an essential role in software quality assurance, and bug localization (BL) is the first step of this process. BL is difficult and time-consuming since the developers should understand the flow, coding structure, and the logic of the program. Information retrieval-based bug localization (IRBL) uses the information of bug reports and source code to locate the section of code in which the bug occurs. It is difficult to apply other tools because of the diversity of software development languages, design patterns, and development standards. The aim of this study is to build an adaptive IRBL tool and make it usable by more companies. BugSTAiR solves the aforementioned problem by means of the adaptive attribute weighting (AAW) algorithm and is evaluated on four open-source projects which are well-known benchmark datasets on BL. One of them is BLIA which is the state of the art in bug localization area and another is BLUIR which is a well-known BL tool. According to the promising results of experiments, Top1 rank of BugSTAiR is 2% and MAP is 10% better than BLIA's results on AspectJ and it has localized 4.6% of all bugs in Top1 and its precision is 6.1% better than BLIA on SWT, respectively. On the other side, it is 20% better in the Top1 metric and 30% in precision than BLUIR.
Software engineering, bug localization, information retrieval, genetic algorithm, software process improvement
ERŞAHİN, MUSTAFA; UTKU, SEMİH; KILINÇ, DENİZ; and ERŞAHİN, BUKET
"Information retrieval-based bug localization approach with adaptive attributeweighting,"
Turkish Journal of Electrical Engineering and Computer Sciences: Vol. 29:
3, Article 18.
Available at: https://journals.tubitak.gov.tr/elektrik/vol29/iss3/18
Computer Engineering Commons, Computer Sciences Commons, Electrical and Computer Engineering Commons