Introduction to the special section on runtime verification

Introduction

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.

Keywords

Runtime verification Formal specification Monitoring 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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 2005Google Scholar
  2. 2.
    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 2004Google Scholar
  3. 3.
    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 2004Google Scholar
  4. 4.
    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 2011Google Scholar
  5. 5.
    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 2007Google Scholar
  6. 6.
    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 2001Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    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 2006Google Scholar
  9. 9.
    Bauer A., Leucker M., Schallhart C.: Comparing LTL semantics for runtime verification. J. Log. Comput. 20(3), 651–674 (2010)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    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 1989Google Scholar
  11. 11.
    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 2004Google Scholar
  12. 12.
    Bodden, E.: Efficient hybrid typestate analysis by determining continuation-equivalent states. In: International Conference on Software Engineering (ICSE’10), pp. 5–14, May 2010Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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 2007Google Scholar
  15. 15.
    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)CrossRefGoogle Scholar
  16. 16.
    Chen, K., Malik, S., Patra, P.: Runtime validation of transactional memory systems. In: International Symposium on Quality Electronic Design, pp. 750–756 (2008)Google Scholar
  17. 17.
    Clarke E.M., Grumberg O., Peled D.A.: Model checking. MIT Press, Cambridge (2000)Google Scholar
  18. 18.
    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 2010Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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), 2009Google Scholar
  21. 21.
    Drusinsky, D.: The Temporal Rover and the ATG Rover. In: SPIN Model Checking and Software Verification. LNCS, vol. 1885, pp. 323–330 (2000)Google Scholar
  22. 22.
    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 2007Google Scholar
  23. 23.
    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 2006Google Scholar
  24. 24.
    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)Google Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    Finkbeiner B., Sankaranarayanan S., Sipma H.: Collecting statistics about runtime executions. Formal Methods Syst. Des. 27(3), 253–274 (2005)MATHCrossRefGoogle Scholar
  27. 27.
    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)Google Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    Havelund K., Rosu G.: Efficient monitoring of safety properties. Int. J. Softw. Tools Technol. Transf. 6(2), 158–173 (2004)CrossRefGoogle Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    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 1997Google Scholar
  32. 32.
    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)MATHCrossRefGoogle Scholar
  33. 33.
    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 1999Google Scholar
  34. 34.
    Ligatti J., Bauer L., Walker D.: Run-time enforcement of nonsafety policies. ACM Trans. Inform. Syst. Secur. 12(3), 1–41 (2009)CrossRefGoogle Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    Meyer B.: Object-Oriented Software Construction. Prentice Hall, Englewood Cliffs (1988)Google Scholar
  37. 37.
    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 2008Google Scholar
  38. 38.
    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)Google Scholar
  39. 39.
    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 2007Google Scholar
  40. 40.
    Schneider F.B.: Enforceable security policies. ACM Trans. Inform. Syst. Secur. 3(1), 30–50 (2000)CrossRefGoogle Scholar
  41. 41.
    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 2010Google Scholar
  42. 42.
    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 2009Google Scholar
  43. 43.
    Wang L., Stoller S.D.: Runtime analysis of atomicity for multi-threaded programs. IEEE Trans. Softw. Eng. 32, 93–110 (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  1. 1.Department of Computer and Info. ScienceUniversity of PennsylvaniaPhiladelphiaUSA
  2. 2.Jet Propulsion LaboratoryCalifornia Institute of TechnologyCaliforniaUSA

Personalised recommendations