SBEST:无需故障触发测试的基于频谱的故障定位
SBEST: Spectrum-Based Fault Localization Without Fault-Triggering Tests
AI总结:
本研究提出SBEST方法,利用崩溃报告中的堆栈跟踪替代缺失的故障触发测试,结合测试覆盖数据进行故障定位,在Defects4J上使MAP提升32.22%,MRR提升17.43%。
摘要:
故障定位是软件维护中的关键步骤。然而,许多现有技术,如基于频谱的故障定位(SBFL),在很大程度上依赖于故障触发测试的可用性才能有效。在实践中,尤其是对于与崩溃相关的缺陷,此类测试经常不可用。同时,包含堆栈跟踪的缺陷报告通常作为运行时失败唯一可用的证据,并为调试提供有价值的上下文。本研究调查了在SBFL中使用崩溃报告中的堆栈跟踪作为故障触发测试替代品的可行性。我们对Defects4J中60个崩溃报告缺陷的实证分析显示,在缺陷报告创建时,仅3.33%的缺陷有可用的故障触发测试。然而,98.3%的缺陷修复直接解决了堆栈跟踪中观察到的异常,且78.3%的有缺陷方法在平均0.34次方法调用内可从堆栈跟踪到达。这些发现强调了在缺乏失败测试时堆栈跟踪的诊断价值。受这些发现启发,我们提出了SBEST,一种新颖的方法,在缺少故障触发测试时,将堆栈跟踪信息与测试覆盖数据相结合以进行故障定位。在缺少故障触发测试的场景下,与基线方法相比,SBEST在平均精度均值(MAP)上提高了32.22%,在平均倒数排名(MRR)上提高了17.43%。
英文摘要:
Fault localization is a critical step in software maintenance. Yet, many existing techniques, such as Spectrum-Based Fault Localization (SBFL), rely heavily on the availability of fault-triggering tests to be effective. In practice, especially for crash-related bugs, such tests are frequently unavailable. Meanwhile, bug reports containing stack traces often serve as the only available evidence of runtime failures and provide valuable context for debugging. This study investigates the feasibility of using stack traces from crash reports as proxies for fault-triggering tests in SBFL. Our empirical analysis of 60 crash-report bugs in Defects4J reveals that only 3.33% of these bugs have fault-triggering tests available at the time of the bug report creation. However, 98.3% of bug fixes directly address the exception observed in the stack trace, and 78.3% of buggy methods are reachable within an average of 0.34 method calls from the stack trace. These findings underscore the diagnostic value of stack traces in the absence of failing tests. Motivated by these findings, we propose SBEST, a novel approach that integrates stack trace information with test coverage data to perform fault localization when fault-triggering tests are missing. SBEST shows an improvement, with a 32.22% increase in Mean Average Precision (MAP) and a 17.43% increase in Mean Reciprocal Rank (MRR) compared to baseline approaches under the scenario where fault-triggering tests are absent.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。