ACM Home Page
Please provide us with feedback. Feedback
Automatic extraction of abstract-object-state machines from unit-test executions
Full text PdfPdf (219 KB)
Source International Conference on Software Engineering archive
Proceedings of the 28th international conference on Software engineering table of contents
Shanghai, China
DEMONSTRATION SESSION: Informal tool demonstrations table of contents
Pages: 835 - 838  
Year of Publication: 2006
ISBN:1-59593-375-1
Authors
Tao Xie  North Carolina State University, Raleigh, NC
Evan Martin  North Carolina State University, Raleigh, NC
Hai Yuan  North Carolina State University, Raleigh, NC
Sponsors
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 64,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

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

ABSTRACT

An automatic test-generation tool can produce a large number of test inputs to exercise the class under test. However, without specifications, developers cannot inspect the execution of each automatically generated test input practically. To address the problem, we have developed an automatic test abstraction tool, called Abstra, to extract high level object-state-transition information from unit-test executions, without requiring a priori specifications. Given a class and a set of its generated test inputs, our tool extracts object state machines (OSM): a state in an OSM represents an object state of the class and a transition in an OSM represents method calls of the class. When an object state in an OSM is concrete (being represented by the values of all fields reachable from the object), the size of the OSM could be too large to be useful for inspection. To address this issue, we have developed techniques in the tool to abstract object states based on returns of observer methods, branch coverage of methods, and individual object fields, respectively. The tool provides useful object-state-transition information for programmers to inspect unit-test executions effectively. In particular, the tool helps facilitate correctness inspection, program understanding, fault isolation, and test characterization.


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
3
4
 
5
 
6
E. Gamma and K. Beck. JUnit, 2003. http://www.junit.org.
 
7
8
 
9
J. Henkel and A. Diwan. Discovering algebraic specifications from Java classes. In Proc. 17th European Conference on Object-Oriented Programming, pages 431--456, 2003.
 
10
 
11
 
12
Sun Microsystems. Java 2 Platform, Standard Edition, v 1.4.2, API Specification. Online documentation, Nov. 2003. http://java.sun.com/j2se/1.4.2/docs/api/.
13
 
14
 
15
T. Xie and D. Notkin. Automatic extraction of object-oriented observer abstractions from unit-test executions. In Proc. 6th International Conference on Formal Engineering Methods, Nov. 2004.
 
16
T. Xie and D. Notkin. Automatic extraction of sliced object state machines for component interfaces. In Proc. 3rd Workshop on Specification and Verification of Component-Based Systems at ACM SIGSOFT 2004/FSE-12 (SAVCBS 2004), pages 39--46, October 2004.
 
17
18
 
19
H. Yuan and T. Xie. Automatic extraction of abstract-object-state machines based on branch coverage. In Proc. 1st International Workshop on Reverse Engineering To Requirements at WCRE 2005 (RETR 2005), pages 5--11, November 2005.


Collaborative Colleagues:
Tao Xie: colleagues
Evan Martin: colleagues
Hai Yuan: colleagues