New Generation Computing
Algorithmic Program DeBugging
A Generalised Query Minimisation for Program Debugging
AADEBUG '93 Proceedings of the First International Workshop on Automated and Algorithmic Debugging
A declarative debugger of incorrect answers for constraint functional-logic programs
Proceedings of the 2005 ACM SIGPLAN workshop on Curry and functional logic programming
A Declarative Debugger for Maude Functional Modules
Electronic Notes in Theoretical Computer Science (ENTCS)
A comparative study of algorithmic debugging strategies
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
An algorithmic debugger for Java
ICSM '10 Proceedings of the 2010 IEEE International Conference on Software Maintenance
A survey on algorithmic debugging strategies
Advances in Engineering Software
Hi-index | 0.00 |
Algorithmic debugging is a technique that uses an internal data structure to represent computations and ask about their correctness. The strategy used to explore this data structure is essential for the performance of the technique. The most efficient strategy in practice is Divide and Query that, until now, has been considered optimal in the worst case. In this paper we first show that the original algorithm is inaccurate and moreover, in some situations it is unable to find all possible solutions, thus it is incomplete. Then, we present a new version of the algorithm that solves these problems. Moreover, we introduce a counterexample showing that Divide and Query is not optimal, and we propose the first optimal strategy for algorithmic debugging with respect to the number of questions asked by the debugger.