skip to main content
article

Event-based runtime verification of java programs

Published:17 May 2005Publication History
Skip Abstract Section

Abstract

We introduce the temporal logic HAWK and its supporting tool for runtime verification of Java programs. A monitor for a HAWK formula checks if a finite trace of program events satisfies the formula. HAWK is a programming-oriented extension of the rule-based EAGLE logic that has been shown capable of defining and implementing a range of finite trace monitoring logics, including future and past time temporal logic, metric (real-time) temporal logics, interval logics, forms of quantified temporal logics, extended regular expressions, state machines, and others. Monitoring is achieved on a state-by-state basis avoiding any need to store the input trace. HAWK extends EAGLE with constructs for capturing parameterized program events such as method calls and method returns. Parameters can be executing thread, the objects that methods are called upon, arguments to methods, and return values. HAWK allows one to refer to these in formulae. The tool synthesizes monitors from formulae and automates program instrumentation.

References

  1. 1st, 2nd, 3rd, and 4th CAV Workshops on Runtime Verification (RV'01 - RV'04), volume 55(2), 70(4), 89(2), 113 of ENTCS. Elsevier Science: 2001, 2002, 2003, 2004.Google ScholarGoogle Scholar
  2. Eiffel language, 2005. http://www.eiffel.com/.Google ScholarGoogle Scholar
  3. C. Artho, D. Drusinsky, A. Goldberg, K. Havelund, M. Lowry, C. Pasareanu, G. Roşu, and W. Visser. Experiments with Test Case Generation and Runtime Analysis. In E. Börger, A. Gargantini, and E. Riccobene, editors, Abstract State Machines (ASM'03), volume 2589 of LNCS, pages 87--107. Springer, March 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H. Barringer, A. Goldberg, K. Havelund, and K. Sen. Rule-Based Runtime Verification. In Proceedings of the 5th International Conference on Verification, Model Chacking, and Abstract Interpretation (VMCAI'04), volume 55(2), 70(4), 89(2) of LNCS, Venice, Italy, Jan 2004. Springer.Google ScholarGoogle Scholar
  5. D. Bartetzko, C. Fisher, M. Moller, and H. Wehrheim. Jass-Java with Assertions. In K. Havelund and G. Roşu, editors, Proceedings of the First Workshop on Runtime Verification (RV'01), volume 55 of ENTCS, Paris, France, 2001. Elsevier Science.Google ScholarGoogle Scholar
  6. F. Chen, M. d'Amorim, and G. Roşu. A Formal Monitoring-Based Framework for Software Development and Analysis. In Proceedings of ICFEM'04, volume 3308 of LNCS, pages 357--372, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  7. E. M. Clarke, O. Grumberg, and D. A. Peled. Model Checking. The MIT Press, Cambridge, Massachusetts, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. d'Amorim and G. Roşu. Efficient Monitoring of ω-languages. to appear in Computer Aided Verification (CAV'05).Google ScholarGoogle Scholar
  9. D. Drusinsky. The Temporal Rover and the ATG Rover. In K. Havelund, J. Penix, and W. Visser, editors, SPIN Model Checking and Software Verification, volume 1885 of LNCS, pages 323--330. Springer, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Gabbay. The Declarative Past and Imperative Future: Executable Temporal Logic for Interactive Systems. In Proceedings of the 1st Conference on Temporal Logic in Specification, Altrincham, April 1987, volume 398 of LNCS, pages 409--448, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. K. Havelund and G. Roşu. Monitoring Java Programs with Java PathExplorer. In Proceedings of the 1st International Workshop on Runtime Verification (RV'01) {1}, pages 97--114. Extended version to appear in the journal: Formal Methods in System Design, Kluwer, 2004.Google ScholarGoogle Scholar
  12. G. Kiczales and et al. Aspect-Oriented Programming. In ECOOP, volume 1241. Springer-Verlag, 1997.Google ScholarGoogle ScholarCross RefCross Ref
  13. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An Overview of AspectJ. In Proceedings of the 15th ECOOP, Lecture Notes in Computer Science, pages 327--353. Springer-Verlag, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Kim, S. Kannan, I. Lee, and O. Sokolsky. Java-MaC: a Run-time Assurance Tool for Java. In Proceedings of Runtime Verification (RV'01), volume 55 of ENTCS. Elsevier Science, 2001.Google ScholarGoogle Scholar
  15. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer, New York, 1992. Google ScholarGoogle ScholarCross RefCross Ref
  16. Z. Manna and A. Pnueli. Temporal Verification of Reactive Systems: Safety. Springer, New York, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. Milner. Communicating and Mobile Systems: The π-Calculus. Cambridge University Press, New York, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. F. Nielson, H. R. Nielson, and C. Hankin. Principles of Program Analysis. Springer-Verlag, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Event-based runtime verification of java programs

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                Full Access

                • Published in

                  cover image ACM SIGSOFT Software Engineering Notes
                  ACM SIGSOFT Software Engineering Notes  Volume 30, Issue 4
                  July 2005
                  1514 pages
                  ISSN:0163-5948
                  DOI:10.1145/1082983
                  Issue’s Table of Contents
                  • cover image ACM Other conferences
                    WODA '05: Proceedings of the third international workshop on Dynamic analysis
                    May 2005
                    75 pages
                    ISBN:1595931260
                    DOI:10.1145/1083246

                  Copyright © 2005 Copyright is held by the owner/author(s)

                  Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 17 May 2005

                  Check for updates

                  Qualifiers

                  • article

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader