[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3196321.3196361acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

A preliminary study on using code smells to improve bug localization

Published: 28 May 2018 Publication History

Abstract

Bug localization is a technique that has been proposed to support the process of identifying the locations of bugs specified in a bug report. A traditional approach such as information retrieval (IR)-based bug localization calculates the similarity between the bug description and the source code and suggests locations that are likely to contain the bug. However, while many approaches have been proposed to improve the accuracy, the likelihood of each module having a bug is often overlooked or they are treated equally, whereas this may not be the case. For example, modules having code smells have been found to be more prone to changes and faults. Therefore, in this paper, we explore a first step toward leveraging code smells to improve bug localization. By combining the code smell severity with the textual similarity from IR-based bug localization, we can identify the modules that are not only similar to the bug description but also have a higher likelihood of containing bugs. Our preliminary evaluation on four open source projects shows that our technique can improve the baseline approach by 142.25% and 30.50% on average for method and class levels, respectively.

References

[1]
Bruce Croft, Donald Metzler, and Trevor Strohman. 2009. Search Engines: Information Retrieval in Practice (1 ed.). Addison-Wesley Publishing Company.
[2]
Bogdan Dit, Evan Moritz, and Denys Poshyvanyk. 2012. A tracelab-based solution for creating, conducting, and sharing feature location experiments. In Proceedings of the 20th IEEE International Conference on Program Comprehension (ICPC'12). 203--208.
[3]
Bogdan Dit, Meghan Revelle, Malcom Gethers, and Denys Poshyvanyk. 2013. Feature location in source code: a taxonomy and survey. Journal of Software: Evolution and Process 25, 1 (2013), 53--95.
[4]
Latifa Guerrouj, Zeinab Kermansaravi, Venera Arnaoudova, Benjamin CM Fung, Foutse Khomh, Giuliano Antoniol, and Yann-Gaël Guéhéneuc. 2017. Investigating the relation between lexical smells and change-and fault-proneness: an empirical study. Software Quality Journal 25, 3 (2017), 641--670.
[5]
Foutse Khomh, Massimiliano Di Penta, Yann-Gaël Guéhéneuc, and Giuliano Antoniol. 2012. An exploratory study of the impact of antipatterns on class change-and fault-proneness. Empirical Software Engineering 17, 3 (2012), 243--275.
[6]
Radu Marinescu. 2012. Assessing technical debt by identifying design flaws in software systems. IBM Journal of Research and Development 56, 5 (2012), 9--1.
[7]
Anh Tuan Nguyen, Tung Thanh Nguyen, Jafar Al-Kofahi, Hung Viet Nguyen, and Tien N Nguyen. 2011. A topic-based approach for narrowing the search space of buggy files from a bug report. In Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE'11). 263--272.
[8]
Shivani Rao and Avinash Kak. 2011. Retrieval from software libraries for bug localization: a comparative study of generic and composite text models. In Proceedings of the 8th Working Conference on Mining Software Repositories (MSR'09). 43--52.
[9]
Ripon K Saha, Matthew Lease, Sarfraz Khurshid, and Dewayne E Perry. 2013. Improving bug localization using structured information retrieval. In Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering (ASE'13). 345--355.
[10]
Zhendong Shi, Jacky Keung, Kwabena Ebo Bennin, and Xingjun Zhang. 2018. Comparing learning to rank techniques in hybrid bug localization. Applied Soft Computing 62 (2018), 636--648.
[11]
Chakkrit Tantithamthavorn, Akinori Ihara, and Ken-ichi Matsumoto. 2013. Using co-change histories to improve bug localization performance. In Proceedings of the 14th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD'13). 543--548.
[12]
Shaowei Wang and David Lo. 2014. Version history, similar report, and structure: Putting them together for improved bug localization. In Proceedings of the 22nd International Conference on Program Comprehension (ICPC'14). 53--63.
[13]
Chu-Pan Wong, Yingfei Xiong, Hongyu Zhang, Dan Hao, Lu Zhang, and Hong Mei. 2014. Boosting bug-report-oriented fault localization with segmentation and stack-trace analysis. In Proceedings of the 30th IEEE International Conference on Software Maintenance and Evolution (ICSME'14). 181--190.
[14]
Klaus Changsun Youm, June Ahn, and Eunseok Lee. 2017. Improved bug localization based on code change histories and bug reports. Information and Software Technology 82 (2017), 177--192.
[15]
Jian Zhou, Hongyu Zhang, and David Lo. 2012. Where should the bugs be fixed?-more accurate information retrieval-based bug localization based on bug reports. In Proceedings of the 34th International Conference on Software Engineering (ICSE'12). 14--24.

Cited By

View all
  • (2024)On Using GUI Interaction Data to Improve Text Retrieval-based Bug LocalizationProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3608139(1-13)Online publication date: 20-May-2024
  • (2023)An Empirical Study on Code Smell Introduction and Removal in Deep Learning Software ProjectsInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350014633:05(765-786)Online publication date: 14-Apr-2023
  • (2021)Supporting Proactive Refactoring: An Exploratory Study on Decaying Modules and Their PredictionIEICE Transactions on Information and Systems10.1587/transinf.2020EDP7255E104.D:10(1601-1615)Online publication date: 1-Oct-2021
  • Show More Cited By

Index Terms

  1. A preliminary study on using code smells to improve bug localization

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICPC '18: Proceedings of the 26th Conference on Program Comprehension
    May 2018
    423 pages
    ISBN:9781450357142
    DOI:10.1145/3196321
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 28 May 2018

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. bug localization
    2. code smell
    3. information retrieval

    Qualifiers

    • Research-article

    Funding Sources

    • Japan Society for the Promotion of Science

    Conference

    ICSE '18
    Sponsor:

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)10
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 12 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)On Using GUI Interaction Data to Improve Text Retrieval-based Bug LocalizationProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3608139(1-13)Online publication date: 20-May-2024
    • (2023)An Empirical Study on Code Smell Introduction and Removal in Deep Learning Software ProjectsInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350014633:05(765-786)Online publication date: 14-Apr-2023
    • (2021)Supporting Proactive Refactoring: An Exploratory Study on Decaying Modules and Their PredictionIEICE Transactions on Information and Systems10.1587/transinf.2020EDP7255E104.D:10(1601-1615)Online publication date: 1-Oct-2021
    • (2021)BoostNSift: A Query Boosting and Code Sifting Technique for Method Level Bug Localization2021 IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM52516.2021.00019(81-91)Online publication date: Sep-2021
    • (2021)An extensive study on smell-aware bug localizationJournal of Systems and Software10.1016/j.jss.2021.110986178(110986)Online publication date: Aug-2021
    • (2019)Using bug descriptions to reformulate queries during text-retrieval-based bug localizationEmpirical Software Engineering10.1007/s10664-018-9672-z24:5(2947-3007)Online publication date: 1-Oct-2019

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media