Abstract
Runtime verification is a relatively recent area of research that concentrates on checking system execution against formally specified behavioral properties. Primary research directions in runtime verification include logics for monitoring, online checking algorithms, extraction of observations necessary for checking, and reduction of checking overhead. This article gives a brief overview of runtime verification research.
Similar content being viewed by others
References
Allan, C., Avgustinov, P., Kuzins, S., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J., Christensen, A.S., Hendren, L., Lhoták, O.: Adding trace matching with free variables to AspectJ. In: Proceedings of the 20th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA’05), pp. 345–364, October 2005
Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# programming system: an overview. In: Workshop on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices (CASSIS’04). LNCS, vol. 3362, March 2004
Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Rule-based runtime verification. In: Proceedings of 5th International Conference on Verification, Model Checking and Abstract Interpretation (VMCAI’04). LNCS, vol. 2937, pp. 44–57, January 2004
Barringer, H., Havelund, K.: TraceContract: a Scala DSL for trace analysis. In: Proceedings of 17th International Symposium on Formal Methods(FM’11). LNCS, vol. 6664, June 2011
Barringer, H., Rydeheard, D., Havelund, K.: Rule systems for run-time monitoring: From Eagle to RuleR. In: Proceedings of the 7th Workshop on Runtime Verification (RV’07). LNCS, vol. 4839, pp. 111–125, March 2007
Bartetzko, D., Fischer, C., Möller, M., Wehrheim, H.: Jass—Java with assertions. In: Proceedings of the 1st Workshop on Runtime Verification (RV’01), July 2001
Bartussek, W., Parnas, D.L.: Using assertions about traces to write abstract specifications for software modules. In: Proceedings of the 2nd Conference on European Cooperation in Informatics. LNCS, vol. 65, pp. 211–236 (1978)
Bauer, A., Leucker, M., Schallhart, C.: Model-based runtime analysis of distributed reactive systems. In: Proceedings of the 2006 Australian Software Engineering Conference (ASWEC’06), pp. 243–252, April 2006
Bauer A., Leucker M., Schallhart C.: Comparing LTL semantics for runtime verification. J. Log. Comput. 20(3), 651–674 (2010)
Blum, M., Kannan, S.: Designing programs that check their work. In: Proceedings of the 21st Annual ACM Symposium on Theory of Computing, pp. 86–97, May 1989
Bodden, E.: A lightweight LTL runtime verification tool for Java. In: 9th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’04), pp. 306–307, October 2004
Bodden, E.: Efficient hybrid typestate analysis by determining continuation-equivalent states. In: International Conference on Software Engineering (ICSE’10), pp. 5–14, May 2010
Bodden E., Hendren, L.: The Clara framework for hybrid typestate analysis. Software Tools for Technology Transfer, Special Section on Runtime Verification, in this volume (2011)
Bodden, E., Hendren, L., Lhoták, O.: A staged static program analysis to improve the performance of runtime monitoring. In: Proceedings of the 21st European Conference on Object-Oriented Programming (ECOOP’07). LNCS, vol. 4609, pp. 525–549, July 2007
Burdy L., Cheon Y., Cok D., Ernst M., Kiniry J., Leavens G.T., Leino K.R.M., Poll E.: An overview of JML tools and applications. Int. J. Softw. Tools Technol. Transf. 7(3), 212–232 (2005)
Chen, K., Malik, S., Patra, P.: Runtime validation of transactional memory systems. In: International Symposium on Quality Electronic Design, pp. 750–756 (2008)
Clarke E.M., Grumberg O., Peled D.A.: Model checking. MIT Press, Cambridge (2000)
Colombo, C., Pace, G., Abela, P.: Compensation-aware runtime monitoring. In: Proceedings of the 1st International Conference on Runtime Verificaiton (RV’10). LNCS, vol. 6418, pp. 214–228, November 2010
D’Amorim, M., Havelund, K.: Event-based runtime verification of Java programs. In: Workshop on Dynamic Program Analysis (WODA’05). ACM Sigsoft Software Engineering Notes, vol. 30, pp. 1–7 (2005)
De Pauw, W., Heisig, S.: Visual and algorithmic tooling for system trace analysis: a case study. In: Proceedings of the 22nd ACM Symposium on Operating Systems Principles (SOSP’09), 2009
Drusinsky, D.: The Temporal Rover and the ATG Rover. In: SPIN Model Checking and Software Verification. LNCS, vol. 1885, pp. 323–330 (2000)
Dwyer, M.B., Purandare, R.: Residual dynamic typestate analysis: Exploiting static analysis results to reformulate and reduce the cost of dynamic analysis. In: Proceedings of the 22nd International Conference on Automated Software Engineering (ASE’07), pp. 124–133, November 2007
Elmas, T., Qadeer, S., Tasiran, S.: Goldilocks: Efficiently computing the happens-before relation using locksets. In: Proceedings of the Workshop on Formal Approaches to Testing and Runtime Verification (FATES/RV’06), August 2006
Fähndrich, M., Barnett, M., Logozzo, F.: Embedded contract languages. In: Proceedings of the 2010 ACM Symposium on Applied Computing (SAC’10), pp. 2103–2110 (2010)
Falcone, Y., Fernandez, J.-C., Mounier, L.: What can you verify and enforce at runtime? Software Tools for Technology Transfer, Special Section on Runtime Verification, in this volume (2011)
Finkbeiner B., Sankaranarayanan S., Sipma H.: Collecting statistics about runtime executions. Formal Methods Syst. Des. 27(3), 253–274 (2005)
Havelund, K., Rosu, G.: Monitoring Java programs with JavaPathExplorer. In: Proceedings of the 1st Workshop on Runtime Verification. Electronic Notes in Theoretical Computer Science, vol. 55, Elsevier Publishing (2001)
Havelund, K., Rosu, G.: Synthesizing monitors for safety properties. In Proceedings of Tools and Algorithms for Construction and Analysis of Systems (TACAS’02), volume 2280 of LNCS, pages 342–356, (April 2002)
Havelund K., Rosu G.: Efficient monitoring of safety properties. Int. J. Softw. Tools Technol. Transf. 6(2), 158–173 (2004)
Huang, X., Seyster, J., Callanan, S., Dixit, K., Grosu, R., Smolka, S.A., Stoller, S.D., Zadok, E.: Software monitoring with controllable overhead. Software Tools for Technology Transfer, Special Section on Runtime Verification, in this volume (2011)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Videira Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Proceedings of the European Conference on Object-Oriented Programming (ECOOP). LNCS, vol. 1241, pp. 220–242, June 1997
Kim M., Kannan S., Lee I., Sokolsky O., Viswanathan M.: Java-MaC: a run-time assurance approach for Java programs. Formal Methods Syst. Des. 24(2), 129–155 (2004)
Lee, I., Kannan, S., Kim, M., Sokolsky, O., Viswanathan, M.: Runtime assurance based on formal specifications. In: Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA’99), June 1999
Ligatti J., Bauer L., Walker D.: Run-time enforcement of nonsafety policies. ACM Trans. Inform. Syst. Secur. 12(3), 1–41 (2009)
Meredith, P., Jin, D., Griffith, D., Chen, F., Rosu, G.: An overview of the MOP runtime verification framework. Software Tools for Technology Transfer, Special Section on Runtime Verification, in this volume (2011)
Meyer B.: Object-Oriented Software Construction. Prentice Hall, Englewood Cliffs (1988)
Pellizzoni, R., Meredith, P., Caccamo, M., Rosu, G.: Hardware runtime monitoring for dependable COTS-based real-time embedded systems. In: Proceedings of the 29th Real-Time Systems Symposium (RTSS’09), pp. 481–491, December 2008
Qadeer, S., Tasiran, S.: Runtime verification of concurrency-specific correctness criteria. Software Tools for Technology Transfer, Special Section on Runtime Verification, in this volume (2011)
Sammapun, U., Lee, I., Sokolsky, O., Regehr, J.: Statistical runtime checking of probabilistic properties. In: Proceedings of the 7th Workshop on Runtime Verification. LNCS, vol. 4839, pp. 164–175, March 2007
Schneider F.B.: Enforceable security policies. ACM Trans. Inform. Syst. Secur. 3(1), 30–50 (2000)
Seyster, J., Dixit, K., Huang, X., Grosu, R., Havelund, K., Smolka, S.A., Stoller, S.D., Zadok, E.: Aspect-oriented instrumentation with GCC. In: Proceedings of the 1st International Conference on Runtime Verification. LNCS, vol. 6418, pp. 405–420, November 2010
Tripakis, S.: A combined on-line/off-line framework for black-box fault diagnosis. In: Proceedings of the 9th Workshop on Runtime Verification (RV’09), pp. 152–167, July 2009
Wang L., Stoller S.D.: Runtime analysis of atomicity for multi-threaded programs. IEEE Trans. Softw. Eng. 32, 93–110 (2006)
Author information
Authors and Affiliations
Corresponding author
Additional information
Part of the research described in this publication was carried out at Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration.
Rights and permissions
About this article
Cite this article
Sokolsky, O., Havelund, K. & Lee, I. Introduction to the special section on runtime verification. Int J Softw Tools Technol Transfer 14, 243–247 (2012). https://doi.org/10.1007/s10009-011-0218-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-011-0218-6