FORMAL VERIFICATION
BY
C.RAJESWARI
II MSC IT
NADAR SARASWATHI COLLEGE OF ARTS AND SCIENCE
THENI.
INTRODUCTION
• Formal verification involves the use of rigorous, mathematical
techniques to demonstrate that computer programs have certain
desired properties.
• The methods of input-output assertions, weakest preconditions,
and structural induction are three commonly used techniques.
INPUT-OUTPUT ASSERTIONS
• The method of input-output assertions was introduced by Floyed (FLO67) and
refined by Hoare (HOA73) and Dijkstra (DIJ76). Floyd’s work was seminal to
the entire field of formal verification.
• Using input-output assertions, predicates are associated with the entry point,
the exist point, and various intermediate points in the source code.
• The notation (P) S (R) is used to mean that if predicate P is true prior to
executing code segment S, predicate R will be true following of S.
(1<i<N)i:=i+1(2<i<N+1)
CONTINUE….
• The minimal requirement is that a predicate be associated with each
innermost nested loop.
• Loop predicates must be shown to be invariant relations. A loop invariant
must be true independent of the number of loop traversed.in particular a
loop invariant must satisfy the following conditions:
1. It must be true on loop entry.
2. It must be true independent of the number of loop traversals.
3. It must imply the desired condition on loop exit.
WEAKEST PRECONDITIONS
• To be true independent of the number of loop traversals by the method of
weakest preconditions.
• Given a proposition of the from (P) S (R), P is the weakest precondition for S if
it is the weakest condition that will guarantee the truth of R following
execution of S.
• The weakest precondition is expressed as
P = wp(S,R)
CONTINUE….
• In practice P is found by working backwards from R.
• If S is an assignment statement of the form X:=E, the weakest precondition P
is obtained by substituting expression E in place of X everywhere X appears in
predicate R:
Wp(X:=E,R)=R(E X)
• For example:
Wp(A:=B+3, A=5)=(A=5 with B+3A)
=(B+3=5) or (B=2)
STRUCTURAL INDUCTION
• Structural induction us a formal verification technique based on the general
principle of mathematical induction.
• The induction must be performed on a partially ordered set that is well
founded (LEV80).
• Given set S having the necessary properties and a proposition P to be proved.
CONTINUE….
• Mathematical indication proceeds as follows:
1. Show P to be true for the minimal elements in S.
2. Assume P to be true for each element in S that has an ordinal
number less than or equal to N and show P to be true for the N + first
element in S.
• The set of natural numbers under the ordering ”<“ is a commonly used
induction set, and many properties of the natural numbers can be proved by
induction.
THANKING YOU

Formal verification

  • 1.
    FORMAL VERIFICATION BY C.RAJESWARI II MSCIT NADAR SARASWATHI COLLEGE OF ARTS AND SCIENCE THENI.
  • 2.
    INTRODUCTION • Formal verificationinvolves the use of rigorous, mathematical techniques to demonstrate that computer programs have certain desired properties. • The methods of input-output assertions, weakest preconditions, and structural induction are three commonly used techniques.
  • 3.
    INPUT-OUTPUT ASSERTIONS • Themethod of input-output assertions was introduced by Floyed (FLO67) and refined by Hoare (HOA73) and Dijkstra (DIJ76). Floyd’s work was seminal to the entire field of formal verification. • Using input-output assertions, predicates are associated with the entry point, the exist point, and various intermediate points in the source code. • The notation (P) S (R) is used to mean that if predicate P is true prior to executing code segment S, predicate R will be true following of S. (1<i<N)i:=i+1(2<i<N+1)
  • 4.
    CONTINUE…. • The minimalrequirement is that a predicate be associated with each innermost nested loop. • Loop predicates must be shown to be invariant relations. A loop invariant must be true independent of the number of loop traversed.in particular a loop invariant must satisfy the following conditions: 1. It must be true on loop entry. 2. It must be true independent of the number of loop traversals. 3. It must imply the desired condition on loop exit.
  • 5.
    WEAKEST PRECONDITIONS • Tobe true independent of the number of loop traversals by the method of weakest preconditions. • Given a proposition of the from (P) S (R), P is the weakest precondition for S if it is the weakest condition that will guarantee the truth of R following execution of S. • The weakest precondition is expressed as P = wp(S,R)
  • 6.
    CONTINUE…. • In practiceP is found by working backwards from R. • If S is an assignment statement of the form X:=E, the weakest precondition P is obtained by substituting expression E in place of X everywhere X appears in predicate R: Wp(X:=E,R)=R(E X) • For example: Wp(A:=B+3, A=5)=(A=5 with B+3A) =(B+3=5) or (B=2)
  • 7.
    STRUCTURAL INDUCTION • Structuralinduction us a formal verification technique based on the general principle of mathematical induction. • The induction must be performed on a partially ordered set that is well founded (LEV80). • Given set S having the necessary properties and a proposition P to be proved.
  • 8.
    CONTINUE…. • Mathematical indicationproceeds as follows: 1. Show P to be true for the minimal elements in S. 2. Assume P to be true for each element in S that has an ordinal number less than or equal to N and show P to be true for the N + first element in S. • The set of natural numbers under the ordering ”<“ is a commonly used induction set, and many properties of the natural numbers can be proved by induction.
  • 9.