Advertisement

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.

Keywords

Sequence Diagram Java Program Reference Scenario Hash Code Automate Teller Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

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