| Automatic extraction of abstract-object-state machines from unit-test executions |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 7, Downloads (12 Months): 64, Citation Count: 4
|
|
|
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
|
James C. Corbett , Matthew B. Dwyer , John Hatcliff , Shawn Laubach , Corina S. Păsăreanu , Robby , Hongjun Zheng, Bandera: extracting finite-state models from Java source code, Proceedings of the 22nd international conference on Software engineering, p.439-448, June 04-11, 2000, Limerick, Ireland
[doi> 10.1145/337180.337234]
|
| |
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.
|
|