paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Feedback-directed differential testing of interactive debuggers

面向交互式调试器的反馈导向差分测试
FSE Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2018匹配度 2/10 · 论文聚焦交互式调试器的自动化差分测试,属于软件工程中的测试与调试方向;与用户核心关注的静态分析、LLM/Agent 结合、浮点程序分析或贝叶斯程序分析均无直接关联。引用 37 inbox
Daniel Lehmann, Michael Pradel
crossref: 2026-09-12

AI 速览

一句话:提出首个交互式调试器自动化测试技术 DBDB,通过差分比较执行轨迹发现调试器自身缺陷。

交互式调试器是开发者理解、定位和修复程序错误的重要工具,但调试器本身也是软件,可能存在缺陷,从而使调试过程变得困难,甚至让开发者误以为代码中存在并不存在的错误。然而,测试调试器与已被充分研究的编译器测试有本质区别:调试器具有交互性,且缺少对期望行为的规约。本文提出首个针对交互式调试器的自动化测试技术 DBDB。该方法生成调试器动作来驱动调试器执行,并记录用于概括调试器行为的轨迹;通过将多个调试器的轨迹相互比较,识别出指向缺陷及其他值得注意差异的行为分歧。作者在 Firefox 与 Chromium 的 JavaScript 调试器上评估 DBDB,共发现 19 个此前未被报告的缺陷,其中 8 个已被开发者修复。

问题
调试器自身可能存在缺陷,导致调试困难甚至误导开发者,但调试器具有交互性且缺乏期望行为规约,现有编译器测试方法难以直接适用。
方法
DBDB 自动生成调试器动作来驱动调试器执行,记录概括其行为的轨迹,并通过跨多个调试器比较轨迹来发现行为分歧,从而定位缺陷。
评估
在 Firefox 与 Chromium 的 JavaScript 调试器上评估 DBDB,发现 19 个此前未报告的缺陷,其中 8 个已被开发者修复。
原文摘要(Abstract)

To understand, localize, and fix programming errors, developers often rely on interactive debuggers. However, as debuggers are software, they may themselves have bugs, which can make debugging unnecessarily hard or even cause developers to reason about bugs that do not actually exist in their code. This paper presents the first automated testing technique for interactive debuggers. The problem of testing debuggers is fundamentally different from the well-studied problem of testing compilers because debuggers are interactive and because they lack a specification of expected behavior. Our approach, called DBDB, generates debugger actions to exercise the debugger and records traces that summarize the debugger's behavior. By comparing traces of multiple debuggers with each other, we find diverging behavior that points to bugs and other noteworthy differences. We evaluate DBDB on the JavaScript debuggers of Firefox and Chromium, finding 19 previously unreported bugs, eight of which are already fixed by the developers.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot4586,
  title = {Feedback-directed differential testing of interactive debuggers},
  author = {Daniel Lehmann and Michael Pradel},
  booktitle = {FSE},
  year = {2018},
  doi = {10.1145/3236024.3236037}
}