Declarative Debugging of Maude Functional Modules
Loading...
Download
Official URL
Full text at PDC
Publication date
2007
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citation
Abstract
We introduce a declarative debugger for Maude functional modules, which correspond to executable specifications in membership equational logic. First we describe the construction of appropriate debugging trees for oriented equational and membership inferences. These trees are obtained as the result of collapsing in proof trees all
those nodes whose correction does not need any justification.
Since Maude supports the reflective features in its underlying logic, it includes a predefined META-LEVEL module providing access to metalevel concepts such as specifications or computations as usual data. This allows 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 for Maude can be specified in Maude itself. We describe in detail this metalevel implementation of our tool.
Finally, we include several extended examples to illustrate the use of the declarative debugger and its 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.”