Code Complexity and Version History for Enhancing Hybrid Bug Localization
Software projects are not void from bugs when they are released, so the developers keep receiving bug reports that describe technical issues. The process of identifying the buggy code files that correspond to the submitted bug reports is called bug localization. Automating the bug localization proce...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
IEEE
2021-01-01
|
Series: | IEEE Access |
Subjects: | |
Online Access: | https://ieeexplore.ieee.org/document/9408620/ |
id |
doaj-76fc04858b4b4b7fa44edaa8d163ed0e |
---|---|
record_format |
Article |
spelling |
doaj-76fc04858b4b4b7fa44edaa8d163ed0e2021-04-26T23:00:24ZengIEEEIEEE Access2169-35362021-01-019611016111310.1109/ACCESS.2021.30742669408620Code Complexity and Version History for Enhancing Hybrid Bug LocalizationAhmed Ali Seyam0https://orcid.org/0000-0003-1230-5760Abeer Hamdy1https://orcid.org/0000-0002-0208-3722Marwa Salah Farhan2https://orcid.org/0000-0002-6340-2547The Higher Institute of Computer Science and Information Technology, El Shorouk, EgyptFaculty of Informatics and Computer Science, The British University in Egypt, Cairo, EgyptFaculty of Informatics and Computer Science, The British University in Egypt, Cairo, EgyptSoftware projects are not void from bugs when they are released, so the developers keep receiving bug reports that describe technical issues. The process of identifying the buggy code files that correspond to the submitted bug reports is called bug localization. Automating the bug localization process can speed up bug fixing and improve the productivity of the developers, especially with a large number of submitted bug reports. Several automatic bug localization approaches were proposed in the literature reviews which are based on the textual and /or semantic similarity among the bug reports and the source code files. Nevertheless, none of the previous approaches made use of the source code complexity despite its importance; as high complexity source code files have higher probabilities to be modified than the low complexity files and are prone to bug occurrences. To improve the accuracy of the automatic bug localization task, this paper proposes a Hybrid Bug Localization approach (HBL) that makes full use of textual and semantic features of source code files, previously fixed bug reports, in addition to the source code complexity and version history properties. The effectiveness of the proposed approach was assessed using three open-source Java projects, ZXing, SWT, and AspectJ, of different sizes. Experimental results showed that the proposed approach outperforms several state-of-the-art approaches in terms of the mean average precision (MAP) and the mean reciprocal rank (MRR) metrics.https://ieeexplore.ieee.org/document/9408620/Bug localizationtext mininginformation retrievalversion historycode complexitytextual similarity |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Ahmed Ali Seyam Abeer Hamdy Marwa Salah Farhan |
spellingShingle |
Ahmed Ali Seyam Abeer Hamdy Marwa Salah Farhan Code Complexity and Version History for Enhancing Hybrid Bug Localization IEEE Access Bug localization text mining information retrieval version history code complexity textual similarity |
author_facet |
Ahmed Ali Seyam Abeer Hamdy Marwa Salah Farhan |
author_sort |
Ahmed Ali Seyam |
title |
Code Complexity and Version History for Enhancing Hybrid Bug Localization |
title_short |
Code Complexity and Version History for Enhancing Hybrid Bug Localization |
title_full |
Code Complexity and Version History for Enhancing Hybrid Bug Localization |
title_fullStr |
Code Complexity and Version History for Enhancing Hybrid Bug Localization |
title_full_unstemmed |
Code Complexity and Version History for Enhancing Hybrid Bug Localization |
title_sort |
code complexity and version history for enhancing hybrid bug localization |
publisher |
IEEE |
series |
IEEE Access |
issn |
2169-3536 |
publishDate |
2021-01-01 |
description |
Software projects are not void from bugs when they are released, so the developers keep receiving bug reports that describe technical issues. The process of identifying the buggy code files that correspond to the submitted bug reports is called bug localization. Automating the bug localization process can speed up bug fixing and improve the productivity of the developers, especially with a large number of submitted bug reports. Several automatic bug localization approaches were proposed in the literature reviews which are based on the textual and /or semantic similarity among the bug reports and the source code files. Nevertheless, none of the previous approaches made use of the source code complexity despite its importance; as high complexity source code files have higher probabilities to be modified than the low complexity files and are prone to bug occurrences. To improve the accuracy of the automatic bug localization task, this paper proposes a Hybrid Bug Localization approach (HBL) that makes full use of textual and semantic features of source code files, previously fixed bug reports, in addition to the source code complexity and version history properties. The effectiveness of the proposed approach was assessed using three open-source Java projects, ZXing, SWT, and AspectJ, of different sizes. Experimental results showed that the proposed approach outperforms several state-of-the-art approaches in terms of the mean average precision (MAP) and the mean reciprocal rank (MRR) metrics. |
topic |
Bug localization text mining information retrieval version history code complexity textual similarity |
url |
https://ieeexplore.ieee.org/document/9408620/ |
work_keys_str_mv |
AT ahmedaliseyam codecomplexityandversionhistoryforenhancinghybridbuglocalization AT abeerhamdy codecomplexityandversionhistoryforenhancinghybridbuglocalization AT marwasalahfarhan codecomplexityandversionhistoryforenhancinghybridbuglocalization |
_version_ |
1721507368040136704 |