Riesco Rodríguez, Adrián and Verdejo López, José Alberto and Martí Oliet, Narciso (2009) Declarative Debugging of Missing Answers in Rewriting Logic. [ Technical Report SIC; 6-09, ] (Unpublished)
Rewriting logic is a logic of change, where rewrites correspond to transitions between states. One of the main characteristics of these transitions is that they can be nondeterministic, that is, given an initial state, there is a set of possible reachable states. Thus, an additional problem when debugging rewrite systems is that, although all the terms obtained could be correct, it is possible that not all the desired terms are computed, i.e., there are missing answers.
We propose a calculus that allows to infer, given an initial term, the complete set of reachable terms. We use an abbreviation of the proof trees computed with this calculus to build appropriate debugging trees for missing answers, whose adequacy for debugging is proved. We apply then this method to Maude specifications, a high-performance system based on rewriting logic, adding many options to build and navigate the tree. Several examples are shown to illustrate the use of the
debugger and all of its features.
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 using operations in Maude itself. Even the user interface of the declarative debugger for Maude can be specified in Maude itself.
We also describe in detail this metalevel implementation of our tool.
|Item Type:||Working Paper or Technical Report|
|Uncontrolled Keywords:||Declarative debugging, Missing answers, Rewriting logic, Maude, Metalevel implementation|
|Subjects:||Sciences > Computer science > Programming languages (Electronic computers)|
|Series Name:||Technical Report SIC|
|Deposited On:||19 Nov 2009 13:23|
|Last Modified:||15 Sep 2015 08:09|
Repository Staff Only: item control page