New Generation Computing
Generalized algorithmic debugging and testing
ACM Letters on Programming Languages and Systems (LOPLAS)
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
Hi-index | 0.00 |
Algorithmic debugging is a semi-automatic debugging technique that allows the programmer to precisely identify the location of bugs without the need to inspect the source code. The technique has been successfully adapted to all paradigms and mature implementations have been released for languages such as Haskell, Prolog or Java. During three decades, the algorithm introduced by Shapiro and later improved by Hirunkitti has been thought optimal. In this paper we first show that this algorithm is not optimal, 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 is proven optimal, and we introduce some equations that allow the algorithm to identify all optimal solutions.