paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Enlightened debugging

Enlighten:反馈驱动的交互式故障定位
ICSE Proceedings of the 40th International Conference on Software Engineering2018匹配度 2/10 · 该论文属于自动化调试与故障定位,使用统计故障定位和动态依赖分析,与用户关注的 PL 与 LLM/Agent 交叉、浮点程序分析、贝叶斯程序分析等核心方向无直接关联。虽涉及程序分析和交互式反馈/规格生成,但未涉及 LLM、Agent、静态分析或形式化验证的核心问题。引用 45 inbox
Xiangyu Li, Shaowei Zhu, Marcelo d'Amorim, Alessandro Orso
crossref: 2026-09-12

AI 速览

一句话:提出交互式反馈驱动的故障定位技术 Enlighten,用开发者对数据正确性的反馈逐步缩小可疑范围。

统计故障定位(SFL)虽流行,但依赖开发者调试行为的强假设,常不现实。为此,论文提出 Enlighten:面向失败测试,它首先结合 SFL 与动态依赖分析识别可疑方法调用及对应数据值;然后以输入和输出形式向开发者询问最可疑调用;接着将对单个数据值正确性的反馈编码为额外程序规约;并重复上述步骤直至定位故障。作者在 3 个开源程序的 1807 个真实与植入故障上,用自动 oracle 模拟用户评估,超过 96% 的故障需少于 10 次交互即可定位,敏感性分析表明结果对错误反馈具有鲁棒性。论文还开展了一项 4 个故障、24 名参与者的真实用户研究,使用 Enlighten 的参与者在定位故障数量和耗时上均显著优于未使用者。

问题
统计故障定位依赖关于开发者调试行为的强且常不现实的假设,实际使用中可能限制定位效果。
方法
Enlighten 结合 SFL 和动态依赖分析识别可疑方法调用及其数据值,通过交互式询问输入/输出正确性,将反馈作为额外程序规约并迭代缩小故障范围。
评估
在 3 个开源程序的 1807 个真实与植入故障上使用自动 oracle 模拟用户评估,并做敏感性分析;另对 4 个故障、24 名参与者开展真实用户研究。
原文摘要(Abstract)

Numerous automated techniques have been proposed to reduce the cost of software debugging, a notoriously time-consuming and human-intensive activity. Among these techniques, Statistical Fault Localization (SFL) is particularly popular. One issue with SFL is that it is based on strong, often unrealistic assumptions on how developers behave when debugging. To address this problem, we propose Enlighten, an interactive, feedback-driven fault localization technique. Given a failing test, Enlighten (1) leverages SFL and dynamic dependence analysis to identify suspicious method invocations and corresponding data values, (2) presents the developer with a query about the most suspicious invocation expressed in terms of inputs and outputs, (3) encodes the developer feedback on the correctness of individual data values as extra program specifications, and (4) repeats these steps until the fault is found. We evaluated Enlighten in two ways. First, we applied Enlighten to 1,807 real and seeded faults in 3 open source programs using an automated oracle as a simulated user; for over 96% of these faults, Enlighten required less than 10 interactions with the simulated user to localize the fault, and a sensitivity analysis showed that the results were robust to erroneous responses. Second, we performed an actual user study on 4 faults with 24 participants and found that participants who used Enlighten performed significantly better than those not using our tool, in terms of both number of faults localized and time needed to localize the faults.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot4423,
  title = {Enlightened debugging},
  author = {Xiangyu Li and Shaowei Zhu and Marcelo d'Amorim and Alessandro Orso},
  booktitle = {ICSE},
  year = {2018},
  doi = {10.1145/3180155.3180242}
}