DocumentCode :
583166
Title :
Improving Bug Location Using Binary Class Relationships
Author :
Ali, Nasir ; Sabané, Aminata ; Guéhéneuc, Yann-Gaël ; Antoniol, Giuliano
Author_Institution :
DGIGL, Ecole Polytech. de Montreal, Montreal, QC, Canada
fYear :
2012
fDate :
23-24 Sept. 2012
Firstpage :
174
Lastpage :
183
Abstract :
Bug location assists developers in locating culprit source code that must be modified to fix a bug. Done manually, it requires intensive search activities with unpredictable costs of effort and time. Information retrieval (IR) techniques have been proven useful to speedup bug location in object-oriented programs. IR techniques compute the textual similarities between a bug report and the source code to provide a list of potential culprit classes to developers. They rank the list of classes in descending order of the likelihood of the classes to be related to the bug report. However, due to the low textual similarity between source code and bug reports, IR techniques may put a culprit class at the end of a ranked list, which forces developers to manually verify all non-culprit classes before finding the actual culprit class. Thus, even with IR techniques, developers are not saved from manual effort. In this paper, we conjecture that binary class relationships (BCRs) could improve the rankings by IR techniques of classes and, thus, help reducing developers´ manual effort. We present an approach, LIBCROOS, that combines the results of any IR technique with BCRs gathered through source code analyses. We perform an empirical study on four programs -- Jabref, Lucene, muCommander, and Rhino -- to compare the accuracy, in terms of ranking, of LIBCROOS with two IR techniques: latent semantic indexing (LSI) and vector space model (VSM). The results of this empirical study show that LIBCROOS improves the rankings of both IR technique statistically when compared to LSI and VSM alone and, thus, may reduce the developers´ effort.
Keywords :
information retrieval; object-oriented programming; program debugging; program diagnostics; IR techniques; Jabref; LIBCROOS; LSI; Lucene; Rhino; VSM; binary class relationships; bug location; bug report; culprit source code; information retrieval techniques; latent semantic indexing; muCommander; nonculprit classes; object-oriented programs; search activity; source code analyses; textual similarity; unpredictable costs; vector space model; Accuracy; Analytical models; Engines; Java; Large scale integration; Object oriented modeling; Vectors; Feature location; binary class relationships; information retrieval; object-oriented;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Source Code Analysis and Manipulation (SCAM), 2012 IEEE 12th International Working Conference on
Conference_Location :
Trento
Print_ISBN :
978-1-4673-2398-7
Type :
conf
DOI :
10.1109/SCAM.2012.26
Filename :
6392116
Link To Document :
بازگشت