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...

Full description

Bibliographic Details
Main Authors: Ahmed Ali Seyam, Abeer Hamdy, Marwa Salah Farhan
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