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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
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)
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)
Bodden, E.: Efficient hybrid typestate analysis by determining continuation-equivalent states. In: International Conference on Software Engineering, pp. 5–14 (2010)
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)
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)
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)
d’Amorim, M., Havelund, K.: Event-based runtime verification of Java programs. In: International Workshop on Dynamic Analysis, pp. 1–7 (2005)
Dwyer, M.B., Kinneer, A., Elbaum, S.: Adaptive online program analysis. In: International Conference on Software Engineering, pp. 220–229 (2007)
Flanagan, C., Freund, S.N.: FastTrack: efficient and precise dynamic race detection. In: Conference on Programming Language Design and Implementation, pp. 121–133 (2009)
Havelund, K., Roşu, G.: An overview of the runtime verification tool Java PathExplorer. Formal Methods in System Design 24(2), 189–215 (2004)
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)
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)
Purandare, R.: Exploiting Program and Property Structure for Efficient Runtime Monitoring. PhD thesis, University of Nebraska-Lincoln (May 2011)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)