An approach to automatic detection of software failures

The focus of this paper is on an approach to the automatic failure detection of reactive software systems called specification-based supervision. Assumed is that the software is specified in a formalism based on communicating extended finite state machines (CEFSMs). The major difficulty in supervising such systems is that the supervisor must account for all possible behaviors that are permissible under the non-determinism present in the specification. An approach to the automatic detection of failures based on the theory of beliefs is presented. This theory was developed to deal with the nondeterminism present in CEFSM based formalisms. The specification language SDL, standardized by the International Telecommunication Union, is used as a concrete example. In the theory of beliefs, each behavioral alternative is represented as a separate belief of one or more specification CEFSMs. Beliefs are combined into consistent belief sets that represent legitimate external behaviors. A consistent belief set representing a behavior that does not match the actually observed behavior is terminated. If all consistent belief sets have been terminated, the observed behavior is not legitimate and is reported as a failure of the target software system. A prototype implementation of a belief-based supervisor was developed. The implementation was used to monitor execution of a small telephone exchange. Both the supervisor and exchange were emulated on a workstation. Statistics characterizing the number of consistent belief sets are presented.

[1]  Sriram Sankar,et al.  Concurrent runtime monitoring of formally specified programs , 1993, Computer.

[2]  Guy Juanole,et al.  Observer-A Concept for Formal On-Line Validation of Distributed Systems , 1994, IEEE Trans. Software Eng..

[3]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[4]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[5]  Robert F. Roggio,et al.  An automated oracle for software testing , 1992 .

[6]  Debra J. Richardson,et al.  Specification-based test oracles for reactive systems , 1992, International Conference on Software Engineering.