arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~

基于缺陷报告的缺陷定位:一种多目标方法

Bug Localization from Bug Reports: A Multi-Objective Approach

Waleed Ahmad, Mehtab Kiran Suddle, Maryam Bashir

arXiv 2608.27089首次发表:更新:

AI 中文总结

针对大型软件缺陷定位的痛点,提出基于SPEA-2的多目标搜索系统,在Java及Kotlin项目上验证,可高效识别潜在缺陷类,适配多语言。

AI 中文摘要

缺陷定位是一项劳动密集型任务,尤其在大型软件系统中,当出现异常行为时,开发人员必须执行重复且耗时的步骤来识别有缺陷的文件。以往研究主要聚焦于单目标定位方法,其中许多方法仅适用于特定编程语言,此外,由于缺陷描述的自然语言属性,仅依赖源代码与缺陷报告之间的词汇相似度往往不够充分。本研究提出了一种类级别的自动化多目标搜索型系统,用于从缺陷报告中识别并对潜在有缺陷的类进行排序,其主要目标是最大化相似度同时最小化建议的缺陷文件数量。研究将进化优化算法SPEA-2应用于六个包含超过22000份缺陷报告的开源Java项目,并将所提方法与两种广泛使用的算法NSGA-II和MOEA/D进行评估,结果显示,SPEA-2在多目标和单目标基线方法中均实现了更高的精度和召回率,该推荐系统在Top 10推荐中成功为88.5%的缺陷报告识别出有缺陷的类或文件,在Top 20推荐中占比达94%,模型的有效性还在一个用Kotlin编写的工业级Android项目上得到验证,证明其可跨编程语言适配。

英文摘要

Bug localization is a labor-intensive task, particularly in large software systems. When abnormal behavior occurs, developers must perform repetitive and time-consuming steps to identify faulty files. Previous studies have mainly focused on single-objective localization methods, many of which are limited to specific programming languages. In addition, relying solely on lexical similarity between source code and bug reports is often insufficient due to the natural language nature of bug descriptions. In this study, we propose a class-level automated multi-objective search-based system to identify and rank potentially buggy classes from bug reports. The main objective is to maximize similarity while minimizing the number of suggested faulty files. The evolutionary optimization algorithm SPEA-2 was applied to six open-source Java projects comprising more than 22,000 bug reports. The proposed approach was evaluated against two widely used algorithms, NSGA-II and MOEA/D. Results indicate that SPEA-2 achieved higher precision and recall than both multi-objective and single-objective baseline methods. The proposed recommender system successfully identified buggy classes or files for 88.5\% of bug reports within the top 10 recommendations and 94\% within the top 20. The effectiveness of the model was further validated on an industrial Android project written in Kotlin, demonstrating its adaptability across programming languages.

论文原文

arXiv 摘要页 · PDF 原文 · HTML 原文

↑