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.
Supported by the National Natural Science Foundation of China (No.60425204, No.60233020), the National Grand Fundamental Research 973 Program of China (No.2002CB312001), and by the Jiangsu Province Research Foundation (No.BK2004080).
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
ITU-T. Recommendation Z.120. ITU - Telecommunication Standardization Sector, Geneva, Switzerland (May 1996)
Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1999)
OMG. UML2.0 Superstructure Specification (October 2005), availabe at http://www.uml.org
Peled, D.A.: Software Reliability Methods. Springer, Heidelberg (2001)
Bjork, R.C.: The Simulation of an Automated Teller Machine, http://www.math-cs.gordon.edu/local/courses/cs211/ATMExample/Links.html
Bartetzko, D., Fischer, C., Moller, M., Wehrheim, H.: Jass - Java with Assertions. Electronic Notes in Theoretical Computer Science 55(2) (2001)
Havelund, K., Rou, G.: Monitoring Java Programs with Java PathExplorer. Electronic Notes in Theoretical Computer Science 55(2) (2001)
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)
Brorkens, M., Moller, M.: Dynamic Event Generation for Runtime Checking using the JDI. Electronic Notes in Theoretical Computer Science 70(4) (2002)
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)
Havelund, K., Pressburger, T.: Model checking JAVA programs using JAVA PathFinder. International Journal on Software Tools for Technology Transfer 2, 366–381 (2000)
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)
Damm, W., Harel, D.: LSCs: Breathing life into message sequence charts. Formal Methods in System Design 19(1), 45–80 (2001)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Xuandong, L. et al. (2006). Runtime Verification of Java Programs for Scenario-Based Specifications. In: Pinho, L.M., González Harbour, M. (eds) Reliable Software Technologies – Ada-Europe 2006. Ada-Europe 2006. Lecture Notes in Computer Science, vol 4006. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11767077_8
Download citation
DOI: https://doi.org/10.1007/11767077_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-34663-0
Online ISBN: 978-3-540-34664-7
eBook Packages: Computer ScienceComputer Science (R0)