Title
Automatic extraction of object-oriented component interfaces
Abstract
Component-based software design is a popular and effective approach to designing large systems. While components typically have well-defined interfaces, sequencing information---which calls must come in which order---is often not formally specified.This paper proposes using multiple finite statemachine (FSM) submodels to model the interface of a class. A submodel includes a subset of methods that, for example, implement a Java interface, or access some particular field. Each state-modifying method is represented as a state in the FSM, and transitions of the FSMs represent allow able pairs of consecutive methods. In addition, state-preserving methods are constrained to execute only under certain states.We have designed and implemented a system that includes static analyses to deduce illegal call sequences in a program, dynamic instrumentation techniques to extract models from execution runs, and a dynamic model checker that ensures that the code conforms to the model. Extracted models can serve as documentation; they can serve as constraints to be enforced by a static checker; they can be studied directly by developers to determine if the program is exhibiting unexpected behavior; or they can be used to determine the completeness of a test suite.Our system has been run on several large code bases, including the joeq virtual machine, the basic Java libraries, and the Java 2 Enterprise Edition library code. Our experience suggests that this approach yields useful information.
Year
DOI
Venue
2002
10.1145/566172.566212
ISSTA
Keywords
Field
DocType
java interface,dynamic model checker,effective approach,automatic extraction,extracted model,approach yields useful information,dynamic instrumentation technique,object-oriented component interface,large system,large code base,enterprise edition library code,basic java library,object oriented,uml,virtual machine,debugging,testing
Interface (Java),Programming language,Model checking,Virtual machine,Software design,Unified Modeling Language,Software engineering,Object-oriented programming,Computer science,Real-time computing,Java,Debugging
Conference
Volume
Issue
ISSN
27
4
0163-5948
ISBN
Citations 
PageRank 
1-58113-562-9
160
9.84
References 
Authors
18
3
Search Limit
100160
Name
Order
Citations
PageRank
John Whaley173553.70
Michael C. Martin233521.26
Monica S. Lam35585705.61