Automatic Extraction of Sliced Object State Machines for Component Interfaces
Tao Xie, David S. Notkin · 2004
Component-based software development has increasingly gained popularity in industry. Although correct component-interface usage is critical for successful understanding, testing, and reuse of components, interface usage is rarely specified formally in practice. To tackle this problem, we automatically extract sliced object state machines (OSM) for component interfaces from the execution of generated tests. Given a component such as a Java class, we generate a set of tests to exercise the component and collect the concrete object states exercised by the tests. Because the number of exercised concrete object states and transitions among these states could be too large to be useful for inspection, we slice concrete object states by each member field of the component and use sliced states to construct a set of sliced OSM’s. These sliced OSM’s provide useful state-transition information for helping understand behavior of component interfaces and also have potential for being used in component verification and testing. 1.