Skip to main content
Log in

Abstract

This paper considers a generic approach to runtime verification of temporal properties over first-order theories. This allows especially for the verification of multi-threaded, object-oriented systems. It presents a general framework lifting monitor synthesis procedures for propositional temporal logics to a temporal logic over structures within some first-order theory. To evaluate such specifications SMT solving and classical monitoring of propositional temporal properties are combined. The monitoring procedure was implemented for linear-time temporal logic based on the Z3 SMT solver and evaluated regarding runtime performance.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. Project page: http://www.isp.uni-luebeck.de/junitrv.

  2. The benchmarks and corresponding implementation are available at http://www.isp.uni-luebeck.de/~thoma/junitrv-sttt14.zip.

References

  1. Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L.J., Kuzins, S., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to aspectj. In: Johnson, R.E., Gabriel, R.P. (eds.) Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2005, San Diego, pp. 345–364. ACM (2005)

  2. Alur, R., Etessami, K., Madhusudan, P.: A temporal logic of nested calls and returns. In: Jensen, K., Podelski, A. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, 10th International Conference, TACAS 2004, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2004, Barcelona, Proceedings, Lecture Notes in Computer Science, vol. 2988, pp. 467–481. Springer, Berlin (2004)

  3. Biere, A., Clarke, E.M., Raimi, R., Zhu, Y.: Verifiying safety properties of a power PC microprocessor using symbolic model checking without bdds. In: Halbwachs, N., Peled, D. (eds.) Computer Aided Verification, 11th International Conference, CAV ’99, Trento, Proceedings, Lecture Notes in Computer Science, vol. 1633, pp. 60–71. Springer, Berlin (1999)

  4. Barringer, H., Falcone, Y., Havelund, K., Reger, G., Rydeheard, D.E.: Quantified event automata: Towards expressive and efficient runtime monitors. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012: Formal Methods—18th International Symposium, Paris, Proceedings, Lecture Notes in Computer Science, vol. 7436, pp. 68–84. Springer, Berlin (2012)

  5. Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Rule-based runtime verification. In: Steffen, B., Levi, G. (eds.) Verification, Model Checking, and Abstract Interpretation, 5th International Conference, VMCAI 2004, Venice, Proceedings, Lecture Notes in Computer Science, vol. 2937, pp. 44–57. Springer, Berlin (2004)

  6. Backasch, R., Hochberger, C., Weiss, A., Leucker, M., Lasslop, R.: Runtime verification for multicore soc with high-quality trace data. ACM Trans. Design Autom. Electron. Syst. 18(2), 18 (2013)

    Article  Google Scholar 

  7. Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.) Model-Based Testing of Reactive Systems, Advanced Lectures (the volume is the outcome of a research seminar that was held in Schloss Dagstuhl in January 2004), Lecture Notes in Computer Science, vol. 3472. Springer, Berlin (2005)

  8. Basin, D.A., Klaedtke, F., Müller, S.: Policy monitoring in first-order temporal logic. In: Touili, T., Cook, B., Jackson, P. (eds.) Computer Aided Verification, 22nd International Conference, CAV 2010, Edinburgh, Proceedings, Lecture Notes in Computer Science, vol. 6174, pp. 1–18. Springer, Berlin (2010)

  9. Bauer, A., Küster, J.-C., Vegliach, G.: From propositional to first-order monitoring. In: Legay, A., Bensalem, S. (eds.) Runtime Verification—4th International Conference, RV 2013, Rennes, Proceedings, Lecture Notes in Computer Science, vol. 8174, pp. 59–75. Springer, Berlin (2013)

  10. Bauer, A., Leucker, M., Schallhart, C.: Monitoring of real-time properties. In: Arun-Kumar, S., Garg, N. (eds.) FSTTCS 2006: Foundations of Software Technology and Theoretical Computer Science, 26th International Conference, Kolkata, Proceedings, Lecture Notes in Computer Science, vol. 4337, pp. 260–272. Springer, Berlin (2006)

  11. Bauer, A., Leucker, M., Schallhart, C.: The good, the bad, and the ugly, but how ugly is ugly? In: Sokolsky, O., Tasiran, S. (eds.) Runtime Verification, 7th International Workshop, RV 2007, Vancouver, Revised Selected Papers, Lecture Notes in Computer Science, vol. 4839, pp. 126–138. Springer, Berlin (2007)

  12. Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. 20(4), 14 (2011)

    Article  Google Scholar 

  13. Barringer, H., Rydeheard, D.E., Havelund, K.: Rule systems for run-time monitoring: from eagleto ruler. In: Sokolsky, O., Tasiran, S. (eds.) Runtime Verification, 7th International Workshop, RV 2007, Vancouver, Revised Selected Papers, Lecture Notes in Computer Science, vol. 4839, pp. 111–125. Springer, Berlin (2007)

  14. Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Massachusetts (2001)

    Book  Google Scholar 

  15. Colombo, C., Pace, G.J., Schneider, G.: LARVA—safer monitoring of real-time java programs (tool paper). In: Van Hung, D., Krishnan, P. (eds.) Seventh IEEE International Conference on Software Engineering and Formal Methods, SEFM 2009, Hanoi, , pp. 33–37. IEEE Computer Society (2009)

  16. Chen, F., Rosu, G.: Java-mop: a monitoring oriented programming environment for java. In: Halbwachs, N., Zuck, L.D. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, 11th International Conference, TACAS 2005, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2005, Edinburgh, Proceedings, Lecture Notes in Computer Science, vol. 3440, pp. 546–550. Springer, Berlin (2005)

  17. Chen, F., Rosu, G.: Parametric trace slicing and monitoring. In: Kowalewski, S., Philippou, A. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, 15th International Conference, TACAS 2009, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, York, Proceedings, Lecture Notes in Computer Science, vol. 5505, pp. 246–261. Springer, Berlin (2009)

  18. Decker, N., Kühn, F., Thoma, D.: Runtime verification of web services for interconnected medical devices. In: 25th IEEE International Symposium on Software Reliability Engineering, ISSRE 2014, Naples, pp. 235–244. IEEE (2014)

  19. Dong, W., Leucker, M., Schallhart, C.: Impartial anticipation in runtime-verification. In: Cha, S.D., Choi, J.-Y., Kim, M., Lee, I., Viswanathan, M. (eds.) Automated Technology for Verification and Analysis, 6th International Symposium, ATVA 2008, Seoul, Proceedings, Lecture Notes in Computer Science, vol. 5311, pp. 386–396. Springer, Berlin (2008)

  20. Decker, N., Leucker, M., Thoma, D.: Impartiality and anticipation for monitoring of visibly context-free properties. In: Legay, A., Bensalem, S. (eds.) Runtime Verification—4th International Conference, RV 2013, Rennes, Proceedings, Lecture Notes in Computer Science, vol. 8174, pp. 183–200. Springer, Berlin (2013)

  21. Decker, N., Leucker, M., Thoma, D.: junit\(^{{\rm rv}}\)-adding runtime verification to junit. In: Brat, G., Rungta, N., Venet, A. (eds.) NASA Formal Methods, 5th International Symposium, NFM 2013, Moffett Field, Proceedings, Lecture Notes in Computer Science, vol. 7871, pp. 459–464. Springer, Berlin (2013)

  22. Decker, N., Leucker, M., Thoma, D.: Monitoring modulo theories. In: Ábrahám, E., Havelund, K. (eds.) Tools and Algorithms for the Construction and Analysis of Systems—20th International Conference, TACAS 2014, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2014, Grenoble, Proceedings, Lecture Notes in Computer Science, vol. 8413, pp. 341–356. Springer, Berlin (2014)

  23. de Moura, L.M., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference, TACAS 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Proceedings, Lecture Notes in Computer Science, vol. 4963, pp. 337–340. Springer, Berlin (2008)

  24. de Moura, L.M., Bjørner, N.: Satisfiability modulo theories: introduction and applications. Commun. ACM 54(9), 69–77 (2011)

    Article  Google Scholar 

  25. Ebbinghaus, H.-D., Flum, J., Thomas, W.: Mathematical Logic, 2nd edn. Undergraduate Texts in Mathematics. Springer, Berlin (1994)

    Book  Google Scholar 

  26. Forgy, C.: Rete: a fast algorithm for the many patterns/many objects match problem. Artif. Intell. 19(1), 17–37 (1982)

    Article  Google Scholar 

  27. Havelund, Klaus: Monitoring with data automata. In: Margaria, Tiziana, Steffen, Bernhard (eds.) Leveraging Applications of Formal Methods, Verification and Validation. Specialized Techniques and Applications—6th International Symposium, ISoLA 2014, Imperial, Corfu, Proceedings, Part II, Lecture Notes in Computer Science, vol. 8803, pp. 254–273. Springer, Berlin (2014)

  28. Havelund, K.: Rule-based runtime verification revisited. STTT 17(2), 143–170 (2015)

    Article  Google Scholar 

  29. Leucker, M., Sánchez, C.: Regular linear temporal logic. In: Jones, C.B., Liu, Z., Woodcock, J. (eds.) Theoretical Aspects of Computing—ICTAC 2007, 4th International Colloquium, Macau, Proceedings, Lecture Notes in Computer Science, vol. 4711, pp. 291–305. Springer, Berlin (2007)

  30. Leucker, M., Schallhart, C.: A brief account of runtime verification. J. Log. Algebr. Program. 78(5), 293–303 (2009)

    Article  MATH  Google Scholar 

  31. Meredith, P.O.N., Jin, D., Griffith, D., Chen, F., Rosu, G.: An overview of the MOP runtime verification framework. STTT 14(3), 249–289 (2012)

    Article  Google Scholar 

  32. Stolz, V., Bodden, E.: Temporal assertions using aspectj. Electron. Notes Theor. Comput. Sci. 144(4), 109–124 (2006)

    Article  Google Scholar 

  33. Stolz, V.: Temporal assertions with parametrized propositions. J. Log. Comput. 20(3), 743–757 (2010)

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Normann Decker or Daniel Thoma.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Decker, N., Leucker, M. & Thoma, D. Monitoring modulo theories. Int J Softw Tools Technol Transfer 18, 205–225 (2016). https://doi.org/10.1007/s10009-015-0380-3

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-015-0380-3

Keywords

Navigation