Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2970276.2970344acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Recommending relevant classes for bug reports using multi-objective search

Published: 25 August 2016 Publication History

Abstract

Developers may follow a tedious process to find the cause of a bug based on code reviews and reproducing the abnormal behavior. In this paper, we propose an automated approach to finding and ranking potential classes with the respect to the probability of containing a bug based on a bug report description. Our approach finds a good balance between minimizing the number of recommended classes and maximizing the relevance of the proposed solution using a multi-objective optimization algorithm. The relevance of the recommended classes (solution) is estimated based on the use of the history of changes and bug-fixing, and the lexical similarity between the bug report description and the API documentation. We evaluated our system on 6 open source Java projects, using the version of the project before fixing the bug of many bug reports. The experimental results show that the search-based approach significantly outperforms three state-of-the-art methods in recommending relevant files for bug reports. In particular, our multi-objective approach is able to successfully locate the true buggy methods within the top 10 recommendations for over 87% of the bug reports.

References

[1]
A. Arcuri and G. Fraser. Parameter tuning or default values? an empirical investigation in search-based
[2]
B. Ashok, J. Joy, H. Liang, S. K. Rajamani, G. Srinivasa, and V. Vangala. Debugadvisor: a recommender system for debugging. In 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, pages 373–382. ACM, 2009.
[3]
N. Bettenburg, S. Just, A. Schröter, C. Weiss, R. Premraj, and T. Zimmermann. What makes a good bug report? In 16th ACM SIGSOFT International Symposium on Foundations of software engineering, pages 308–318. ACM, 2008.
[4]
N. Bettenburg, R. Premraj, T. Zimmermann, and S. Kim. Duplicate bug reports considered harmfulˆ a ˘ Ae really? In International Conference on Software maintenance (ICSM), pages 337–345, 2008.
[5]
D. M. Blei, A. Y. Ng, and M. I. Jordan. Latent dirichlet allocation. Journal of machine Learning research, 3(Jan):993–1022, 2003.
[6]
B. Bruegge and A. H. Dutoit. Object-Oriented Software Engineering Using UML, Patterns and Java-(Required). Prentice Hall, 2004.
[7]
K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan. A fast and elitist multiobjective genetic algorithm: Nsga-ii. IEEE transactions on evolutionary computation, 6(2):182–197, 2002.
[8]
D. Dreyton, A. A. Ara´ ujo, A. Dantas, Á. Freitas, and J. Souza. Search-based bug report prioritization for kate editor bugs repository. In International Symposium on Search Based Software Engineering, pages 295–300. Springer, 2015.
[9]
S. T. Dumais. Latent semantic analysis. Annual review of information science and technology, 38(1):188–230, 2004.
[10]
E. Enslen, E. Hill, L. Pollock, and K. Vijay-Shanker. Mining source code to automatically split identifiers for software analysis. In International Working Conference on Mining Software Repositories, pages 71–80. IEEE, 2009.
[11]
M. Fischer, M. Pinzger, and H. Gall. Analyzing and relating bug report data for feature tracking. In WCRE, volume 3, page 90, 2003.
[12]
D. E. Goldberg and K. Deb. A comparative analysis of selection schemes used in genetic algorithms. Foundations of genetic algorithms, 1:69–93, 1991.
[13]
M. Harman and B. F. Jones. Search-based software engineering. Information and software Technology, 43(14):833–839, 2001.
[14]
M. Harman, S. A. Mansouri, and Y. Zhang. Search-based software engineering: Trends, techniques and applications. ACM Computing Surveys (CSUR), 45(1):11, 2012.
[15]
C. Henard, M. Papadakis, and Y. Le Traon. Mutation-based generation of software product line test configurations. In International Symposium on Search Based Software Engineering, pages 92–106. Springer, 2014.
[16]
software engineering. Empirical Software Engineering, 18(3):594–623, 2013.
[17]
A. T. Nguyen, T. T. Nguyen, J. Al-Kofahi, H. V. Nguyen, and T. N. Nguyen. A topic-based approach for narrowing the search space of buggy files from a bug report. In IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 263–272, 2011.
[18]
A. N´ u˜ nez, M. G. Merayo, R. M. Hierons, and M. N´ u˜ nez. Using genetic algorithms to generate test sequences for complex timed systems. Soft Computing, 17(2):301–315, 2013.
[19]
S. Rao and A. Kak. Retrieval from software libraries for bug localization: a comparative study of generic and composite text models. In 8th Working Conference on Mining Software Repositories, pages 43–52, 2011.
[20]
R. K. Saha, J. Lawall, S. Khurshid, and D. E. Perry. On the effectiveness of information retrieval based bug localization for c programs. In ICSME, pages 161–170, 2014.
[21]
R. K. Saha, M. Lease, S. Khurshid, and D. E. Perry. Improving bug localization using structured information retrieval. In IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 345–355, 2013.
[22]
G. Salton, A. Wong, and C.-S. Yang. A vector space model for automatic indexing. Communications of the ACM, 18(11):613–620, 1975.
[23]
J. Shelburg, M. Kessentini, and D. R. Tauritz. Regression testing for model transformations: A multi-objective approach. In International Symposium on Search Based Software Engineering, pages 209–223. Springer, 2013.
[24]
C. Sun, D. Lo, X. Wang, J. Jiang, and S.-C. Khoo. A discriminative model approach for accurate duplicate bug report retrieval. In 32nd ACM/IEEE International Conference on Software Engineering-Volume 1, pages 45–54. ACM, 2010.
[25]
P.-N. Tan et al. Introduction to data mining. Pearson Education India, 2006.
[26]
C.-P. Wong, Y. Xiong, H. Zhang, D. Hao, L. Zhang, and H. Mei. Boosting bug-report-oriented fault localization with segmentation and stack-trace analysis. In ICSME, pages 181–190. Citeseer, 2014.
[27]
X. Ye, R. Bunescu, and C. Liu. Learning to rank relevant files for bug reports using domain knowledge. In 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 689–699. ACM, 2014.
[28]
X. Ye, R. Bunescu, and C. Liu. Mapping bug reports to relevant files: A ranking model, a fine-grained benchmark, and feature evaluation. IEEE Transactions on Software Engineering, 42(4):379–402, 2016.
[29]
J. Zhou, H. Zhang, and D. Lo. Where should the bugs be fixed? more accurate information retrieval-based bug localization based on bug reports. In 34th International Conference on Software Engineering (ICSE), pages 14–24. IEEE, 2012.

