New Generation Computing
Conditional rewriting logic as a unified model of concurrency
Selected papers of the Second Workshop on Concurrency and compositionality
Declarative diagnosis of missing answers
New Generation Computing
Specification and proof in membership equational logic
Theoretical Computer Science - Trees in algebra and programming
Reflection in Rewriting Logic: Metalogical Foundations and Metaprogramming Applications
Reflection in Rewriting Logic: Metalogical Foundations and Metaprogramming Applications
Membership algebra as a logical framework for equational specification
WADT '97 Selected papers from the 12th International Workshop on Recent Trends in Algebraic Development Techniques
Declarative Diagnosis in the CLP Scheme
Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project)
Algorithmic program debugging
How to look busy while being as lazy as ever: the Implementation of a lazy functional debugger
Journal of Functional Programming
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 comparative study of algorithmic debugging strategies
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
Abstract diagnosis of functional programs
LOPSTR'02 Proceedings of the 12th international conference on Logic based program synthesis and transformation
All about maude - a high-performance logical framework: how to specify, program and verify systems in rewriting logic
Declarative debugging with buddha
AFP'04 Proceedings of the 5th international conference on Advanced Functional Programming
An integrated framework for the diagnosis and correction of rule-based programs
Theoretical Computer Science
A complete declarative debugger for Maude
AMAST'10 Proceedings of the 13th international conference on Algebraic methodology and software technology
Scaling up algorithmic debugging with virtual execution trees
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
EPIA'11 Proceedings of the 15th Portugese conference on Progress in artificial intelligence
An optimal strategy for algorithmic debugging
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Hi-index | 0.00 |
A declarative debugger for Maude functional modules, which correspond to executable specifications in membership equational logic, is presented. Starting from an incorrect computation, declarative debugging builds a debugging tree as a logical representation of the computation, that then is traversed by asking questions to an external oracle until the error is found. We summarize the construction of appropriate debugging trees for oriented equational and membership inferences, where all the nodes whose correctness does not need any justification have been collapsed. The reflective features of Maude allow us to generate and navigate the debugging tree of a Maude computation using operations in Maude itself; even the user interface of the declarative debugger can be specified in this way. We present the debugger's main features, such as two different strategies to traverse the debugging tree, use of a correct module to reduce the number of questions asked to the user, selection of trusted vs. suspicious statements by means of labels, and trusting of statements ''on the fly.''