Skip to main content

Monitoring Finite State Properties: Algorithmic Approaches and Their Relative Strengths

  • Conference paper

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

Abstract

Monitoring complex applications to detect violations from specified properties is a promising field that has seen the development of many novel techniques and tools in the last decade. In spite of this effort, limiting, understanding, and predicting the cost of monitoring has been a challenge. Existing techniques primarily target the overhead caused by the large number of monitor instances to be maintained and the large number of events generated by the program that are related to the property. However, other factors, in particular, the algorithm used to process the sequence of events can significantly influence runtime overhead. In this work, we describe three basic algorithmic approaches to finite state monitoring and distill some of their relative strengths by conducting preliminary studies. The results of the studies reveal non-trivial differences in runtime overhead when using different monitoring algorithms that can inform future work.

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

Buying options

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

Learn about 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., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to AspectJ. In: Conference on Object-oriented Programming, Systems, Languages, and Applications, pp. 345–364 (2005)

    Google Scholar 

  2. Arnold, M., Vechev, M., Yahav, E.: QVM: an efficient runtime for detecting defects in deployed systems. In: Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 143–162 (2008)

    Google Scholar 

  3. Avgustinov, P., Tibble, J., de Moor, O.: Making trace monitors feasible. In: Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 589–608 (2007)

    Google Scholar 

  4. Blackburn, S.M., Garner, R., Hoffman, C., Khan, A.M., McKinley, K.S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S.Z., Hirzel, M., Hosking, A., Jump, M., Lee, H., Moss, J.E.B., Phansalkar, A., Stefanović, D., VanDrunen, T., von Dincklage, D., Wiedermann, B.: The DaCapo benchmarks: Java benchmarking development and analysis. In: Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 169–190 (2006)

    Google Scholar 

  5. Bodden, E.: Efficient hybrid typestate analysis by determining continuation-equivalent states. In: International Conference on Software Engineering, pp. 5–14 (2010)

    Google Scholar 

  6. Bodden, E., Hendren, L., Lhoták, O.: A Staged Static Program Analysis to Improve the Performance of Runtime Monitoring. In: Bateni, M. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 525–549. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  7. Chen, F., Roşu, G.: Java-MOP: A Monitoring Oriented Programming Environment for Java. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 546–550. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  8. Chen, F., Roşu, G.: Mop: an efficient and generic runtime verification framework. In: Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 569–588 (2007)

    Google Scholar 

  9. d’Amorim, M., Havelund, K.: Event-based runtime verification of Java programs. In: International Workshop on Dynamic Analysis, pp. 1–7 (2005)

    Google Scholar 

  10. Dwyer, M.B., Kinneer, A., Elbaum, S.: Adaptive online program analysis. In: International Conference on Software Engineering, pp. 220–229 (2007)

    Google Scholar 

  11. Flanagan, C., Freund, S.N.: FastTrack: efficient and precise dynamic race detection. In: Conference on Programming Language Design and Implementation, pp. 121–133 (2009)

    Google Scholar 

  12. Havelund, K., Roşu, G.: An overview of the runtime verification tool Java PathExplorer. Formal Methods in System Design 24(2), 189–215 (2004)

    Article  MATH  Google Scholar 

  13. Kim, M., Viswanathan, M., Kannan, S., Lee, I., Sokolsky, O.V.: Java-MaC: A run-time assurance approach for Java programs. Formal Methods in System Design 24(2), 129–155 (2004)

    Article  MATH  Google Scholar 

  14. Meredith, P., Jin, D., Chen, F., Roşu, G.: Efficient monitoring of parametric context-free patterns. Journal of Automated Software Engineering 17(2), 149–180 (2010)

    Article  Google Scholar 

  15. Purandare, R.: Exploiting Program and Property Structure for Efficient Runtime Monitoring. PhD thesis, University of Nebraska-Lincoln (May 2011)

    Google Scholar 

  16. Purandare, R., Dwyer, M.B., Elbaum, S.: Monitor optimization via stutter-equivalent loop transformation. In: Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 270–285 (2010)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Purandare, R., Dwyer, M.B., Elbaum, S. (2012). Monitoring Finite State Properties: Algorithmic Approaches and Their Relative Strengths. In: Khurshid, S., Sen, K. (eds) Runtime Verification. RV 2011. Lecture Notes in Computer Science, vol 7186. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-29860-8_31

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-29860-8_31

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-29859-2

  • Online ISBN: 978-3-642-29860-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics