Title :
A symbolic model checker for testing ASTRAL real-time specifications
Author :
Dang, Zhe ; Kemmerer, Richard A.
Author_Institution :
Dept. of Comput. Sci., California Univ., Santa Barbara, CA, USA
Abstract :
ASTRAL is a high-level formal specification language for real-time (infinite state) systems. It is provided with structuring mechanisms that allow one to build modularized specifications of complex real-time systems with layering. In this paper, the methods and techniques used in the prototype implementation of the ASTRAL symbolic model checker, which is a component of the ASTRAL software development environment (SDE), are presented. The model checking procedure uses the Omega library to represent a subset of states, and model checking is carried out on the execution tree of an ASTRAL process. The tree is further trimmed by the execution graph of the process. The model checker combines both explicit state exploration and symbolic state calculation in order to reduce the number of variables needed, by dynamically resolving their values as well as their histories along a path of execution. Based upon the ASTRAL proof theory, the model checker is modularized, in the sense that each time it checks only one process instance of each process type that is globally declared. A limited window size technique is further proposed to encode the history of an imported variable when the history of the variable is referenced. The model checker is run on several earlier versions of the railroad-crossing ASTRAL specification, which contained errors, as well as on the final version, which has been proved correct. The results show that it is effective for detecting bugs in an ASTRAL specification, which is extremely important in our use of the model checker as a specification debugger. The model checker is fully automated without manual abstractions
Keywords :
computer aided software engineering; conformance testing; formal specification; formal verification; real-time systems; software libraries; specification languages; ASTRAL real-time specifications testing; Omega library; bug detection; dynamic value resolution; errors; execution tree; explicit state exploration; globally declared process types; high-level formal specification language; infinite state systems; layering; limited window size technique; modularized specifications; process execution graph; proof theory; prototype implementation; railroad-crossing ASTRAL specification; software development environment; specification debugger; state subset representation; structuring mechanisms; symbolic model checker; symbolic state calculation; variable history; Computer bugs; Error correction; Formal specifications; History; Programming; Real time systems; Software libraries; Software prototyping; Testing; Tree graphs;
Conference_Titel :
Real-Time Computing Systems and Applications, 1999. RTCSA '99. Sixth International Conference on
Conference_Location :
Hong Kong
Print_ISBN :
0-7695-0306-3
DOI :
10.1109/RTCSA.1999.811215