Academia.eduAcademia.edu

Outline

Debugging of Web Applications with Web-TLR

2011, Electronic Proceedings in Theoretical Computer Science

https://doi.org/10.4204/EPTCS.61.5

Abstract

WEB-TLR is a Web verification engine that is based on the well-established Rewriting Logic-Maude/LTLR tandem for Web system specification and model-checking. In WEB-TLR, Web applications are expressed as rewrite theories that can be formally verified by using the Maude built-in LTLR model-checker. Whenever a property is refuted, a counterexample trace is delivered that reveals an undesired, erroneous navigation sequence. Unfortunately, the analysis (or even the simple inspection) of such counterexamples may be unfeasible because of the size and complexity of the traces under examination. In this paper, we endow WEB-TLR with a new Web debugging facility that supports the efficient manipulation of counterexample traces. This facility is based on a backward trace-slicing technique for rewriting logic theories that allows the pieces of information that we are interested to be traced back through inverse rewrite sequences. The slicing process drastically simplifies the computation trace by dropping useless data that do not influence the final result. By using this facility, the Web engineer can focus on the relevant fragments of the failing application, which greatly reduces the manual debugging effort and also decreases the number of iterative verifications.

References (18)

  1. α admin 'u := getSession("user") ;
  2. 'adm := selectDB("adminPage") ; if ( 'adm != 'u) then setSession("adminPage", "busy")
  3. else setSession("adminPage", "free")) ;
  4. updateDB( "adminPage", 'u) )
  5. fi and the piece of code that patches α index is: α index 'adm := getSession("adminPage") ; if ('adm = "free") then updateDB("adminPage", "free") fi ;
  6. M. Alpuente, D. Ballis, J. Espert & D. Romero (2011): Backward Trace Slicing for Rewriting Logic Theories. In: The 23rd International Conference on Automated Deduction CADE 2011, Lecture Notes in Computer Science, Springer-Verlag. To appear.
  7. M. Alpuente, D. Ballis, J. Espert & D.l Romero (2010): Model-checking Web Applications with Web-TLR. In: 8th Int'l Symp. on Automated Technology for Verification and Analysis ATVA 2010, Lecture Notes in Computer Science 6252, Springer.Verlag, pp. 341-346. Available at http://dx.doi.org/10.1007/ 978-3-642-15643-4_25.
  8. M. Alpuente, D. Ballis & D. Romero (2009): Specification and Verification of Web Applications in Rewriting Logic. In: Formal Methods, Second World Congress FM 2009, Lecture Notes in Computer Science 5850, Springer.Verlag, pp. 790-805. Available at http://dx.doi.org/10.1007/978-3-642-05089-3_50.
  9. M. Alpuente, D. Ballis, J. Espert & D. Romero (2011): Dynamic Backward Slicing of Rewriting Logic Computations. CoRR abs/1105.2665. Available at http://arxiv.org/abs/1105.2665.
  10. K. Bae & J. Meseguer (2008): A Rewriting-Based Model Checker for the Linear Temporal Logic of Rewriting. In: Proc. of the 9th International Workshop on Rule-Based Programming (RULE'08), Electronic Notes in Theoretical Computer Science, Elsevier.
  11. M. Clavel, F. Durán, S. Eker, P. Lincoln, N. Martí-Oliet, J. Meseguer & C. Talco (2009): Maude Manual (Version 2.4). Technical Report, SRI International, Computer Science Laboratory. Available at http:// maude.cs.uiuc.edu/maude2-manual/.
  12. M. Clavel, F. Durán, S. Eker, P. Lincoln, N. Martí-Oliet, J. Meseguer & C. Talcott (2007): All About Maude: A High-Performance Logical Framework. Lecture Notes in Computer Science 4350, Springer-Verlag. Available at http://dx.doi.org/10.1007/978-3-540-71999-1.
  13. S. Eker, J. Meseguer & A. Sridharanarayanan (2003): The Maude LTL model checker and its implementation. In: Model Checking Software: Proc. 10 th Intl. SPIN Workshop, Lecture Notes in Computer Science 2648, Springer, pp. 230-234. Available at http://dx.doi.org/10.1007/3-540-44829-2_16.
  14. T. R. Fielding & R. N. Taylor (2002): Principled Design of the Modern Web Architecture. ACM Transactions on Internet Technology 2(2), pp. 115-150.
  15. N. Martí-Oliet & J. Meseguer (2002): Rewriting Logic: Roadmap and Bibliography. Theoretical Computer Science 285(2), pp. 121-154.
  16. J. Meseguer (2008): The Temporal Logic of Rewriting: A Gentle Introduction. In: Concurrency, Graphs and Models: Essays Dedicated to Ugo Montanari on the Occasion of his 65th Birthday, 5065, Springer-Verlag, Berlin, Heidelberg, pp. 354-382. Available at http://dx.doi.org/10.1007/978-3-540-68679-8_22.
  17. J. Meseguer S. Escobar, C. Meadows (2006): A Rewriting-Based Inference System for the NRL Protocol Analyzer and its Meta-Logical Properties. Theoretical Computer Science 367(1-2), pp. 162-202. Available at http://dx.doi.org/10.1016/j.tcs.2006.08.035.
  18. F. Weitl, S. Nakajima & B. Freitag (2010): From Counterexamples to Incremental Interactive Tracing of Errors (Schrittweise Fehleranalyse auf der Grundlage von Model-Checking). it -Information Technology 52(5), pp. 295-297. Available at http://dx.doi.org/10.1524/itit.2010.0606.