SlideShare una empresa de Scribd logo
1 de 9
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

Más contenido relacionado

La actualidad más candente

Software reliability & quality
Software reliability & qualitySoftware reliability & quality
Software reliability & quality
Nur Islam
 

La actualidad más candente (20)

Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
System testing
System testingSystem testing
System testing
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
Artificial Intelligence: The Nine Phases of the Expert System Development Lif...
Artificial Intelligence: The Nine Phases of the Expert System Development Lif...Artificial Intelligence: The Nine Phases of the Expert System Development Lif...
Artificial Intelligence: The Nine Phases of the Expert System Development Lif...
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Computer graphics notes
Computer graphics notesComputer graphics notes
Computer graphics notes
 
Software quality
Software qualitySoftware quality
Software quality
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Unit 8
Unit 8Unit 8
Unit 8
 
System engineering
System engineeringSystem engineering
System engineering
 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Software reliability & quality
Software reliability & qualitySoftware reliability & quality
Software reliability & quality
 

Más de rajshreemuthiah (20)

oracle
oracleoracle
oracle
 
quality
qualityquality
quality
 
bigdata
bigdatabigdata
bigdata
 
polymorphism
polymorphismpolymorphism
polymorphism
 
solutions and understanding text analytics
solutions and understanding text analyticssolutions and understanding text analytics
solutions and understanding text analytics
 
interface
interfaceinterface
interface
 
Testing &ampdebugging
Testing &ampdebuggingTesting &ampdebugging
Testing &ampdebugging
 
concurrency control
concurrency controlconcurrency control
concurrency control
 
Education
EducationEducation
Education
 
Transaction management
Transaction management Transaction management
Transaction management
 
Multi thread
Multi threadMulti thread
Multi thread
 
System testing
System testingSystem testing
System testing
 
software maintenance
software maintenancesoftware maintenance
software maintenance
 
exception handling
exception handlingexception handling
exception handling
 
e governance
e governancee governance
e governance
 
recovery management
recovery managementrecovery management
recovery management
 
Implementing polymorphism
Implementing polymorphismImplementing polymorphism
Implementing polymorphism
 
Buffer managements
Buffer managementsBuffer managements
Buffer managements
 
os linux
os linuxos linux
os linux
 
Ipv4
Ipv4Ipv4
Ipv4
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Formal verification

  • 1. FORMAL VERIFICATION BY C.RAJESWARI II MSC IT NADAR SARASWATHI COLLEGE OF ARTS AND SCIENCE THENI.
  • 2. 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.
  • 3. 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)
  • 4. 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.
  • 5. 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)
  • 6. 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)
  • 7. 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.
  • 8. 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.