3. What is Model Checking ?
• Model checking is a method for formally verifying finite-state concurrent
systems. Specifications about the system are expressed as temporal logic
formulas, and efficient symbolic algorithms are used to traverse the model
defined by the system and check if the specification holds or not.
• Model checking is a technique for automatically verifying correctness
properties of finite-state systems.
4. Why used ?
•Fast: As compare to other rigorous methods like theorem proving
• Given a model of a system, exhaustively and automatically check whether this model meets
a given specification , whereas the specification contains safety requirements such as the
absence of deadlocks and similar critical states that can cause the system to crash.
Solution ?
In order to solve such a problem algorithmically,
• The model of the system and the specification are formulated in some precise mathematical
language.
• To this end, the problem is formulated as a task in logic, namely to check whether a given
structure satisfies a given logical formula
6. • Now, this process is carried out by creating a mathematics model that satisfy the
requirement in terms of formal notation.
M; s |= f
M is model
S is any state
F is the specification
BackGround of Model Checking
7. Flow of Model checking
System Model M Specification f
M; s |= f
For increasing our confidence in the correctness of the model:
❑ Verification: The model satisfies important system properties
❑ Debugging: Study counter-examples, pinpoint the source of the error, correct the model, and try
again
10. Correct PIN but insufficient balance
Cond(π3) = (userPin1 = cardPin ∧ balance < amount)
Correct PIN then Balance balance Inquiry
userPin1 = cardPin
and receipt<bank.getAvailableReceiptPage(amount) then
print<receipt.Bal_Inquiry
and card^returnCard()
11. Future Research in Model Checking
Combination with Deductive Verification:
– It consists of generating the system and its specification a collection of mathematical
proof obligations. The truth of which conformance of system with specification using
interactive theorem proves, automatic theorem proves.
• It requires user to understand in details why the system works correctly, and to convey
this information to the verification system.
• State Explosion Problem Reduction:
– System having many components making the transition in parallel.
• Breakthrough BDD (Binary Decision Diagram): where transition are represent implicitly in
binary decision diagram