The Omission Finder for Debugging What-Should-Have-Happened Bugs in Object-Oriented Programs

The Omission Finder for Debugging What-Should-Have-Happened Bugs in Object-Oriented Programs
复制标题

用于调试面向对象程序中应该发生的错误的遗漏查找器

DOI:
10.1145/2695664.2695735
复制
发表时间:
2015
期刊:
SAC '14: Proceedings of the 29th Annual ACM Symposium on Applied Computing
影响因子:
--
通讯作者:
Hidehiko Masuhara
Hidehiko Masuhara
中科院分区:
--
文献类型:
--
作者:
Kouhei Sakurai;Hidehiko Masuhara

文献摘要

相似文献

基于跟踪的调试器通过在程序运行中显示已执行操作的历史记录及其参数来帮助调试过程。但是,当程序没有执行应该执行的操作时,这些调试器无法提供任何线索。本文提出了一种新的功能称为遗漏的发现者跟踪为基础的调试器。此功能将指向分析结果与执行历史记录相关联,以显示在程序行为不同的情况下可能在指定实例上执行但实际上没有执行的操作。我们实现了省略查找现有的基于跟踪的调试器上,并确认减少了调试步骤的数量与遗漏的错误在现实世界中的程序。我们的用户研究还表明,减少调试时间与程序包含遗漏错误。
Trace-based debuggers help a debugging process by displaying a history of executed operations with their parameters in a run of a program. However, those debuggers are unable to provide any clues when a program doesnotperform operations that ought to occur. This paper proposes a novel feature called theomission finderfor trace-based debuggers. This feature correlates points-to analysis results with an execution history to show operations that could have been but actually were not performed on a specified instance if the program behaved differently. We implemented the omission finder on top of an existing trace-based debugger, and confirmed reduction of the number of debugging steps with an omission bug in a real-world program. Our user-study also showed reduction of debugging times with programs containing omission bugs.