A declarative debugger for Maude

Adrián Riesco, Alberto Verdejo, Narciso Martí-Oliet, and Rafael Caballero

In J. Meseguer and G. Rosu, editors, Algebraic Methodology and Software Technology - 12th International Conference, AMAST 2008, LNCS 5140, pages 116-221. Springer, 2008. © Springer-Verlag

Abstract: Declarative debugging has been applied to many declarative programming paradigms; in this paper, a declarative debugger for rewriting logic specifications, embodied in the Maude language, is presented. Starting from an incorrect computation (a reduction, a type inference, or a rewrite), the debugger builds a tree representing this computation and guides the user through it to find a wrong statement. We present the debugger's main features, such as support for functional and system modules, two possible constructions of the debugging tree, two different strategies to traverse it, use of a correct module to reduce the number of questions asked to the user, selection of trusted vs. suspicious statements, and trusting of statements "on the fly".

[pdf]

@inproceedings{amast08,
    Author = {Adri\'an Riesco and Alberto Verdejo and 
              Narciso Mart\'{\i}-Oliet and Rafael Caballero},
    Booktitle = {Algebraic Methodology and Software Technology --- 
    12th International Conference, AMAST 2008 Urbana, IL, USA, July 28-31, 2008 Proceedings},
    Editor = {Jos{\'\e} Meseguer and Grigore Ro\c{s}u},
    Pages = {116-121},
    Publisher = {Springer},
    Series = {Lecture Notes in Computer Science},
    Title = {A declarative debugger for {Maude}},
    Volume = {5140},
    Year = {2008}}