[论文解读] Locating Crashing Faults based on Crash Stack Traces
该论文提出了一种基于统计的故障定位框架,利用崩溃堆栈跟踪生成失败和通过执行的执行谱,应用Ochiai等技术对可疑函数进行排序。在真实的Firefox崩溃报告上进行评估,该方法仅分析谱中5%的函数,即可定位63.9%的崩溃故障,显著降低了调试工作量。
Software crashes due to its increasing complexity. Once a crash happens, a crash report could be sent to software developers for investigation upon user permission. Because of the large number of crash reports and limited information, debugging for crashes is often a tedious and labor-intensive task. In this paper, we propose a statistical fault localization framework to help developers locate functions that contain crashing faults. We generate the execution traces for the failing traces based on the crash stack, and the passing traces from normal executions. We form program spectra by combining generated passing and failing trace, and then apply statistical fault localization techniques such as Ochiai to locate the crashing faults. We also propose two heuristics to improve the fault localization performance. We evaluate our approach using the real-world Firefox crash report data. The results show that the performance of our method is promising. Our approach permits developers to locate 63.9% crashing faults by examining only 5% Firefox 3.6 functions in the spectra.
研究动机与目标
- 通过自动化故障定位来减少调试软件崩溃所耗费的大量人力工作。
- 解决在诊断信息有限的情况下分析大量崩溃报告的挑战。
- 通过利用崩溃堆栈跟踪和执行谱来提高故障定位的精确度。
- 评估统计故障定位技术在真实世界崩溃数据上的有效性。
- 提出启发式方法以在实际中提升故障定位性能。
提出的方法
- 从失败执行的崩溃堆栈跟踪生成执行轨迹。
- 收集正常执行轨迹,以形成用于对比的通过轨迹。
- 通过组合通过轨迹和失败轨迹构建程序谱。
- 应用Ochiai等统计故障定位技术,根据可疑度对函数进行排序。
- 引入两种启发式方法以优化故障定位结果并提高排序准确性。
- 使用真实的Firefox 3.6崩溃报告对框架在实际崩溃数据上的表现进行评估。
实验结果
研究问题
- RQ1崩溃堆栈跟踪能否有效用于生成用于故障定位的执行谱?
- RQ2统计故障定位技术在使用堆栈跟踪生成的谱时,能否准确识别出导致崩溃的故障?
- RQ3所提出的启发式方法在多大程度上提升了故障定位的精确度?
- RQ4通过仅分析谱中极小部分的函数,能够定位多少比例的崩溃故障?
- RQ5该方法在Firefox的真实世界崩溃数据上表现如何?
主要发现
- 该方法仅分析谱中5%的函数,即可定位63.9%的崩溃故障。
- 该框架显著减少了开发者为崩溃调试需要检查的函数数量。
- 当应用于基于堆栈跟踪生成的执行谱时,Ochiai等统计故障定位技术表现出良好效果。
- 所提出的两种启发式方法提升了故障定位性能,尽管摘要中未提供具体量化指标。
- 该方法在复杂软件系统的真实崩溃调试中展现出强大的实际应用潜力。
- 在真实Firefox崩溃报告上的评估证实了该方法在降低调试工作量方面的潜力。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。