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
Algorithmic Program DeBugging
Declarative Diagnosis in the CLP Scheme
Analysis and Visualization Tools for Constraint Programming, Constrain Debugging (DiSCiPl project)
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
Declarative Debugging of Rewriting Logic Specifications
Recent Trends in Algebraic Development Techniques
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
Declarative diagnosis of missing answers in constraint functional-logic programming
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
All about maude - a high-performance logical framework: how to specify, program and verify systems in rewriting logic
A sufficient completeness checker for linear order-sorted specifications modulo axioms
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
A complete declarative debugger for Maude
AMAST'10 Proceedings of the 13th international conference on Algebraic methodology and software technology
Test-Case generation for maude functional modules
WADT'10 Proceedings of the 20th international conference on Recent Trends in Algebraic Development Techniques
Hi-index | 0.00 |
Declarative debugging is a semi-automatic technique that locates a program fragment responsible for the error by building a tree representing the computation and guiding the user through it to find the error. Two different kinds of errors are considered for debugging: wrong answers--a wrong result obtained from an initial value--and missing answers--a term that should be reachable but cannot be obtained from an initial value--, where the latter has only been considered in nondeterministic systems. However, we consider that missing answers can also appear in deterministic systems, when we obtain correct results that do not provide all the expected information, which corresponds, in the context of Maude modules, to terms whose normal form is not reached and to terms whose computed least sort is, although correct, bigger than the expected one. We present in this paper a calculus to deduce normal forms and least sorts, and a proper abbreviation of the trees obtained with it. These trees increase both the causes (missing equations and memberships) and the errors (erroneous normal forms and least sorts) detected in our debugging framework.