Incremental Formal Design Verification
24 Pages Posted: 17 Nov 2020
Date Written: 1994
Language containment is a method for design verification that involves checking if the behavior of the system to be verified is a subset of the behavior of its specifications (properties or requirements). If this check fails, language containment returns a subset of ‘fair’ states involved in behavior that the system exhibits but the specification does not. Current techniques for language containment do not take advantage of the fact that the process of design is incremental; namely that the designer repeatedly modifies and re-verifies his/her design. This results in unnecessary computation. We present a method that successively modifies the latest result of verification each time the design is modified. Our incremental algorithm translates changes made by the designer into an addition or subtraction of edges, states or constraints (on acceptable behavior) from the transition behavior or specification of the problem. Next, these changes are used to update the set of ‘fair’ states previously computed. This incremental algorithm takes much less time than the current techniques for language containment; a conclusion supported by experimental results presented in this paper.
Keywords: incremental algorithms, iterative design, computer aided design, finite state machine traversal, state space exploration
Suggested Citation: Suggested Citation