Cited By

View all

Index Terms

  1. Recommending relevant classes for bug reports using multi-objective search

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ASE '16: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering
    August 2016
    899 pages
    ISBN:9781450338455
    DOI:10.1145/2970276
    • General Chair:
    • David Lo,
    • Program Chairs:
    • Sven Apel,
    • Sarfraz Khurshid
    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 ACM 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: 25 August 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Search-based software engineering
    2. bug reports
    3. multi-objective optimization
    4. software maintenance

    Qualifiers

    • Research-article

    Conference

    ASE'16
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 82 of 337 submissions, 24%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)23
    • Downloads (Last 6 weeks)4
    Reflects downloads up to 14 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)Understanding vulnerabilities in software supply chainsEmpirical Software Engineering10.1007/s10664-024-10581-230:1Online publication date: 1-Feb-2025
    • (2024)Two-Level Information-Retrieval-Based Model for Bug Localization Based on Bug ReportsElectronics10.3390/electronics1302032113:2(321)Online publication date: 11-Jan-2024
    • (2024)Boosting fault localization of statements by combining topic modeling and OchiaiInformation and Software Technology10.1016/j.infsof.2024.107499173(107499)Online publication date: Sep-2024
    • (2024)When debugging encounters artificial intelligence: state of the art and open challengesScience China Information Sciences10.1007/s11432-022-3803-967:4Online publication date: 21-Feb-2024
    • (2023)Test Report Generation for Android App Testing Via Heterogeneous Data AnalysisIEEE Transactions on Software Engineering10.1109/TSE.2023.323724749:5(3032-3051)Online publication date: 1-May-2023
    • (2023)Automated software bug localization enabled by meta-heuristic-based convolutional neural network and improved deep neural networkExpert Systems with Applications10.1016/j.eswa.2023.120562(120562)Online publication date: Jun-2023
    • (2023)An empirical study of automated privacy requirements classification in issue reportsAutomated Software Engineering10.1007/s10515-023-00387-930:2Online publication date: 28-Jun-2023
    • (2023)Information Retrieval‐Based Techniques for Software Fault LocalizationHandbook of Software Fault Localization10.1002/9781119880929.ch8(365-391)Online publication date: 21-Apr-2023
    • (2022)A Comparative Study of Short Text Classification Methods for Bug Report Type Identification2022 Research, Invention, and Innovation Congress: Innovative Electricals and Electronics (RI2C)10.1109/RI2C56397.2022.9910299(27-33)Online publication date: 4-Aug-2022
    • (2022)A component recommendation model for issues in software projects2022 19th International Joint Conference on Computer Science and Software Engineering (JCSSE)10.1109/JCSSE54890.2022.9836311(1-6)Online publication date: 22-Jun-2022
    • Show More Cited By

    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