Recommending Relevant Classes for Bug Reports Using Multi-Objective Search
Search-based software engineering;bug reports;multi-objective optimization;software maintenance;Software engineering;Software Engineering, College of Engineering and Computer Science
Developers may follow a tedious process to find the cause of a bug based on code reviews and reproducing the abnormal behavior. In this thesis, we propose an automated approach for 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 including more than 22,000 bug reports, 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.
【 预 览 】
附件列表
Files
Size
Format
View
Recommending Relevant Classes for Bug Reports Using Multi-Objective Search