Object test coverage using finite state machines

Loading...
Thumbnail Image

Date

Authors

Bosman, Oscar
Schmidt, Heinz

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Objects have been described as having identity, state and behaviour, but there are differing views as to what are an object's states. For a programmer using an object-oriented programming language, the state is the current values of all the attributes, hidden and accessible. In most object-oriented design methods, an object's state is an abstraction of this: design states are determined by the observable behaviour of the object. The difference is significant, for example the two views behave differently under inheritance, and this can make it difficult to validate an implementation against its design specification. We describe a technique for resolving these different views of state. The representation states of an object can be partitioned into abstract states by predicates on the attributes. We relate this to an operational semantics for the object-oriented programming language Sather. A direct implication is that the behaviour of objects can be described by finite state machines. Since there are testing techniques based on proving the equivalence of two state machines (for example, a design specification and its implementation), it is now feasible to prove test coverage of automatically generated tests for object oriented programs to the level of abstract states.

Description

Citation

Source

Book Title

Entity type

Access Statement

License Rights

DOI

Restricted until

Downloads