Skip to main content

Synthesizing Monitors for Safety Properties: This Time with Calls and Returns

  • Conference paper
Runtime Verification (RV 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5289))

Included in the following conference series:

Abstract

We present an extension of past time LTL with call/return atoms, called ptCaRet, together with a monitor synthesis algorithm for it. ptCaRet includes abstract variants of past temporal operators, which can express properties over traces in which terminated function or procedure executions are abstracted away into a call and a corresponding return. This way, ptCaRet can express safety properties about procedural programs which cannot be expressed using conventional linear temporal logics. The generated monitors contain both a local state and a stack. The local state is encoded on as many bits as concrete temporal operators the original formula has. The stack pushes/pops bit vectors of size the number of abstract temporal operators the original formula has: push on begins, pop on ends of procedure executions. An optimized implementation is also discussed and is available to download.

Supported by NSF CCF-0448501, NSF CNS-0509321, NASA ARMD safety Program and Air Force STTR phase I award (Topic Number AF07-T019, Proposal Number F074-019-0162).

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhotak, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to AspectJ. In: OOPSLA 2005 (2005)

    Google Scholar 

  2. Alur, R., Etessami, K., Madhusudan, P.: A temporal logic of nested calls and returns. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 467–481. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  3. F.S.L.: at UIUC. ptCaRet MOP Logic Plugin, http://fsl.cs.uiuc.edu/index.php/Special:JavaMOPPTCARETOnline

  4. Avgustinov, P., Tibble, J., de Moor, O.: Making Trace Monitors Feasible. In: OOPSLA 2007 (2007)

    Google Scholar 

  5. Chaudhuri, S., Alur, R.: Instrumenting C programs with nested word monitors. In: Bošnački, D., Edelkamp, S. (eds.) SPIN 2007. LNCS, vol. 4595, pp. 279–283. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  6. Chen, F., Roşu, G.: Towards Monitoring-Oriented Programming: A Paradigm Combining Specif. and Implementation. In: RV 2003. ENTCS, vol. 89(2) (2003)

    Google Scholar 

  7. Chen, F., Roşu, G.: MOP: An Efficient and Generic Runtime Verification Framework. In: OOPSLA 2007 (2007)

    Google Scholar 

  8. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: Maude Manual, http://maude.cs.uiuc.edu

  9. Havelund, K., Roşu, G.: Efficient monitoring of safety properties. Software Tools and Technology Transfer 6(2), 158–173 (2004); In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, Springer, Heidelberg (2002)

    Google Scholar 

  10. Lamport, L.: Proving the correctness of multiprocess programs. IEEE Trans. Software Eng. 3(2), 125–143 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  11. Manna, Z., Pnueli, A.: Temporal verification of reactive systems: safety. Springer-Verlag New York, Inc., New York (1995)

    Book  MATH  Google Scholar 

  12. Roşu, G.: On Safety Properties and Their Monitoring. Technical Report UIUCDCS-R-2007-2850, Dept. of Comp. Sci. Univ. of Illinois at Urbana-Champaign (2007)

    Google Scholar 

  13. Roşu, G., Havelund, K.: Rewriting-based techniques for runtime verification. Automated Software Engineering 12(2), 151–197 (2005)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Roşu, G., Chen, F., Ball, T. (2008). Synthesizing Monitors for Safety Properties: This Time with Calls and Returns. In: Leucker, M. (eds) Runtime Verification. RV 2008. Lecture Notes in Computer Science, vol 5289. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89247-2_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-89247-2_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-89246-5

  • Online ISBN: 978-3-540-89247-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics