Runtime Verification of Java Programs for Scenario-Based Specifications

  • Li Xuandong
  • Wang Linzhang
  • Qiu Xiaokang
  • Lei Bin
  • Yuan Jiesong
  • Zhao Jianhua
  • Zheng Guoliang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4006)

Abstract

In this paper, we use UML sequence diagrams as scenario-based specifications, and give the solution to runtime verification of Java programs for the safety consistency and the mandatory consistency. The safety consistency requires that any forbidden scenario described by a given sequence diagram never happens during the execution of a program, and the mandatory consistency requires that if a reference scenario described by the given sequence diagrams occurs during the execution of a program, it must immediately adhere to a scenario described by the other given sequence diagram. In the solution, we first instrument the program under verification so as to gather the program execution traces related to a given scenario-based specification; then we drive the instrumented program by random test cases so as to generate the program execution traces; last we check if the collected program execution traces satisfy the given specification. Our work leads to a testing tool which may proceed in a fully automatic and push-button fashion.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    ITU-T. Recommendation Z.120. ITU - Telecommunication Standardization Sector, Geneva, Switzerland (May 1996)Google Scholar
  2. 2.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1999)Google Scholar
  3. 3.
    OMG. UML2.0 Superstructure Specification (October 2005), availabe at http://www.uml.org
  4. 4.
    Peled, D.A.: Software Reliability Methods. Springer, Heidelberg (2001)MATHGoogle Scholar
  5. 5.
    Bjork, R.C.: The Simulation of an Automated Teller Machine, http://www.math-cs.gordon.edu/local/courses/cs211/ATMExample/Links.html
  6. 6.
    Bartetzko, D., Fischer, C., Moller, M., Wehrheim, H.: Jass - Java with Assertions. Electronic Notes in Theoretical Computer Science 55(2) (2001)Google Scholar
  7. 7.
    Havelund, K., Rou, G.: Monitoring Java Programs with Java PathExplorer. Electronic Notes in Theoretical Computer Science 55(2) (2001)Google Scholar
  8. 8.
    Kim, M., Kannan, S., Lee, I., Sokolsky, O., Viswanathan, M.: Java-MaC: A Run-time Assurance Tool for Java Programs. Electronic Notes in Theoretical Computer Science 55(2) (2001)Google Scholar
  9. 9.
    Brorkens, M., Moller, M.: Dynamic Event Generation for Runtime Checking using the JDI. Electronic Notes in Theoretical Computer Science 70(4) (2002)Google Scholar
  10. 10.
    Park, D.Y.W., Stern, U., Skakebak, J.U., Dill, D.L.: Java Model Checking. In: Proceedings of the First International Workshop on Automated Program Analysis, Testing, and Verification (2000)Google Scholar
  11. 11.
    Havelund, K., Pressburger, T.: Model checking JAVA programs using JAVA PathFinder. International Journal on Software Tools for Technology Transfer 2, 366–381 (2000)CrossRefMATHGoogle Scholar
  12. 12.
    Lettrai, M., Klose, J.: Scenario-based monitoring and testing of real-time UML models. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, p. 317. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  13. 13.
    Damm, W., Harel, D.: LSCs: Breathing life into message sequence charts. Formal Methods in System Design 19(1), 45–80 (2001)CrossRefMATHGoogle Scholar
  14. 14.
    Kluge, O.: Modelling a Railway Crossing with Message Sequence Chatrs and Petri Nets. In: Ehrig, H., et al. (eds.) Petri Net Technology for Communication-Based Systems. LNCS, vol. 2472, pp. 197–218. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    Heitmeyer, C.L., Jeffords, R.D., Labaw, B.G.: Comparing Different Approaches for Specifying and Verifying Real-Time Systems. In: Proc. 10th IEEE Workshop on Real-Time Operating Syatems abd Software, New York, pp. 122–129 (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Li Xuandong
    • 1
  • Wang Linzhang
    • 1
  • Qiu Xiaokang
    • 1
  • Lei Bin
    • 1
  • Yuan Jiesong
    • 1
  • Zhao Jianhua
    • 1
  • Zheng Guoliang
    • 1
  1. 1.State Key Laboratory of Novel Software Technology, Department of Computer Science and TechnologyNanjing UniversityNanjing, JiangsuP.R. China

Personalised recommendations