DocumentCode :
3255375
Title :
Self-checking against formal specifications
Author :
Antoy, Sergio ; Hamlet, Dick
Author_Institution :
Dept. of Comput. Sci., Portland State Univ., OR, USA
fYear :
1992
fDate :
28-30 May 1992
Firstpage :
355
Lastpage :
360
Abstract :
The authors use an algebraic technique of formally specifying a module that implements an abstract data type, with a C++ implementation. An explicit mapping from implementation states to abstract values is added to the C++ code. The form of specification allows mechanical checking of desirable properties such as consistency and completeness, particularly when operations are added incrementally to the data type. During unit testing, the specification serves as a test oracle. Any variance between computed and specified values is automatically detected. When the module is made part of some application, the checking can be removed, or may remain in place for further validating the implementation. The specification, executed by rewriting, can be thought of as itself an implementation with maximum design diversity, and the validation as a form of multiversion-programming comparison
Keywords :
abstract data types; formal specification; program testing; C++ implementation; abstract data type; algebraic technique; completeness; consistency; explicit mapping; formal specifications; maximum design diversity; mechanical checking; module; multiversion-programming; rewriting; self-checking; test oracle; Application software; Computer science; Concrete; Formal specifications; Mechanical factors; Network address translation; Software maintenance; Software prototyping; Software quality; Testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computing and Information, 1992. Proceedings. ICCI '92., Fourth International Conference on
Conference_Location :
Toronto, Ont.
Print_ISBN :
0-8186-2812-X
Type :
conf
DOI :
10.1109/ICCI.1992.227637
Filename :
227637
Link To Document :
بازگشت