15 Formal Verification Flashcards
What’s Verification?
Verify the correctness that is the absense of defects.
Specification must be given and must be formal.
What’s Formal
3C: Completeness, Consistency, Clarity (unambiguous).
Descriptive or Operational Diagrams.
Formal Methods
- Constructing formal specification.
- Performing formal verification.
Hoarse Triple
Describes how the execution of a piece of code changes the state of the computation.
{P} C {Q}
P: Assertion/Precondition
C: Command
Q: Assertion/Post Condition
Hoarse Logic Rules
Composition
Conditional
Consequence
While
Horase Logic Axioms
Empty statement axiom: Skip statement does not change the state of the program.
Assignment Axiom: After the assignment, any predicate that we previously true for the right-hand side of the assignment now holds for the variables.
Strongest Postconditions
A true condition that is the most useful/strict.
Weakest Preconditions
A true pre-conditon that is the most useful/strict.
Selective use of Formal Methods
Not an all or nothing approach.
Amount of formaility can vary
Need not build complete formal models.
Need not formally analyze every system property.
Need not apply FM in every phase of development.
Can choose what level of abstraction (amount of detail) to model.
Light weight Formal Methods
Have become popular as a means of getting the technology transferred.
Two approaches:
1. Lightweight use of FMs: selectively apply FMs for partial modeling.
2. Lightweight FMs - new methods that allow unevaluated predicates.