imPROVE-SDL
For software designers and verification engineers who need to boost their verification productivity
in designing protocols, imPROVE-SDL is a prover and a property checker that complements simulation
in performing exhaustive debugging of SDL models without the need for test benches.
Unlike automatic rule checking or random test generation techniques, imPROVE-SDL can find the "hard"
bugs hidden in complex protocol implementations and help identify and fix ambiguities in specifications.
imPROVE-SDL is a formal verification tool for SDL models.
Formal proof has the value of an exhaustive simulation, and cannot miss any case of potential violation
of a defined property, independently of its occurrence probability. If a suspect case is identified,
the prover generates a counter-example that can then be replayed step by step, forward and backward,
to analyse the behaviour of the system and take the necessary measures for correction, very early in
the process. If, however, no violation case exists, imPROVE-SDL will give a proof of its absence.
Unlike traditional formal verification techniques, often quite complicated and requiring a lot of
mathematical knowledge for successful applications, imPROVE-SDL is an intuitive, easy-to-use solution
providing formal verification to the validation process without requiring any knowledge of formal
verification languages, and mathematical background.
|
Formal Verification Vs. Simulation
Simulation
The most traditional verification method used for testing a model is simulation. Simulation is
essential to functionally verify a system, but:
- simulation is not exhaustive: some unwanted situations can be very difficult to reach
by simulation; missing a possible combination of states may alter the product quality,
and is too dangerous for a safety-critical system. That means that simulation can highlight
the presence of errors, but NOT their absence.
- manually setting-up and running test-scenarios on simulated models is time consuming and
increases simulation costs.
Formal Verification
imPROVE-SDL is an innovative solution to verify the correct behavior of SDL designs. Unlike
simulation - where confidence in a design comes from running an arbitrary number of test cases
- formal verification uses exhaustive mathematical techniques to examine the entire solution
space of a specified requirement of the design - explicit or not - called a property and extracted
from the specifications, thus providing better functional test coverage.
Besides, it is much more direct and natural to verify that, at any instant, "if ECU1 is in
Reset mode, ECU2 is always in Init or Ready mode", rather than trying to find situations where
it is not the case, using simulation. In this situation imPROVE-SDL will give a proof of the
invalidity of the property: "There exists a state where ECU1 is in Reset Mode and ECU2 is in a
mode different than Init or Ready" or it will extract an execution sequence illustrating the
violation of this property.
|