| UML state machine diagram driven runtime verification of Java programs for message interaction consistency |
| Full text |
Pdf
(316 KB)
|
| Source
|
Symposium on Applied Computing
archive
Proceedings of the 2008 ACM symposium on Applied computing
table of contents
Fortaleza, Ceara, Brazil
SESSION: Software verification
table of contents
Pages 384-389
Year of Publication: 2008
ISBN:978-1-59593-753-7
|
|
Authors
|
|
Xuandong Li
|
Nanjing University, Nanjing, P.R.China
|
|
Xiaokang Qiu
|
Nanjing University, Nanjing, P.R.China
|
|
Linzhang Wang
|
Nanjing University, Nanjing, P.R.China
|
|
Bin Lei
|
Nanjing University, Nanjing, P.R.China
|
|
W. Eric Wong
|
University of Texas at Dallas, Richardson, TX
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 29, Downloads (12 Months): 127, Citation Count: 0
|
|
|
ABSTRACT
In object-oriented programs, we often need to set some restrictions on the temporal orders of the message receiving for objects, which forms a class of safety requirements. In this paper, we use UML state machine diagrams as design specifications, and present an approach to runtime verification of Java programs, which is focused on the temporal order of message receiving based consistency verification between the behavior of state machine diagrams and the program execution traces. In the approach, we first instrument the program under verification so as to gather the program execution traces related to a given state machine diagram. Then we drive the instrumented program by random test cases so as to generate the program execution traces. Finally we check if the collected program execution traces are consistent with the behavior of the state machine diagram, which means that the temporal orders of the message receiving occurring in the program traces are consistent with the ones occurring in the state machine diagram. Our approach can be used to detect not only the program bugs resulting from the wrong temporal orders of message receiving, but also the imperfect state machine models constructed in reverse engineering for legacy systems, and leads to a testing tool which may proceed in a fully automatic fashion.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
OMG. UML2.0 Superstructure Specification, 2004. www.uml.org.
|
| |
3
|
Havelund, K. and G. Rosu, editors, Proceedings of First Workshop on Runtime Verification, Electronic Notes in Theoretical Computer Science, Vol.65, Issue 7, Elsevier, 2001.
|
| |
4
|
Bernd Finkbeiner, Sriram Sankaranarayanan, Henny Sipma. Collecting Statistics over Runtime Executions. In Electronic Notes in Theoretical Computer Science, Vol.55, Issue 2, Elsevier, 2001.
|
| |
5
|
Russell C. Bjork. The Simulation of an Automated Teller Machine. http://www.math-cs.gordon.edu/local/courses/cs211/ATMExample/Links.html.
|
| |
6
|
Detlef Bartetzko, Clemens Fischer, Michael Moller, and Heike Wehrheim. Jass - Java with Assertions. In Electronic Notes in Theoretical Computer Science, Vol.55, Issue 2, Elsevier, 2001.
|
| |
7
|
Klaus Havelund and Grigore Rou. Monitoring Java Programs with Java PathExplorer. In Electronic Notes in Theoretical Computer Science, Vol.55, Issue 2, Elsevier, 2001.
|
| |
8
|
M. Kim, S. Kannan, I. Lee, O. Sokolsky and M. Viswanathan. Java-MaC: A Run-time Assurance Tool for Java Programs. In Electronic Notes in Theoretical Computer Science, Vol.55, Issue 2, Elsevier, 2001.
|
 |
9
|
|
| |
10
|
David Y. W. Park, Ulrich Stern, Jens U. Skakebak, and David L. Dill. Java Model Checking. In Proceedings of the First International Workshop on Automated Program Analysis, Testing, and Verification, 2000.
|
| |
11
|
Klaus Havelund and Thomas Pressburger. Model checking JAVA programs using JAVA PathFinder. In International Journal on Software Tools for Technology Transfer, (2000) 2: 366--381.
|
| |
12
|
Rajeev Alur. Trends and Challenges in Algorithmic Software Verification. In Proceedings of IFIP Working Conference on Verified Software: Theories, Tools, Experiments, 2005, http://vstte.ethz.ch/speakers.html.
|
 |
13
|
Rajeev Alur , Pavol Černý , P. Madhusudan , Wonhong Nam, Synthesis of interface specifications for Java classes, Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.98-109, January 12-14, 2005, Long Beach, California, USA
|
 |
14
|
|
| |
15
|
|
 |
16
|
|
| |
17
|
|
| |
18
|
Y. G. Kim, H. S. Hong, S. M. Cho, D. H. Bae, and S. D. Cha. Test Case Generation from UML State Diagrams. In IEEE Proceedings - Software, 146(4), 1999, pp.187--192.
|
| |
19
|
Li Xuandong, Wang Linzhang, Qiu Xiaokang, Lei Bin, Yuan Jiesong, Zhao Jianhua, Zheng Guoliang. Runtime Verification of Java Programs for Scenario-Based Specifications. In Proceedings of the 11th International Conference on Reliable Software Technologies (AE2006), LNCS 4006, Springer, 2006, pp.94--106.
|
|