System Validation via Constraint Modeling.
MASSACHUSETTS INST OF TECH CAMBRIDGE ARTIFICIAL INTELLIGENCE LAB
Pagination or Media Count:
Currently, there are two major approaches to system validation testing and code inspection. Each of these methods indirectly checks the correctness of a system by attempting to find faults in the system. It is advantageous to apply both methods to a system because the strength and weaknesses of the methods are complementary. Testing is good at finding failures in the usual operation of the system even if these failures are created by complex interactions between modules. Code inspection is good at finding local faults in single modules even if these faults only manifest themselves as failures in unusual situations. Constraint modeling could be an important third method of system validation. The essence of constraint modeling is the creation of a model that represents key aspects of the behavior of a system, while ignoring other aspects. Given the model, constraint propagation can be used to detect inconsistencies in the operation of the system. The advantage of constraint modeling as a means of system validation is that it is complementary to both testing and code inspection. In particular, constraint modeling can locate errors even if they are caused by non-local faults and manifest themselves as failures only in unusual situations. As a result, even though the ability of constraint modeling to find errors is limited both by the simplifications which are introduced when making the model and by the power of the constraint propagator available, constraint modeling has the potential for significantly increasing overall system reliability when used in conjunction with testing and code inspection.