Advertisement

Backward Trace Slicing for Rewriting Logic Theories

  • María Alpuente
  • Demis Ballis
  • Javier Espert
  • Daniel Romero
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6803)

Abstract

Trace slicing is a widely used technique for execution trace analysis that is effectively used in program debugging, analysis and comprehension. In this paper, we present a backward trace slicing technique that can be used for the analysis of Rewriting Logic theories. Our trace slicing technique allows us to systematically trace back rewrite sequences modulo equational axioms (such as associativity and commutativity) by means of an algorithm that dynamically simplifies the traces by detecting control and data dependencies, and dropping useless data that do not influence the final result. Our methodology is particularly suitable for analyzing complex, textually-large system computations such as those delivered as counter-example traces by Maude model-checkers.

Keywords

Execution Trace Label Procedure Relevant Position Contractum Pattern Rewrite Theory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alpuente, M., Ballis, D., Espert, J., Romero, D.: Backward trace slicing for RWL rewriting logic theories (Technical Report), http://hdl.handle.net/10251/10770
  2. 2.
    Alpuente, M., Ballis, D., Baggi, M., Falaschi, M.: A Fold/Unfold Transformation Framework for Rewrite Theories extended to CCT. In: Proc. PEPM 2010, pp. 43–52. ACM, New York (2010)CrossRefGoogle Scholar
  3. 3.
    Alpuente, M., Ballis, D., Espert, J., Romero, D.: Model-Checking Web Applications with Web-TLR. In: Bouajjani, A., Chin, W.-N. (eds.) ATVA 2010. LNCS, vol. 6252, pp. 341–346. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  4. 4.
    Alpuente, M., Ballis, D., Romero, D.: Specification and Verification of Web Applications in Rewriting Logic. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 790–805. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  5. 5.
    Baggi, M., Ballis, D., Falaschi, M.: Quantitative pathway logic for computational biology. In: Degano, P., Gorrieri, R. (eds.) CMSB 2009. LNCS, vol. 5688, pp. 68–82. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  6. 6.
    Bethke, I., Klop, J.W., de Vrijer, R.: Descendants and origins in term rewriting. Inf. Comput. 159(1-2), 59–124 (2000)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Chen, F., Roşu, G.: Parametric trace slicing and monitoring. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 246–261. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Chitil, O., Runciman, C., Wallace, M.: Freja, hat and hood - a comparative evaluation of three systems for tracing and debugging lazy functional programs. In: Mohnen, M., Koopman, P. (eds.) IFL 2000. LNCS, vol. 2011, pp. 176–193. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  9. 9.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Bevilacqua, V., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)zbMATHGoogle Scholar
  10. 10.
    Clavel, M., Durán, F., Hendrix, J., Lucas, S., Bevilacqua, V., Ölveczky, P.C.: The Maude Formal Tool Environment. In: Mossakowski, T., Montanari, U., Haveraaen, M. (eds.) CALCO 2007. LNCS, vol. 4624, pp. 173–178. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Eker, S.: Associative-Commutative Rewriting on Large Terms. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 14–29. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 12.
    Eker, S., Bevilacqua, V., Sridharanarayanan, A.: The maude LTL model checker and its implementation. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 230–234. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
    Field, J., Tip, F.: Dynamic dependence in term rewriting systems and its application to program slicing. In: Penjam, J. (ed.) PLILP 1994. LNCS, vol. 844, pp. 415–431. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  14. 14.
    Martí-Oliet, N., Meseguer, J.: Rewriting Logic: Roadmap and Bibliography. Theoretical Computer Science 285(2), 121–154 (2002)CrossRefzbMATHMathSciNetGoogle Scholar
  15. 15.
    Riesco, A., Verdejo, A., Martí-Oliet, N.: Declarative Debugging of Missing Answers for Maude Specifications. In: Proc. RTA 2010, LIPIcs, vol. 6, pp. 277–294 (2010)Google Scholar
  16. 16.
    Rosu, G., Havelund, K.: Rewriting-Based Techniques for Runtime Verification. Autom. Softw. Eng. 12(2), 151–197 (2005)CrossRefGoogle Scholar
  17. 17.
    Talcott, C.: Pathway logic. Formal Methods for Computational Systems Biology 5016, 21–53 (2008)CrossRefGoogle Scholar
  18. 18.
    TeReSe (ed.): Term Rewriting Systems. Cambridge University Press, Cambridge (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • María Alpuente
    • 1
  • Demis Ballis
    • 2
  • Javier Espert
    • 1
  • Daniel Romero
    • 1
  1. 1.DSIC-ELPUniversidad Politécnica de ValenciaValenciaSpain
  2. 2.Dipartimento di Matematica e InformaticaUdineItaly

Personalised recommendations