Simplifying Questions in Maude Declarative Debugger by Transforming Proof Trees
Declarative debugging is a debugging technique that abstracts the execution details that in general may be difficult to follow in declarative languages to focus on results. It relies on a data structure representing the wrong computation, the debugging tree, which is traversed by asking questions to the user about the correctness of the computation steps related to each node. Thus, the complexity of the questions is an important factor regarding the applicability of the technique. In this paper we present a transformation for debugging trees for Maude specifications that ensures that any subterm occurring in a question has been previously replaced by the most reduced form that it has taken during the computation, thus ensuring that questions become as simple as possible.
Keywordsdeclarative debugging Maude proof tree transformation
Unable to display preview. Download preview PDF.
- 2.Caballero, R., Martí-Oliet, N., Riesco, A., Verdejo, A.: Improving the debugging of membership equational logic specifications. Technical Report SIC-02-11, Dpto. Sistemas Informáticos y Computación, Universidad Complutense de Madrid (March 2011), http://maude.sip.ucm.es/debugging/
- 5.Davie, T., Chitil, O.: Hat-Delta: One right does make a wrong. In: 7th Symposium on Trends in Functional Programming, TFP 2006 (2006)Google Scholar
- 6.Eker, S.: Term rewriting with operator evaluation strategies. In: Proceedings of the 2nd International Workshop on Rewriting Logic and its Applications, WRLA 1998. Electronic Notes in Theoretical Computer Science, vol. 15, pp. 311–330 (1998)Google Scholar
- 7.Insa, D., Silva, J., Riesco, A.: Balancing execution trees. In: Gulías, V.M., Silva, J., Villanueva, A. (eds.) Proceedings of the 10th Spanish Workshop on Programming Languages, PROLE 2010, pp. 129–142. Ibergarceta Publicaciones (2010)Google Scholar
- 8.MacLarty, I.: Practical declarative debugging of Mercury programs. Master’s thesis, University of Melbourne (2005)Google Scholar
- 10.Naish, L.: A declarative debugging scheme. Journal of Functional and Logic Programming 1997(3) (1997)Google Scholar
- 14.Riesco, A., Verdejo, A., Martí-Oliet, N., Caballero, R.: Declarative debugging of rewriting logic specifications. Journal of Logic and Algebraic Programming (2011) (to appear)Google Scholar
- 15.Shapiro, E.Y.: Algorithmic Program Debugging. ACM Distinguished Dissertation. MIT Press (1983)Google Scholar