paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Interactive metamorphic testing of debuggers

调试器的交互式蜕变测试
ISSTA Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis2019匹配度 2/10 · 该论文研究调试器的蜕变测试,属于软件测试/开发者工具验证,与用户核心关注的静态分析、LLM/Agent 结合的程序分析、浮点程序分析或贝叶斯程序分析均无直接交叉。虽然具有工业工具落地和问题驱动特点,但研究方向明显偏离。引用 34 inbox
Sandro Tolksdorf, Daniel Lehmann, Michael Pradel
crossref: 2026-09-12

AI 速览

一句话:提出首个面向调试器的交互式蜕变测试方法,通过运行时变换代码与调试动作检测调试器缺陷。

调试器对开发效率至关重要,但其自身缺陷会误导开发者,例如错误地显示代码未被执行或变量值不符。然而调试器难以测试:输入同时包含被调试源代码与设置断点、单步等调试动作序列。本文提出首个针对调试器的蜕变测试方法。核心思想是变换被调试代码和调试动作,使原始与变换后输入的行为仅按预期方式改变,例如新增断点不应改变控制流。为适应交互性,作者提出交互式蜕变测试:在被测程序运行时动态确定输入变换及其预期行为变化,而非预先固定。评估应用于 Chromium 浏览器广泛使用的调试器,发现 8 个此前未知的缺陷,真实正例率 51%,均获开发者确认,其中 1 个被标记为阻塞发布。

问题
调试器的正确性十分关键,但其输入由源代码和调试动作序列共同组成,传统测试方法难以有效覆盖其交互行为并发现调试器自身缺陷。
方法
提出交互式蜕变测试,在程序运行过程中变换被调试代码与调试动作,并动态确定预期行为变化,从而以蜕变关系检测调试器错误。
评估
将方法应用于 Chromium 浏览器的广泛使用调试器,发现 8 个此前未知的缺陷,真实正例率为 51%;全部缺陷获开发者确认,其中一个被标记为阻塞发布。
原文摘要(Abstract)

When improving their code, developers often turn to interactive debuggers. The correctness of these tools is crucial, because bugs in the debugger itself may mislead a developer, e.g., to believe that executed code is never reached or that a variable has another value than in the actual execution. Yet, debuggers are difficult to test because their input consists of both source code and a sequence of debugging actions, such as setting breakpoints or stepping through code. This paper presents the first metamorphic testing approach for debuggers. The key idea is to transform both the debugged code and the debugging actions in such a way that the behavior of the original and the transformed inputs should differ only in specific ways. For example, adding a breakpoint should not change the control flow of the debugged program. To support the interactive nature of debuggers, we introduce interactive metamorphic testing. It differs from traditional metamorphic testing by determining the input transformation and the expected behavioral change it causes while the program under test is running. Our evaluation applies the approach to the widely used debugger in the Chromium browser, where it finds eight previously unknown bugs with a true positive rate of 51%. All bugs have been confirmed by the developers, and one bug has even been marked as release-blocking.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5381,
  title = {Interactive metamorphic testing of debuggers},
  author = {Sandro Tolksdorf and Daniel Lehmann and Michael Pradel},
  booktitle = {ISSTA},
  year = {2019},
  doi = {10.1145/3293882.3330567}
}