Feedback-directed differential testing of interactive debuggers
Feedback-directed differential testing of interactive debuggers
复制标题
DOI:
10.1145/3236024.3236037
复制
发表时间:
2018-09
期刊:
影响因子:
--
通讯作者:
Daniel Lehmann;Michael Pradel
中科院分区:
文献类型:
--
作者:
Daniel Lehmann;Michael Pradel
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.