ACM Home Page
Please provide us with feedback. Feedback
UML state machine diagram driven runtime verification of Java programs for message interaction consistency
Full text PdfPdf (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
SIGAPP: ACM Special Interest Group on Applied Computing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 29,   Downloads (12 Months): 127,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1363686.1363781
What is a DOI?

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
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.

Collaborative Colleagues:
Xuandong Li: colleagues
Xiaokang Qiu: colleagues
Linzhang Wang: colleagues
Bin Lei: colleagues
W. Eric Wong: colleagues