Riesco Rodríguez, Adrián y Verdejo López, José Alberto y Martí Oliet, Narciso (2009) Declarative Debugging of Missing Answers in Rewriting Logic. [ Technical Report SIC; 6-09, ] (No publicado)
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.
|Tipo de documento:||Documento de trabajo o Informe técnico|
|Palabras clave:||Declarative debugging, Missing answers, Rewriting logic, Maude, Metalevel implementation|
|Materias:||Ciencias > Informática > Lenguajes de programación|
|Título de serie o colección:||Technical Report SIC|
|Depositado:||19 Nov 2009 13:23|
|Última Modificación:||15 Sep 2015 08:09|
Descargas en el último año
Sólo personal del repositorio: página de control del artículo