15 Formal Verification Flashcards

1
Q

What’s Verification?

A

Verify the correctness that is the absense of defects.
Specification must be given and must be formal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What’s Formal

A

3C: Completeness, Consistency, Clarity (unambiguous).
Descriptive or Operational Diagrams.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Formal Methods

A
  1. Constructing formal specification.
  2. Performing formal verification.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hoarse Triple

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hoarse Logic Rules

A

Composition
Conditional
Consequence
While

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Horase Logic Axioms

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Strongest Postconditions

A

A true condition that is the most useful/strict.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Weakest Preconditions

A

A true pre-conditon that is the most useful/strict.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Selective use of Formal Methods

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Light weight Formal Methods

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly