Rational debugging in logic programming
Proceedings on Third international conference on logic programming
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Information Processing Letters
Generalized algorithmic debugging and testing
ACM Letters on Programming Languages and Systems (LOPLAS)
Algorithmic Program DeBugging
Tracing Lazy Functional Computations Using Redex Trails
PLILP '97 Proceedings of the9th International Symposium on Programming Languages: Implementations, Logics, and Programs: Including a Special Trach on Declarative Programming Languages in Education
Chopping: A Generalization of Slicing
Chopping: A Generalization of Slicing
Dynamic slicing based on redex trails
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Source-Based trace exploration
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Structure and Properties of Traces for Functional Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
State of the Practice in Algorithmic Debugging
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
A survey on algorithmic debugging strategies
Advances in Engineering Software
Hi-index | 0.00 |
Currently, program slicing and algorithmic debugging are two of the most relevant debugging techniques for declarative languages. They help programmers to find bugs in a semiautomatic manner. On the one hand, program slicing is a technique to extract those program fragments that (potentially) affect the values computed at some point of interest. On the other hand, algorithmic debugging is able to locate a bug by automatically generating a series of questions and processing the programmer's answers. In this work, we show for functional languages how the combination of both techniques produces a more powerful debugging schema that reduces the number of questions that programmers must answer to locate a bug