Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is...

116
Automated Reasoning and Formal Verification 1/27 Automated Reasoning and Formal Verification I ? I ? I ? I ? I ? I ? Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Transcript of Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is...

Page 1: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 1/27

Automated Reasoningand

Formal Verification

I ?

What is verification by automated reasoning?

I ?

Direct theorem proving versus embedded theorem proving

I ?

Examples (Fox, Hurd, Slind)

I ?

Theorem provers as tool implementation platforms

I ?

Debugging versus proof of correctness, proof as IP

I ?

Conclusions, opinions

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 2: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 1-a/27

Automated Reasoningand

Formal Verification

I ?What is verification by automated reasoning?

I ?Direct theorem proving versus embedded theorem proving

I ?Examples (Fox, Hurd, Slind)

I ?Theorem provers as tool implementation platforms

I ?Debugging versus proof of correctness, proof as IP

I ?Conclusions, opinions

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 3: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 2/27

What is verification by automated reasoning

I Use of a theorem prover to aid verification.Here’s an arbitrary selection of applications:

parts of processors (e.g. pipelines, floating point units),whole processors, crypto hardware, security protocols,synchronization protocols, distributed algorithms, synthesis,system properties (e.g. separation), compilers, code transformation,high level code, machine code, proof carrying code,meta-theorems about property/hardware/software/design languages,flight control systems, railway signalling, . . .

I Broad interpretation of theorem proving includes most FV methodsVerification task Theorem proving technique Theorems proved

boolean equivalence propositional algorithms (BDD, SAT etc) `(B1 = B2)

model checking fixpoint calculation, automata algorithms etc `(M |= P)

assertion checking decision procedures, first-order methods `f

proof of correctness induction, heuristic search, interactive proof `F

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 4: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 3/27

Direct versus embedded theorem proving

I Theorem prover can be used directly

. . . . . . . . . . . . . . or embedded in a tool

USER FORMULATES PROBLEMS IN FORMAL LOGIC

USER INTERFACE

THEOREMPROVER

VERIFICATION TOOL WITH OWNPROBLEM DESCRIPTION LANGUAGE

API

THEOREMPROVER

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 5: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 3-a/27

Direct versus embedded theorem proving

I Theorem prover can be used directly . . . . . . . . . . . . . . or embedded in a tool

USER FORMULATES PROBLEMS IN FORMAL LOGIC

USER INTERFACE

THEOREMPROVER

VERIFICATION TOOL WITH OWNPROBLEM DESCRIPTION LANGUAGE

API

THEOREMPROVER

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 6: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 4/27

Direct and embedded theorem proving

I Direct proving mainly for traditional heroic proofs

• substantial user guidance needed

• e.g. processor proofs, verification of floating point algorithms

• e.g. non verification proofs: Godel’s theorem, consistency of AC

• Example: ARM6 verification

I Embedded proving common for cool new verification applications

• can invoke automatic ‘proof engines’

• hides formal logic stuff

• slot into standard design/verification flows

• Example: PSL/Sugar semantics directed tools

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 7: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 4-a/27

Direct and embedded theorem proving

I Direct proving mainly for traditional heroic proofs

• substantial user guidance needed

• e.g. processor proofs, verification of floating point algorithms

• e.g. non verification proofs: Godel’s theorem, consistency of AC

• Example: ARM6 verification

I Embedded proving common for cool new verification applications

• can invoke automatic ‘proof engines’

• hides formal logic stuff

• slot into standard design/verification flows

• Example: PSL/Sugar semantics directed tools

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 8: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 4-b/27

Direct and embedded theorem proving

I Direct proving mainly for traditional heroic proofs

• substantial user guidance needed

• e.g. processor proofs, verification of floating point algorithms

• e.g. non verification proofs: Godel’s theorem, consistency of AC

• Example: ARM6 verification

I Embedded proving common for cool new verification applications

• can invoke automatic ‘proof engines’

• hides formal logic stuff

• slot into standard design/verification flows

• Example: PSL/Sugar semantics directed tools

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 9: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 4-c/27

Direct and embedded theorem proving

I Direct proving mainly for traditional heroic proofs

• substantial user guidance needed

• e.g. processor proofs, verification of floating point algorithms

• e.g. non verification proofs: Godel’s theorem, consistency of AC

• Example: ARM6 verification

I Embedded proving common for cool new verification applications

• can invoke automatic ‘proof engines’

• hides formal logic stuff

• slot into standard design/verification flows

• Example: PSL/Sugar semantics directed tools

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 10: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 5/27

Proving processors correct

I Traditional application of theorem proving since 1980s

• academic processors:Tamarack, Viper, SECD, FM8501/FM9001, VAMP

• fragments of commercial processors:Sun, HP, Intel, IBM, AMD, Rockwell-Collins

I Now feasible for complete commercial off-the-shelf (COTS) processors

• improved theorem proving

• small processors for mobile applications

I But is it worthwhile?

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 11: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 5-a/27

Proving processors correct

I Traditional application of theorem proving since 1980s

• academic processors:Tamarack, Viper, SECD, FM8501/FM9001, VAMP

• fragments of commercial processors:Sun, HP, Intel, IBM, AMD, Rockwell-Collins

I Now feasible for complete commercial off-the-shelf (COTS) processors

• improved theorem proving

• small processors for mobile applications

I But is it worthwhile?

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 12: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 5-b/27

Proving processors correct

I Traditional application of theorem proving since 1980s

• academic processors:Tamarack, Viper, SECD, FM8501/FM9001, VAMP

• fragments of commercial processors:Sun, HP, Intel, IBM, AMD, Rockwell-Collins

I Now feasible for complete commercial off-the-shelf (COTS) processors

• improved theorem proving

• small processors for mobile applications

I But is it worthwhile?

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 13: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 5-c/27

Proving processors correct

I Traditional application of theorem proving since 1980s

• academic processors:Tamarack, Viper, SECD, FM8501/FM9001, VAMP

• fragments of commercial processors:Sun, HP, Intel, IBM, AMD, Rockwell-Collins

I Now feasible for complete commercial off-the-shelf (COTS) processors

• improved theorem proving

• small processors for mobile applications

I But is it worthwhile?

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 14: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 5-d/27

Proving processors correct

I Traditional application of theorem proving since 1980s

• academic processors:Tamarack, Viper, SECD, FM8501/FM9001, VAMP

• fragments of commercial processors:Sun, HP, Intel, IBM, AMD, Rockwell-Collins

I Now feasible for complete commercial off-the-shelf (COTS) processors

• improved theorem proving

• small processors for mobile applications

I But is it worthwhile?

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 15: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 6/27

Example: specification and verification of ARM6(Anthony Fox, Cambridge)

I Implementatations of all instructions of ARM6 formally verified

• abstractions of a cycle-accurate pipeline implementations• took about a person year . . . . . . . . . . . . . . . . fairly traditional heroic proof∗ used the “Swansea algebraic method” of Harman & Tucker∗ could have been done 15 years ago (with much more effort)

I What have we learned?

• time needed to prove correct small COTS processors• value of effective symbolic execution (already known by Boyer/Moore)• lots of low level ‘how to’ details

I What does ARM think?

• unimpressed by time taken• verification is debugging, not assurance

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 16: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 6-a/27

Example: specification and verification of ARM6(Anthony Fox, Cambridge)

I Implementatations of all instructions of ARM6 formally verified• abstractions of a cycle-accurate pipeline implementations• took about a person year . . . . . . . . . . . . . . . . fairly traditional heroic proof

∗ used the “Swansea algebraic method” of Harman & Tucker∗ could have been done 15 years ago (with much more effort)

I What have we learned?

• time needed to prove correct small COTS processors• value of effective symbolic execution (already known by Boyer/Moore)• lots of low level ‘how to’ details

I What does ARM think?

• unimpressed by time taken• verification is debugging, not assurance

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 17: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 6-b/27

Example: specification and verification of ARM6(Anthony Fox, Cambridge)

I Implementatations of all instructions of ARM6 formally verified• abstractions of a cycle-accurate pipeline implementations• took about a person year . . . . . . . . . . . . . . . . fairly traditional heroic proof∗ used the “Swansea algebraic method” of Harman & Tucker∗ could have been done 15 years ago (with much more effort)

I What have we learned?

• time needed to prove correct small COTS processors• value of effective symbolic execution (already known by Boyer/Moore)• lots of low level ‘how to’ details

I What does ARM think?

• unimpressed by time taken• verification is debugging, not assurance

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 18: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 6-d/27

Example: specification and verification of ARM6(Anthony Fox, Cambridge)

I Implementatations of all instructions of ARM6 formally verified• abstractions of a cycle-accurate pipeline implementations• took about a person year . . . . . . . . . . . . . . . . fairly traditional heroic proof∗ used the “Swansea algebraic method” of Harman & Tucker∗ could have been done 15 years ago (with much more effort)

I What have we learned?• time needed to prove correct small COTS processors• value of effective symbolic execution (already known by Boyer/Moore)• lots of low level ‘how to’ details

I What does ARM think?

• unimpressed by time taken• verification is debugging, not assurance

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 19: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 6-e/27

Example: specification and verification of ARM6(Anthony Fox, Cambridge)

I Implementatations of all instructions of ARM6 formally verified• abstractions of a cycle-accurate pipeline implementations• took about a person year . . . . . . . . . . . . . . . . fairly traditional heroic proof∗ used the “Swansea algebraic method” of Harman & Tucker∗ could have been done 15 years ago (with much more effort)

I What have we learned?• time needed to prove correct small COTS processors• value of effective symbolic execution (already known by Boyer/Moore)• lots of low level ‘how to’ details

I What does ARM think?• unimpressed by time taken• verification is debugging, not assurance

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 20: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 7/27

Debugging versus assurance: opinions are divided

I Find bugs, not proofs

Proofs have low value. Counter-examples have very high value.Counter-example technologies have seen tremendous advances over last few years.Proof technologies have not made much progress. . . . . . . . . . . . . . . . . . . . . . . . . . . . false!Design teams that try a revolutionary path (e.g., “proving correctness”) will misstheir next tapeouts and be out of business (or out of jobs).[http://www.0-in.com/papers/DAC02Pr.PDF]

I Real value is assurance that there are no bugs

... senior staff engineer at XXXX, said formal verification has two possibleapplications finding bugs in RTL code, and gaining assurance of zero bugs prior totapeout. “What we’ve found at XXXX, although we do find bugs, is that the realvalue of formal verification is the assurance,” ...[http://www.eedesign.com/story/OEG20030606S0017]

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 21: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 7-a/27

Debugging versus assurance: opinions are divided

I Find bugs, not proofsProofs have low value. Counter-examples have very high value.Counter-example technologies have seen tremendous advances over last few years.Proof technologies have not made much progress.

. . . . . . . . . . . . . . . . . . . . . . . . . . . false!

Design teams that try a revolutionary path (e.g., “proving correctness”) will misstheir next tapeouts and be out of business (or out of jobs).[http://www.0-in.com/papers/DAC02Pr.PDF]

I Real value is assurance that there are no bugs

... senior staff engineer at XXXX, said formal verification has two possibleapplications finding bugs in RTL code, and gaining assurance of zero bugs prior totapeout. “What we’ve found at XXXX, although we do find bugs, is that the realvalue of formal verification is the assurance,” ...[http://www.eedesign.com/story/OEG20030606S0017]

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 22: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 7-b/27

Debugging versus assurance: opinions are divided

I Find bugs, not proofsProofs have low value. Counter-examples have very high value.Counter-example technologies have seen tremendous advances over last few years.Proof technologies have not made much progress. . . . . . . . . . . . . . . . . . . . . . . . . . . . false!Design teams that try a revolutionary path (e.g., “proving correctness”) will misstheir next tapeouts and be out of business (or out of jobs).[http://www.0-in.com/papers/DAC02Pr.PDF]

I Real value is assurance that there are no bugs

... senior staff engineer at XXXX, said formal verification has two possibleapplications finding bugs in RTL code, and gaining assurance of zero bugs prior totapeout. “What we’ve found at XXXX, although we do find bugs, is that the realvalue of formal verification is the assurance,” ...[http://www.eedesign.com/story/OEG20030606S0017]

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 23: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 7-c/27

Debugging versus assurance: opinions are divided

I Find bugs, not proofsProofs have low value. Counter-examples have very high value.Counter-example technologies have seen tremendous advances over last few years.Proof technologies have not made much progress. . . . . . . . . . . . . . . . . . . . . . . . . . . . false!Design teams that try a revolutionary path (e.g., “proving correctness”) will misstheir next tapeouts and be out of business (or out of jobs).[http://www.0-in.com/papers/DAC02Pr.PDF]

I Real value is assurance that there are no bugs... senior staff engineer at XXXX, said formal verification has two possibleapplications finding bugs in RTL code, and gaining assurance of zero bugs prior totapeout. “What we’ve found at XXXX, although we do find bugs, is that the realvalue of formal verification is the assurance,” ...[http://www.eedesign.com/story/OEG20030606S0017]

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 24: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 8/27

My opinions

I Finding bugs has immediate value

Rational people resist change as long as they can get the job doneusing current methods.[http://www.0-in.com/papers/DAC02Pr.PDF]

I Proof can deliver more

• 100% coverage• added value, especially in security applications

I Full correctness assurance is possible now, and the cost is falling!

• theorem proving methods getting better and better• computers faster and cheaper, so deep proof search more practical• reusable IP needs specifications with correctness assurance

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 25: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 8-a/27

My opinions

I Finding bugs has immediate valueRational people resist change as long as they can get the job doneusing current methods.[http://www.0-in.com/papers/DAC02Pr.PDF]

I Proof can deliver more

• 100% coverage• added value, especially in security applications

I Full correctness assurance is possible now, and the cost is falling!

• theorem proving methods getting better and better• computers faster and cheaper, so deep proof search more practical• reusable IP needs specifications with correctness assurance

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 26: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 8-b/27

My opinions

I Finding bugs has immediate valueRational people resist change as long as they can get the job doneusing current methods.[http://www.0-in.com/papers/DAC02Pr.PDF]

I Proof can deliver more

• 100% coverage• added value, especially in security applications

I Full correctness assurance is possible now, and the cost is falling!

• theorem proving methods getting better and better• computers faster and cheaper, so deep proof search more practical• reusable IP needs specifications with correctness assurance

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 27: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 8-c/27

My opinions

I Finding bugs has immediate valueRational people resist change as long as they can get the job doneusing current methods.[http://www.0-in.com/papers/DAC02Pr.PDF]

I Proof can deliver more

• 100% coverage• added value, especially in security applications

I Full correctness assurance is possible now, and the cost is falling!

• theorem proving methods getting better and better• computers faster and cheaper, so deep proof search more practical• reusable IP needs specifications with correctness assurance

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 28: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 8-d/27

My opinions

I Finding bugs has immediate valueRational people resist change as long as they can get the job doneusing current methods.[http://www.0-in.com/papers/DAC02Pr.PDF]

I Proof can deliver more

• 100% coverage• added value, especially in security applications

I Full correctness assurance is possible now, and the cost is falling!

• theorem proving methods getting better and better• computers faster and cheaper, so deep proof search more practical• reusable IP needs specifications with correctness assurance

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 29: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 8-e/27

My opinions

I Finding bugs has immediate valueRational people resist change as long as they can get the job doneusing current methods.[http://www.0-in.com/papers/DAC02Pr.PDF]

I Proof can deliver more

• 100% coverage• added value, especially in security applications

I Full correctness assurance is possible now, and the cost is falling!

• theorem proving methods getting better and better• computers faster and cheaper, so deep proof search more practical• reusable IP needs specifications with correctness assurance

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 30: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 9/27

From debugging to assurance

I Current debugging flow (functional)

• first find obvious bugs (initial sanity checking)• next do systematic debugging using coverage tools (Vera, Specman)• use FV point tools to find ‘high value’ bugs

I Incrementally add

• correctness of high level algorithms (e.g. floating point)• bigger properties by deductively combining results of traditional FV

I Need smooth transition from debugging to assurance

• current testbench tools have some FV (property checking)• next generation testbenches should have access to theorem proving• move from coverage metrics to total coverage

I How to combine debugging FV with assurance theorem proving?

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 31: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 9-a/27

From debugging to assurance

I Current debugging flow (functional)

• first find obvious bugs (initial sanity checking)• next do systematic debugging using coverage tools (Vera, Specman)• use FV point tools to find ‘high value’ bugs

I Incrementally add

• correctness of high level algorithms (e.g. floating point)• bigger properties by deductively combining results of traditional FV

I Need smooth transition from debugging to assurance

• current testbench tools have some FV (property checking)• next generation testbenches should have access to theorem proving• move from coverage metrics to total coverage

I How to combine debugging FV with assurance theorem proving?

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 32: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 9-b/27

From debugging to assurance

I Current debugging flow (functional)

• first find obvious bugs (initial sanity checking)• next do systematic debugging using coverage tools (Vera, Specman)• use FV point tools to find ‘high value’ bugs

I Incrementally add

• correctness of high level algorithms (e.g. floating point)• bigger properties by deductively combining results of traditional FV

I Need smooth transition from debugging to assurance

• current testbench tools have some FV (property checking)• next generation testbenches should have access to theorem proving• move from coverage metrics to total coverage

I How to combine debugging FV with assurance theorem proving?

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 33: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 9-c/27

From debugging to assurance

I Current debugging flow (functional)

• first find obvious bugs (initial sanity checking)• next do systematic debugging using coverage tools (Vera, Specman)• use FV point tools to find ‘high value’ bugs

I Incrementally add

• correctness of high level algorithms (e.g. floating point)• bigger properties by deductively combining results of traditional FV

I Need smooth transition from debugging to assurance

• current testbench tools have some FV (property checking)• next generation testbenches should have access to theorem proving• move from coverage metrics to total coverage

I How to combine debugging FV with assurance theorem proving?

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 34: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 9-d/27

From debugging to assurance

I Current debugging flow (functional)

• first find obvious bugs (initial sanity checking)• next do systematic debugging using coverage tools (Vera, Specman)• use FV point tools to find ‘high value’ bugs

I Incrementally add

• correctness of high level algorithms (e.g. floating point)• bigger properties by deductively combining results of traditional FV

I Need smooth transition from debugging to assurance

• current testbench tools have some FV (property checking)• next generation testbenches should have access to theorem proving• move from coverage metrics to total coverage

I How to combine debugging FV with assurance theorem proving?

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 35: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 9-e/27

From debugging to assurance

I Current debugging flow (functional)

• first find obvious bugs (initial sanity checking)• next do systematic debugging using coverage tools (Vera, Specman)• use FV point tools to find ‘high value’ bugs

I Incrementally add

• correctness of high level algorithms (e.g. floating point)• bigger properties by deductively combining results of traditional FV

I Need smooth transition from debugging to assurance

• current testbench tools have some FV (property checking)• next generation testbenches should have access to theorem proving• move from coverage metrics to total coverage

I How to combine debugging FV with assurance theorem proving?

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 36: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 9-f/27

From debugging to assurance

I Current debugging flow (functional)

• first find obvious bugs (initial sanity checking)• next do systematic debugging using coverage tools (Vera, Specman)• use FV point tools to find ‘high value’ bugs

I Incrementally add

• correctness of high level algorithms (e.g. floating point)• bigger properties by deductively combining results of traditional FV

I Need smooth transition from debugging to assurance

• current testbench tools have some FV (property checking)• next generation testbenches should have access to theorem proving• move from coverage metrics to total coverage

I How to combine debugging FV with assurance theorem proving?

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 37: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 10/27

Current research on theorem proving for FV

I Add checking and simulation to a theorem prover

• start with user guided prover, add fast execution & model checking• efficiently decide properties in subset of a powerful logic• Examples: Acl2, PVS, HOL

I Add theorem proving to a model checker

• start with property checker, add deductive layer• combine properties, manage abstraction• Examples: Cadence SMV, Intel’s ThmTac

I Build new verification platform

• Example: Intel’s Forte/reFLect

I Issues• security versus efficiency (assurance versus debugging)• programmability (ease-of-use versus fliexibility and power)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 38: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 10-a/27

Current research on theorem proving for FV

I Add checking and simulation to a theorem prover• start with user guided prover, add fast execution & model checking• efficiently decide properties in subset of a powerful logic• Examples: Acl2, PVS, HOL

I Add theorem proving to a model checker

• start with property checker, add deductive layer• combine properties, manage abstraction• Examples: Cadence SMV, Intel’s ThmTac

I Build new verification platform

• Example: Intel’s Forte/reFLect

I Issues• security versus efficiency (assurance versus debugging)• programmability (ease-of-use versus fliexibility and power)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 39: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 10-b/27

Current research on theorem proving for FV

I Add checking and simulation to a theorem prover• start with user guided prover, add fast execution & model checking• efficiently decide properties in subset of a powerful logic• Examples: Acl2, PVS, HOL

I Add theorem proving to a model checker• start with property checker, add deductive layer• combine properties, manage abstraction• Examples: Cadence SMV, Intel’s ThmTac

I Build new verification platform

• Example: Intel’s Forte/reFLect

I Issues• security versus efficiency (assurance versus debugging)• programmability (ease-of-use versus fliexibility and power)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 40: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 10-c/27

Current research on theorem proving for FV

I Add checking and simulation to a theorem prover• start with user guided prover, add fast execution & model checking• efficiently decide properties in subset of a powerful logic• Examples: Acl2, PVS, HOL

I Add theorem proving to a model checker• start with property checker, add deductive layer• combine properties, manage abstraction• Examples: Cadence SMV, Intel’s ThmTac

I Build new verification platform

• Example: Intel’s Forte/reFLect

I Issues• security versus efficiency (assurance versus debugging)• programmability (ease-of-use versus fliexibility and power)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 41: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 10-d/27

Current research on theorem proving for FV

I Add checking and simulation to a theorem prover• start with user guided prover, add fast execution & model checking• efficiently decide properties in subset of a powerful logic• Examples: Acl2, PVS, HOL

I Add theorem proving to a model checker• start with property checker, add deductive layer• combine properties, manage abstraction• Examples: Cadence SMV, Intel’s ThmTac

I Build new verification platform

• Example: Intel’s Forte/reFLect

I Issues

• security versus efficiency (assurance versus debugging)• programmability (ease-of-use versus fliexibility and power)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 42: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 10-e/27

Current research on theorem proving for FV

I Add checking and simulation to a theorem prover• start with user guided prover, add fast execution & model checking• efficiently decide properties in subset of a powerful logic• Examples: Acl2, PVS, HOL

I Add theorem proving to a model checker• start with property checker, add deductive layer• combine properties, manage abstraction• Examples: Cadence SMV, Intel’s ThmTac

I Build new verification platform

• Example: Intel’s Forte/reFLect

I Issues• security versus efficiency (assurance versus debugging)• programmability (ease-of-use versus fliexibility and power)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 43: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 11/27

Example: HOL4

I Start with interactive ‘LCF style’ proof assistant for higher order logic

• theorem tagging to track provenance

I Add execution capability• modified kernel to handle explicit substitutions (Barras)• future: faster non fully expansive execution via compilation (Slind)

I Add property checking technology• BDD representations for QBFs• external BDD package for specialised rules (e.g. image computation)• file interface to SAT packages (zChaff, Grasp, SATO)

I Applications• fully expansive model checker (BDDs + SAT for refinements) – Amjad• puzzleTool: rewrite puzzle descriptions to QBFs, solve with BDDs

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 44: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 11-a/27

Example: HOL4

I Start with interactive ‘LCF style’ proof assistant for higher order logic• theorem tagging to track provenance

I Add execution capability• modified kernel to handle explicit substitutions (Barras)• future: faster non fully expansive execution via compilation (Slind)

I Add property checking technology• BDD representations for QBFs• external BDD package for specialised rules (e.g. image computation)• file interface to SAT packages (zChaff, Grasp, SATO)

I Applications• fully expansive model checker (BDDs + SAT for refinements) – Amjad• puzzleTool: rewrite puzzle descriptions to QBFs, solve with BDDs

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 45: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 11-b/27

Example: HOL4

I Start with interactive ‘LCF style’ proof assistant for higher order logic• theorem tagging to track provenance

I Add execution capability

• modified kernel to handle explicit substitutions (Barras)• future: faster non fully expansive execution via compilation (Slind)

I Add property checking technology• BDD representations for QBFs• external BDD package for specialised rules (e.g. image computation)• file interface to SAT packages (zChaff, Grasp, SATO)

I Applications• fully expansive model checker (BDDs + SAT for refinements) – Amjad• puzzleTool: rewrite puzzle descriptions to QBFs, solve with BDDs

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 46: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 11-c/27

Example: HOL4

I Start with interactive ‘LCF style’ proof assistant for higher order logic• theorem tagging to track provenance

I Add execution capability• modified kernel to handle explicit substitutions (Barras)• future: faster non fully expansive execution via compilation (Slind)

I Add property checking technology• BDD representations for QBFs• external BDD package for specialised rules (e.g. image computation)• file interface to SAT packages (zChaff, Grasp, SATO)

I Applications• fully expansive model checker (BDDs + SAT for refinements) – Amjad• puzzleTool: rewrite puzzle descriptions to QBFs, solve with BDDs

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 47: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 11-d/27

Example: HOL4

I Start with interactive ‘LCF style’ proof assistant for higher order logic• theorem tagging to track provenance

I Add execution capability• modified kernel to handle explicit substitutions (Barras)• future: faster non fully expansive execution via compilation (Slind)

I Add property checking technology

• BDD representations for QBFs• external BDD package for specialised rules (e.g. image computation)• file interface to SAT packages (zChaff, Grasp, SATO)

I Applications• fully expansive model checker (BDDs + SAT for refinements) – Amjad• puzzleTool: rewrite puzzle descriptions to QBFs, solve with BDDs

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 48: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 11-e/27

Example: HOL4

I Start with interactive ‘LCF style’ proof assistant for higher order logic• theorem tagging to track provenance

I Add execution capability• modified kernel to handle explicit substitutions (Barras)• future: faster non fully expansive execution via compilation (Slind)

I Add property checking technology• BDD representations for QBFs• external BDD package for specialised rules (e.g. image computation)• file interface to SAT packages (zChaff, Grasp, SATO)

I Applications• fully expansive model checker (BDDs + SAT for refinements) – Amjad• puzzleTool: rewrite puzzle descriptions to QBFs, solve with BDDs

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 49: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 11-f/27

Example: HOL4

I Start with interactive ‘LCF style’ proof assistant for higher order logic• theorem tagging to track provenance

I Add execution capability• modified kernel to handle explicit substitutions (Barras)• future: faster non fully expansive execution via compilation (Slind)

I Add property checking technology• BDD representations for QBFs• external BDD package for specialised rules (e.g. image computation)• file interface to SAT packages (zChaff, Grasp, SATO)

I Applications

• fully expansive model checker (BDDs + SAT for refinements) – Amjad• puzzleTool: rewrite puzzle descriptions to QBFs, solve with BDDs

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 50: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 11-g/27

Example: HOL4

I Start with interactive ‘LCF style’ proof assistant for higher order logic• theorem tagging to track provenance

I Add execution capability• modified kernel to handle explicit substitutions (Barras)• future: faster non fully expansive execution via compilation (Slind)

I Add property checking technology• BDD representations for QBFs• external BDD package for specialised rules (e.g. image computation)• file interface to SAT packages (zChaff, Grasp, SATO)

I Applications• fully expansive model checker (BDDs + SAT for refinements) – Amjad• puzzleTool: rewrite puzzle descriptions to QBFs, solve with BDDs

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 51: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 12/27

Example: executing the formal semantics of PSL/Sugar(joint work with Joe Hurd & Konrad Slind)

I Show formal semantics is not just documentation

• can run the Language Reference Manual (LRM)

I Correctness primary, efficiency secondary

• but need sufficient efficiency!

I Programming methodology, not new verification algorithms

• EDA tools with theorem prover inside (c.f. PROSPER)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 52: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 12-a/27

Example: executing the formal semantics of PSL/Sugar(joint work with Joe Hurd & Konrad Slind)

I Show formal semantics is not just documentation

• can run the Language Reference Manual (LRM)

I Correctness primary, efficiency secondary

• but need sufficient efficiency!

I Programming methodology, not new verification algorithms

• EDA tools with theorem prover inside (c.f. PROSPER)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 53: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 12-b/27

Example: executing the formal semantics of PSL/Sugar(joint work with Joe Hurd & Konrad Slind)

I Show formal semantics is not just documentation

• can run the Language Reference Manual (LRM)

I Correctness primary, efficiency secondary

• but need sufficient efficiency!

I Programming methodology, not new verification algorithms

• EDA tools with theorem prover inside (c.f. PROSPER)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 54: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 12-c/27

Example: executing the formal semantics of PSL/Sugar(joint work with Joe Hurd & Konrad Slind)

I Show formal semantics is not just documentation

• can run the Language Reference Manual (LRM)

I Correctness primary, efficiency secondary

• but need sufficient efficiency!

I Programming methodology, not new verification algorithms

• EDA tools with theorem prover inside (c.f. PROSPER)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 55: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 12-d/27

Example: executing the formal semantics of PSL/Sugar(joint work with Joe Hurd & Konrad Slind)

I Show formal semantics is not just documentation

• can run the Language Reference Manual (LRM)

I Correctness primary, efficiency secondary

• but need sufficient efficiency!

I Programming methodology, not new verification algorithms

• EDA tools with theorem prover inside (c.f. PROSPER)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 56: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 12-e/27

Example: executing the formal semantics of PSL/Sugar(joint work with Joe Hurd & Konrad Slind)

I Show formal semantics is not just documentation

• can run the Language Reference Manual (LRM)

I Correctness primary, efficiency secondary

• but need sufficient efficiency!

I Programming methodology, not new verification algorithms

• EDA tools with theorem prover inside (c.f. PROSPER)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 57: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 13/27

Use theorem proving to generate tools from semantics

THEOREM PROVER

Formal semantics

EDA tools

I Input ‘golden’ semantics from LRM

I Perform mechanised proof

I Generate tools

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 58: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 13-a/27

Use theorem proving to generate tools from semantics

THEOREM PROVER

Formal semantics

EDA tools

I Input ‘golden’ semantics from LRM

I Perform mechanised proof

I Generate tools

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 59: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 14/27

Compare with generating tools from syntax

Parser generator

Formal grammar

Parser

I Input a grammar

I Apply theory of formal languages

I Generate a parser

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 60: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 14-b/27

Compare with generating tools from syntax

Parser generator

Formal grammar

Parser

I Input a grammar

I Apply theory of formal languages

I Generate a parser

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 61: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 15/27

Accellera’s PSL (formerly IBM’s Sugar 2.0)

I PSL is a property specification language combining

• boolean expressions (Verilog syntax)

• patterns (Sequential Extended Regular Expressions SEREs)

• LTL formulas (Foundation language FL)

• CTL formulas (Optional Branching Extension OBE)

I Designed both for model checking and simulation testbenches

I Intended to be the industry standard

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 62: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 16/27

Generating PSL tools

Official semantics of PSL

HOL 4THEOREM PROVER

TOOL1: evaluate properties on a specific path

TOOL2: compile properties to HDL checkers (Hurd)

TOOL3: model check OBE properties (Amjad’s PhD)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 63: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 16-a/27

Generating PSL tools

Official semantics of PSL

HOL 4THEOREM PROVER

TOOL1: evaluate properties on a specific path

TOOL2: compile properties to HDL checkers (Hurd)

TOOL3: model check OBE properties (Amjad’s PhD)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 64: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 16-b/27

Generating PSL tools

Official semantics of PSL

HOL 4THEOREM PROVER

TOOL1: evaluate properties on a specific path

TOOL2: compile properties to HDL checkers (Hurd)

TOOL3: model check OBE properties (Amjad’s PhD)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 65: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 16-c/27

Generating PSL tools

Official semantics of PSL

HOL 4THEOREM PROVER

TOOL1: evaluate properties on a specific path

TOOL2: compile properties to HDL checkers (Hurd)

TOOL3: model check OBE properties (Amjad’s PhD)

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 66: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 17/27

TOOL1: executing the semantics

I By rewriting and evaluation (PSL in red, HOL in blue):

`

s0s1s2s3s4s5s6s7s8s9 |= p ∧ next!f = s0 |= p ∧ s1s2s3s4s5s6s7s8s9 |= f

`

{a}{a, b}{b} |= a ∧ next!b = T

I LRM semantics of the until-operator not directly executablew |= [f1 U f2] = ∃ k ∈ [0 .. |w|). wk |= f2 ∧ ∀ j ∈ [0 .. k). wj |= f1

I Standard reformulation makes it directly executable` w |= [f1 U f2] = |w| > 0 ∧ (w |= f2 ∨ w |= f1 ∧ w1 |= [f1 U f2])

I If f1, f2 are boolean expressions and the path is arbitrary of length 5:` s0s1s2s3s4 |= [b1 U b2] =

s0 |= b2 ∨s0 |= b1 ∧ (s1 |= b2 ∨ s1 |= b1 ∧(s2 |= b2 ∨ s2 |= b1 ∧ (s3 |= b2 ∨ s3 |= b1 ∧ s4 |= b2)))

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 67: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 17-a/27

TOOL1: executing the semantics

I By rewriting and evaluation (PSL in red, HOL in blue):

` s0s1s2s3s4s5s6s7s8s9 |= p ∧ next!f = s0 |= p ∧ s1s2s3s4s5s6s7s8s9 |= f

`

{a}{a, b}{b} |= a ∧ next!b = T

I LRM semantics of the until-operator not directly executablew |= [f1 U f2] = ∃ k ∈ [0 .. |w|). wk |= f2 ∧ ∀ j ∈ [0 .. k). wj |= f1

I Standard reformulation makes it directly executable` w |= [f1 U f2] = |w| > 0 ∧ (w |= f2 ∨ w |= f1 ∧ w1 |= [f1 U f2])

I If f1, f2 are boolean expressions and the path is arbitrary of length 5:` s0s1s2s3s4 |= [b1 U b2] =

s0 |= b2 ∨s0 |= b1 ∧ (s1 |= b2 ∨ s1 |= b1 ∧(s2 |= b2 ∨ s2 |= b1 ∧ (s3 |= b2 ∨ s3 |= b1 ∧ s4 |= b2)))

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 68: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 17-b/27

TOOL1: executing the semantics

I By rewriting and evaluation (PSL in red, HOL in blue):

` s0s1s2s3s4s5s6s7s8s9 |= p ∧ next!f = s0 |= p ∧ s1s2s3s4s5s6s7s8s9 |= f

` {a}{a, b}{b} |= a ∧ next!b = T

I LRM semantics of the until-operator not directly executablew |= [f1 U f2] = ∃ k ∈ [0 .. |w|). wk |= f2 ∧ ∀ j ∈ [0 .. k). wj |= f1

I Standard reformulation makes it directly executable` w |= [f1 U f2] = |w| > 0 ∧ (w |= f2 ∨ w |= f1 ∧ w1 |= [f1 U f2])

I If f1, f2 are boolean expressions and the path is arbitrary of length 5:` s0s1s2s3s4 |= [b1 U b2] =

s0 |= b2 ∨s0 |= b1 ∧ (s1 |= b2 ∨ s1 |= b1 ∧(s2 |= b2 ∨ s2 |= b1 ∧ (s3 |= b2 ∨ s3 |= b1 ∧ s4 |= b2)))

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 69: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 17-c/27

TOOL1: executing the semantics

I By rewriting and evaluation (PSL in red, HOL in blue):

` s0s1s2s3s4s5s6s7s8s9 |= p ∧ next!f = s0 |= p ∧ s1s2s3s4s5s6s7s8s9 |= f

` {a}{a, b}{b} |= a ∧ next!b = T

I LRM semantics of the until-operator not directly executable

w |= [f1 U f2] = ∃ k ∈ [0 .. |w|). wk |= f2 ∧ ∀ j ∈ [0 .. k). wj |= f1

I Standard reformulation makes it directly executable` w |= [f1 U f2] = |w| > 0 ∧ (w |= f2 ∨ w |= f1 ∧ w1 |= [f1 U f2])

I If f1, f2 are boolean expressions and the path is arbitrary of length 5:` s0s1s2s3s4 |= [b1 U b2] =

s0 |= b2 ∨s0 |= b1 ∧ (s1 |= b2 ∨ s1 |= b1 ∧(s2 |= b2 ∨ s2 |= b1 ∧ (s3 |= b2 ∨ s3 |= b1 ∧ s4 |= b2)))

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 70: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 17-d/27

TOOL1: executing the semantics

I By rewriting and evaluation (PSL in red, HOL in blue):

` s0s1s2s3s4s5s6s7s8s9 |= p ∧ next!f = s0 |= p ∧ s1s2s3s4s5s6s7s8s9 |= f

` {a}{a, b}{b} |= a ∧ next!b = T

I LRM semantics of the until-operator not directly executablew |= [f1 U f2] = ∃ k ∈ [0 .. |w|). wk |= f2 ∧ ∀ j ∈ [0 .. k). wj |= f1

I Standard reformulation makes it directly executable` w |= [f1 U f2] = |w| > 0 ∧ (w |= f2 ∨ w |= f1 ∧ w1 |= [f1 U f2])

I If f1, f2 are boolean expressions and the path is arbitrary of length 5:` s0s1s2s3s4 |= [b1 U b2] =

s0 |= b2 ∨s0 |= b1 ∧ (s1 |= b2 ∨ s1 |= b1 ∧(s2 |= b2 ∨ s2 |= b1 ∧ (s3 |= b2 ∨ s3 |= b1 ∧ s4 |= b2)))

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 71: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 17-e/27

TOOL1: executing the semantics

I By rewriting and evaluation (PSL in red, HOL in blue):

` s0s1s2s3s4s5s6s7s8s9 |= p ∧ next!f = s0 |= p ∧ s1s2s3s4s5s6s7s8s9 |= f

` {a}{a, b}{b} |= a ∧ next!b = T

I LRM semantics of the until-operator not directly executablew |= [f1 U f2] = ∃ k ∈ [0 .. |w|). wk |= f2 ∧ ∀ j ∈ [0 .. k). wj |= f1

I Standard reformulation makes it directly executable

` w |= [f1 U f2] = |w| > 0 ∧ (w |= f2 ∨ w |= f1 ∧ w1 |= [f1 U f2])

I If f1, f2 are boolean expressions and the path is arbitrary of length 5:` s0s1s2s3s4 |= [b1 U b2] =

s0 |= b2 ∨s0 |= b1 ∧ (s1 |= b2 ∨ s1 |= b1 ∧(s2 |= b2 ∨ s2 |= b1 ∧ (s3 |= b2 ∨ s3 |= b1 ∧ s4 |= b2)))

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 72: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 17-f/27

TOOL1: executing the semantics

I By rewriting and evaluation (PSL in red, HOL in blue):

` s0s1s2s3s4s5s6s7s8s9 |= p ∧ next!f = s0 |= p ∧ s1s2s3s4s5s6s7s8s9 |= f

` {a}{a, b}{b} |= a ∧ next!b = T

I LRM semantics of the until-operator not directly executablew |= [f1 U f2] = ∃ k ∈ [0 .. |w|). wk |= f2 ∧ ∀ j ∈ [0 .. k). wj |= f1

I Standard reformulation makes it directly executable` w |= [f1 U f2] = |w| > 0 ∧ (w |= f2 ∨ w |= f1 ∧ w1 |= [f1 U f2])

I If f1, f2 are boolean expressions and the path is arbitrary of length 5:` s0s1s2s3s4 |= [b1 U b2] =

s0 |= b2 ∨s0 |= b1 ∧ (s1 |= b2 ∨ s1 |= b1 ∧(s2 |= b2 ∨ s2 |= b1 ∧ (s3 |= b2 ∨ s3 |= b1 ∧ s4 |= b2)))

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 73: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 17-g/27

TOOL1: executing the semantics

I By rewriting and evaluation (PSL in red, HOL in blue):

` s0s1s2s3s4s5s6s7s8s9 |= p ∧ next!f = s0 |= p ∧ s1s2s3s4s5s6s7s8s9 |= f

` {a}{a, b}{b} |= a ∧ next!b = T

I LRM semantics of the until-operator not directly executablew |= [f1 U f2] = ∃ k ∈ [0 .. |w|). wk |= f2 ∧ ∀ j ∈ [0 .. k). wj |= f1

I Standard reformulation makes it directly executable` w |= [f1 U f2] = |w| > 0 ∧ (w |= f2 ∨ w |= f1 ∧ w1 |= [f1 U f2])

I If f1, f2 are boolean expressions and the path is arbitrary of length 5:

` s0s1s2s3s4 |= [b1 U b2] =

s0 |= b2 ∨s0 |= b1 ∧ (s1 |= b2 ∨ s1 |= b1 ∧(s2 |= b2 ∨ s2 |= b1 ∧ (s3 |= b2 ∨ s3 |= b1 ∧ s4 |= b2)))

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 74: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 17-h/27

TOOL1: executing the semantics

I By rewriting and evaluation (PSL in red, HOL in blue):

` s0s1s2s3s4s5s6s7s8s9 |= p ∧ next!f = s0 |= p ∧ s1s2s3s4s5s6s7s8s9 |= f

` {a}{a, b}{b} |= a ∧ next!b = T

I LRM semantics of the until-operator not directly executablew |= [f1 U f2] = ∃ k ∈ [0 .. |w|). wk |= f2 ∧ ∀ j ∈ [0 .. k). wj |= f1

I Standard reformulation makes it directly executable` w |= [f1 U f2] = |w| > 0 ∧ (w |= f2 ∨ w |= f1 ∧ w1 |= [f1 U f2])

I If f1, f2 are boolean expressions and the path is arbitrary of length 5:` s0s1s2s3s4 |= [b1 U b2] =

s0 |= b2 ∨s0 |= b1 ∧ (s1 |= b2 ∨ s1 |= b1 ∧(s2 |= b2 ∨ s2 |= b1 ∧ (s3 |= b2 ∨ s3 |= b1 ∧ s4 |= b2)))

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 75: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 18/27

Matching regular expressions by proof (Hurd)

I PSL formulas may contain regular expressions

I Semantics of PSL regular expressions is self-explanatory

(w |= b = (|w| = 1) ∧ w0 |= b) ∧(w |= r1; r2 = ∃w1w2. (w = w1w2) ∧ w1 |= r1 ∧ w2 |= r2) ∧(w |= r1 : r2 = ∃w1w2l. (w = w1[l]w2) ∧ w1[l] |= r1 ∧ [l]w2 |= r2) ∧(w |= {r1} | {r2} = w |= r1 ∨ w |= r2) ∧(w |= {r1}&&{r2} = w |= r1 ∧ w |= r2) ∧(w |= r[∗] = ∃wlist. (w = Concat wlist)∧Every(λw. w |= r)wlist)

I Make executable by proving` ∀w r. w |= r = Match r w

where:• Match is an executable matcher for regular expressions

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 76: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 18-a/27

Matching regular expressions by proof (Hurd)

I PSL formulas may contain regular expressions

I Semantics of PSL regular expressions is self-explanatory

(w |= b = (|w| = 1) ∧ w0 |= b) ∧(w |= r1; r2 = ∃w1w2. (w = w1w2) ∧ w1 |= r1 ∧ w2 |= r2) ∧(w |= r1 : r2 = ∃w1w2l. (w = w1[l]w2) ∧ w1[l] |= r1 ∧ [l]w2 |= r2) ∧(w |= {r1} | {r2} = w |= r1 ∨ w |= r2) ∧(w |= {r1}&&{r2} = w |= r1 ∧ w |= r2) ∧(w |= r[∗] = ∃wlist. (w = Concat wlist)∧Every(λw. w |= r)wlist)

I Make executable by proving` ∀w r. w |= r = Match r w

where:• Match is an executable matcher for regular expressions

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 77: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 18-b/27

Matching regular expressions by proof (Hurd)

I PSL formulas may contain regular expressions

I Semantics of PSL regular expressions is self-explanatory

(w |= b = (|w| = 1) ∧ w0 |= b) ∧(w |= r1; r2 = ∃w1w2. (w = w1w2) ∧ w1 |= r1 ∧ w2 |= r2) ∧(w |= r1 : r2 = ∃w1w2l. (w = w1[l]w2) ∧ w1[l] |= r1 ∧ [l]w2 |= r2) ∧(w |= {r1} | {r2} = w |= r1 ∨ w |= r2) ∧(w |= {r1}&&{r2} = w |= r1 ∧ w |= r2) ∧(w |= r[∗] = ∃wlist. (w = Concat wlist)∧Every(λw. w |= r)wlist)

I Make executable by proving

` ∀w r. w |= r = Match r w

where:• Match is an executable matcher for regular expressions

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 78: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 18-c/27

Matching regular expressions by proof (Hurd)

I PSL formulas may contain regular expressions

I Semantics of PSL regular expressions is self-explanatory

(w |= b = (|w| = 1) ∧ w0 |= b) ∧(w |= r1; r2 = ∃w1w2. (w = w1w2) ∧ w1 |= r1 ∧ w2 |= r2) ∧(w |= r1 : r2 = ∃w1w2l. (w = w1[l]w2) ∧ w1[l] |= r1 ∧ [l]w2 |= r2) ∧(w |= {r1} | {r2} = w |= r1 ∨ w |= r2) ∧(w |= {r1}&&{r2} = w |= r1 ∧ w |= r2) ∧(w |= r[∗] = ∃wlist. (w = Concat wlist)∧Every(λw. w |= r)wlist)

I Make executable by proving` ∀w r. w |= r = Match r w

where:• Match is an executable matcher for regular expressions

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 79: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 19/27

Example formula with regular expression: {r}(f) (Hurd)

I Called “suffix implication”, semantics is:

w |= {r}(f) = ∀ j ∈ [0 .. |w|). w0,j |= r ⇒ wj |= f

I Define an efficient executable function Check so that, for example:

Check r f [x0; x1; x2; x3] =

(Match r [x0]⇒ f [x0; x1; x2; x3]) ∧(Match r [x0; x1]⇒ f [x1; x2; x3]) ∧(Match r [x0; x1; x2]⇒ f [x2; x3]) ∧(Match r [x0; x1; x2; x3]⇒ f [x3])

I Then prove

` ∀w r f. w |= {r}(f) = Check r (λx. x |= f) w

I Rewrite with this, then execute

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 80: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 19-a/27

Example formula with regular expression: {r}(f) (Hurd)

I Called “suffix implication”, semantics is:

w |= {r}(f) = ∀ j ∈ [0 .. |w|). w0,j |= r ⇒ wj |= f

I Define an efficient executable function Check so that, for example:

Check r f [x0; x1; x2; x3] =

(Match r [x0]⇒ f [x0; x1; x2; x3]) ∧(Match r [x0; x1]⇒ f [x1; x2; x3]) ∧(Match r [x0; x1; x2]⇒ f [x2; x3]) ∧(Match r [x0; x1; x2; x3]⇒ f [x3])

I Then prove

` ∀w r f. w |= {r}(f) = Check r (λx. x |= f) w

I Rewrite with this, then execute

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 81: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 19-c/27

Example formula with regular expression: {r}(f) (Hurd)

I Called “suffix implication”, semantics is:

w |= {r}(f) = ∀ j ∈ [0 .. |w|). w0,j |= r ⇒ wj |= f

I Define an efficient executable function Check so that, for example:

Check r f [x0; x1; x2; x3] =

(Match r [x0]⇒ f [x0; x1; x2; x3]) ∧(Match r [x0; x1]⇒ f [x1; x2; x3]) ∧(Match r [x0; x1; x2]⇒ f [x2; x3]) ∧(Match r [x0; x1; x2; x3]⇒ f [x3])

I Then prove

` ∀w r f. w |= {r}(f) = Check r (λx. x |= f) w

I Rewrite with this, then execute

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 82: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 19-d/27

Example formula with regular expression: {r}(f) (Hurd)

I Called “suffix implication”, semantics is:

w |= {r}(f) = ∀ j ∈ [0 .. |w|). w0,j |= r ⇒ wj |= f

I Define an efficient executable function Check so that, for example:

Check r f [x0; x1; x2; x3] =

(Match r [x0]⇒ f [x0; x1; x2; x3]) ∧(Match r [x0; x1]⇒ f [x1; x2; x3]) ∧(Match r [x0; x1; x2]⇒ f [x2; x3]) ∧(Match r [x0; x1; x2; x3]⇒ f [x3])

I Then prove

` ∀w r f. w |= {r}(f) = Check r (λx. x |= f) w

I Rewrite with this, then execute

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 83: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 20/27

Example illustrating TOOL1

I PSL Reference Manual Example 2, page 45time 0 1 2 3 4 5 6 7 8 9----------------------------------clk1 0 1 0 1 0 1 0 1 0 1a 0 0 0 1 1 1 0 0 0 0b 0 0 0 0 0 1 0 1 1 0c 1 0 0 0 0 1 1 0 0 0clk2 1 0 0 1 0 0 1 0 0 1

I Define w to be this path, so w is:{c,clk2}{clk1}{}{clk1,a,clk2}{a}{clk1,a,b,c}{c,clk2}{clk1,b}{b}{clk1,clk2}

I Can evaluate in SML, or via a command line wrapper

I Example: to evaluate (c && next!(a until b))@clk1 at all times in w:% pslcheck -all \

-fl ’(c && next!(a until b))@clk1’ \-path ’{c,clk2}{clk1}{}{clk1,a,clk2}{a}{clk1,a,b,c}{c,clk2}{clk1,b}{b}{clk1,clk2}’

> > true at times 4,5,10

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 84: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 21/27

Uses of TOOL1 (calculating w |=T f from semantics)

I Teaching and learning tool for exploring semantics

I Checking one has the right property before using it in verification

I Post simulation analysis (path is generated by simulator)

• compare with “TransEDA VN-Property” property checker and analyzer

• our tools much slower – but not necessary too slow!

• guaranteed PSL compliant by construction: golden reference

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 85: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 21-a/27

Uses of TOOL1 (calculating w |=T f from semantics)

I Teaching and learning tool for exploring semantics

I Checking one has the right property before using it in verification

I Post simulation analysis (path is generated by simulator)

• compare with “TransEDA VN-Property” property checker and analyzer

• our tools much slower – but not necessary too slow!

• guaranteed PSL compliant by construction: golden reference

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 86: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 21-b/27

Uses of TOOL1 (calculating w |=T f from semantics)

I Teaching and learning tool for exploring semantics

I Checking one has the right property before using it in verification

I Post simulation analysis (path is generated by simulator)

• compare with “TransEDA VN-Property” property checker and analyzer

• our tools much slower – but not necessary too slow!

• guaranteed PSL compliant by construction: golden reference

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 87: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 21-c/27

Uses of TOOL1 (calculating w |=T f from semantics)

I Teaching and learning tool for exploring semantics

I Checking one has the right property before using it in verification

I Post simulation analysis (path is generated by simulator)

• compare with “TransEDA VN-Property” property checker and analyzer

• our tools much slower – but not necessary too slow!

• guaranteed PSL compliant by construction: golden reference

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 88: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 21-d/27

Uses of TOOL1 (calculating w |=T f from semantics)

I Teaching and learning tool for exploring semantics

I Checking one has the right property before using it in verification

I Post simulation analysis (path is generated by simulator)

• compare with “TransEDA VN-Property” property checker and analyzer

• our tools much slower – but not necessary too slow!

• guaranteed PSL compliant by construction: golden reference

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 89: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 22/27

Tools use standard algorithms

I TOOL1: semantic calculator

• match regexps using automata; evaluate formulas recursively

I TOOL2: checker compiler (Hurd)

• compile regexps to automata, then ‘pretty print’ to HDL (Verilog)

I TOOL3: symbolic µ-calculus model checker (Amjad)

• use BDD representation judgements to link HOL terms to BDDs

I No new algorithms, but maybe a new kind of logic programming

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 90: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 22-a/27

Tools use standard algorithms

I TOOL1: semantic calculator

• match regexps using automata; evaluate formulas recursively

I TOOL2: checker compiler (Hurd)

• compile regexps to automata, then ‘pretty print’ to HDL (Verilog)

I TOOL3: symbolic µ-calculus model checker (Amjad)

• use BDD representation judgements to link HOL terms to BDDs

I No new algorithms, but maybe a new kind of logic programming

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 91: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 22-b/27

Tools use standard algorithms

I TOOL1: semantic calculator

• match regexps using automata; evaluate formulas recursively

I TOOL2: checker compiler (Hurd)

• compile regexps to automata, then ‘pretty print’ to HDL (Verilog)

I TOOL3: symbolic µ-calculus model checker (Amjad)

• use BDD representation judgements to link HOL terms to BDDs

I No new algorithms, but maybe a new kind of logic programming

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 92: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 22-c/27

Tools use standard algorithms

I TOOL1: semantic calculator

• match regexps using automata; evaluate formulas recursively

I TOOL2: checker compiler (Hurd)

• compile regexps to automata, then ‘pretty print’ to HDL (Verilog)

I TOOL3: symbolic µ-calculus model checker (Amjad)

• use BDD representation judgements to link HOL terms to BDDs

I No new algorithms, but maybe a new kind of logic programming

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 93: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 22-d/27

Tools use standard algorithms

I TOOL1: semantic calculator

• match regexps using automata; evaluate formulas recursively

I TOOL2: checker compiler (Hurd)

• compile regexps to automata, then ‘pretty print’ to HDL (Verilog)

I TOOL3: symbolic µ-calculus model checker (Amjad)

• use BDD representation judgements to link HOL terms to BDDs

I No new algorithms, but maybe a new kind of logic programming

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 94: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 23/27

Summary

HOL 4THEOREM PROVER

I Verification tools use theorem proving

• code derived (manually) from semantics by proof

• tools use embedded theorem proving when they execute

I Correct by construction

• PSL semantics will evolve for at least another year

I Theorem prover as implementation platform

• prototyping standards compliant tools

• theorem proving is slow . . . . . . . . . . . . . . . . . but not necessarily too slow

• maybe OK for some industrial strength performance-non-critical tools

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 95: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 23-a/27

Summary HOL 4THEOREM PROVER

I Verification tools use theorem proving

• code derived (manually) from semantics by proof

• tools use embedded theorem proving when they execute

I Correct by construction

• PSL semantics will evolve for at least another year

I Theorem prover as implementation platform

• prototyping standards compliant tools

• theorem proving is slow . . . . . . . . . . . . . . . . . but not necessarily too slow

• maybe OK for some industrial strength performance-non-critical tools

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 96: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 23-b/27

Summary HOL 4THEOREM PROVER

I Verification tools use theorem proving

• code derived (manually) from semantics by proof

• tools use embedded theorem proving when they execute

I Correct by construction

• PSL semantics will evolve for at least another year

I Theorem prover as implementation platform

• prototyping standards compliant tools

• theorem proving is slow . . . . . . . . . . . . . . . . . but not necessarily too slow

• maybe OK for some industrial strength performance-non-critical tools

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 97: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 23-c/27

Summary HOL 4THEOREM PROVER

I Verification tools use theorem proving

• code derived (manually) from semantics by proof

• tools use embedded theorem proving when they execute

I Correct by construction

• PSL semantics will evolve for at least another year

I Theorem prover as implementation platform

• prototyping standards compliant tools

• theorem proving is slow . . . . . . . . . . . . . . . . . but not necessarily too slow

• maybe OK for some industrial strength performance-non-critical tools

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 98: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 23-d/27

Summary HOL 4THEOREM PROVER

I Verification tools use theorem proving

• code derived (manually) from semantics by proof

• tools use embedded theorem proving when they execute

I Correct by construction

• PSL semantics will evolve for at least another year

I Theorem prover as implementation platform

• prototyping standards compliant tools

• theorem proving is slow

. . . . . . . . . . . . . . . . . but not necessarily too slow

• maybe OK for some industrial strength performance-non-critical tools

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 99: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 23-e/27

Summary HOL 4THEOREM PROVER

I Verification tools use theorem proving

• code derived (manually) from semantics by proof

• tools use embedded theorem proving when they execute

I Correct by construction

• PSL semantics will evolve for at least another year

I Theorem prover as implementation platform

• prototyping standards compliant tools

• theorem proving is slow . . . . . . . . . . . . . . . . . but not necessarily too slow

• maybe OK for some industrial strength performance-non-critical tools

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 100: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 24/27

Future research idea: generating ESL design tools

I SANTA CLARA, Calif., June 16, 2003 XXXX, Inc. the leading supplier ofconfigurable and extensible microprocessor cores , today introduced

XXXX XXXX, the first integrated design environment (IDE) for SOCdevelopment that integrates software development, processor optimizationand multiple-processor system-on-chip (SOC) architecture tools into onecommon design environment. XXXXs XXXX IDE is a visual environmentwith a host of new automation tools that makes creating XXXprocessor-based SOC hardware and software much easier.[http://www.tensilica.com/html/pr_2003_06_16a.html]

I Generate bespoke verifier for XXX processor?

• input processor specification• generate analysis tools for XXX-based ESL platform• not performace critical, so implementation by deduction plausible

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 101: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 24-a/27

Future research idea: generating ESL design tools

I SANTA CLARA, Calif., June 16, 2003 XXXX, Inc. the leading supplier ofconfigurable and extensible microprocessor cores , today introduced

XXXX XXXX, the first integrated design environment (IDE) for SOCdevelopment that integrates software development, processor optimizationand multiple-processor system-on-chip (SOC) architecture tools into onecommon design environment. XXXXs XXXX IDE is a visual environmentwith a host of new automation tools that makes creating XXXprocessor-based SOC hardware and software much easier.[http://www.tensilica.com/html/pr_2003_06_16a.html]

I Generate bespoke verifier for XXX processor?

• input processor specification• generate analysis tools for XXX-based ESL platform• not performace critical, so implementation by deduction plausible

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 102: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 25/27

Could there be a market for ‘Proof IP’

I Already exists design IP and property IP

• e.g. ARM designs and AMBA golden properties

I What about high level specification and proof IP?

• design IP needs multilevel specifications (RTL, behavioral)

I Specifications are more valuable if correct

• sell validated component specifications

I Design tweaks need verification tweeks

• sell bespoke proof scripts to validate tweaks

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 103: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 25-a/27

Could there be a market for ‘Proof IP’

I Already exists design IP and property IP

• e.g. ARM designs and AMBA golden properties

I What about high level specification and proof IP?

• design IP needs multilevel specifications (RTL, behavioral)

I Specifications are more valuable if correct

• sell validated component specifications

I Design tweaks need verification tweeks

• sell bespoke proof scripts to validate tweaks

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 104: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 25-b/27

Could there be a market for ‘Proof IP’

I Already exists design IP and property IP

• e.g. ARM designs and AMBA golden properties

I What about high level specification and proof IP?

• design IP needs multilevel specifications (RTL, behavioral)

I Specifications are more valuable if correct

• sell validated component specifications

I Design tweaks need verification tweeks

• sell bespoke proof scripts to validate tweaks

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 105: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 25-c/27

Could there be a market for ‘Proof IP’

I Already exists design IP and property IP

• e.g. ARM designs and AMBA golden properties

I What about high level specification and proof IP?

• design IP needs multilevel specifications (RTL, behavioral)

I Specifications are more valuable if correct

• sell validated component specifications

I Design tweaks need verification tweeks

• sell bespoke proof scripts to validate tweaks

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 106: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 25-d/27

Could there be a market for ‘Proof IP’

I Already exists design IP and property IP

• e.g. ARM designs and AMBA golden properties

I What about high level specification and proof IP?

• design IP needs multilevel specifications (RTL, behavioral)

I Specifications are more valuable if correct

• sell validated component specifications

I Design tweaks need verification tweeks

• sell bespoke proof scripts to validate tweaks

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 107: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 25-e/27

Could there be a market for ‘Proof IP’

I Already exists design IP and property IP

• e.g. ARM designs and AMBA golden properties

I What about high level specification and proof IP?

• design IP needs multilevel specifications (RTL, behavioral)

I Specifications are more valuable if correct

• sell validated component specifications

I Design tweaks need verification tweeks

• sell bespoke proof scripts to validate tweaks

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 108: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 25-f/27

Could there be a market for ‘Proof IP’

I Already exists design IP and property IP

• e.g. ARM designs and AMBA golden properties

I What about high level specification and proof IP?

• design IP needs multilevel specifications (RTL, behavioral)

I Specifications are more valuable if correct

• sell validated component specifications

I Design tweaks need verification tweeks

• sell bespoke proof scripts to validate tweaks

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 109: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 25-g/27

Could there be a market for ‘Proof IP’

I Already exists design IP and property IP

• e.g. ARM designs and AMBA golden properties

I What about high level specification and proof IP?

• design IP needs multilevel specifications (RTL, behavioral)

I Specifications are more valuable if correct

• sell validated component specifications

I Design tweaks need verification tweeks

• sell bespoke proof scripts to validate tweaks

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 110: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 26/27

Quote from the web – Proof IP?

PRODUCT OVERVIEW

XXXX: Conquers Toughest Verification Challenges with 100% Formal Proof...XXXX Pre-Built Proof Kits are available for a long list of industry standardinterfaces. Pre-Built Proof Kits contain all the necessary spec-levelrequirements to prove interface compliance, delivering immediate benefits tousers. ...

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 111: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 27/27

Future challenges

. . . . . . . . . . . Long Live Theorem Proving!

I Getting theorem proving into real verification flows• Intel, AMD can do it; tough for small companies• proof engine deployment platform: ProofStudio.net

I Continue to advance state-of-the-art of theorem proving• better integrate first order reasoning, equality & decision procedures• go beyond first order automation

I More demonstrator projects• hard to motivate as ‘proof of concept’ established• need more cost/benefit stories

I Make a market for specification and proof IP• need a convincing “value proposition” and “ROI” story

THE END

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 112: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 27-b/27

Future challenges

. . . . . . . . . . . Long Live Theorem Proving!

I Getting theorem proving into real verification flows

• Intel, AMD can do it; tough for small companies• proof engine deployment platform: ProofStudio.net

I Continue to advance state-of-the-art of theorem proving

• better integrate first order reasoning, equality & decision procedures• go beyond first order automation

I More demonstrator projects

• hard to motivate as ‘proof of concept’ established• need more cost/benefit stories

I Make a market for specification and proof IP

• need a convincing “value proposition” and “ROI” story

THE END

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 113: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 27-d/27

Future challenges

. . . . . . . . . . . Long Live Theorem Proving!

I Getting theorem proving into real verification flows• Intel, AMD can do it; tough for small companies• proof engine deployment platform: ProofStudio.net

I Continue to advance state-of-the-art of theorem proving

• better integrate first order reasoning, equality & decision procedures• go beyond first order automation

I More demonstrator projects

• hard to motivate as ‘proof of concept’ established• need more cost/benefit stories

I Make a market for specification and proof IP

• need a convincing “value proposition” and “ROI” story

THE END

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 114: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 27-e/27

Future challenges

. . . . . . . . . . . Long Live Theorem Proving!

I Getting theorem proving into real verification flows• Intel, AMD can do it; tough for small companies• proof engine deployment platform: ProofStudio.net

I Continue to advance state-of-the-art of theorem proving• better integrate first order reasoning, equality & decision procedures• go beyond first order automation

I More demonstrator projects

• hard to motivate as ‘proof of concept’ established• need more cost/benefit stories

I Make a market for specification and proof IP

• need a convincing “value proposition” and “ROI” story

THE END

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 115: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 27-f/27

Future challenges

. . . . . . . . . . . Long Live Theorem Proving!

I Getting theorem proving into real verification flows• Intel, AMD can do it; tough for small companies• proof engine deployment platform: ProofStudio.net

I Continue to advance state-of-the-art of theorem proving• better integrate first order reasoning, equality & decision procedures• go beyond first order automation

I More demonstrator projects• hard to motivate as ‘proof of concept’ established• need more cost/benefit stories

I Make a market for specification and proof IP

• need a convincing “value proposition” and “ROI” story

THE END

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge

Page 116: Automated Reasoning and Formal VericationAutomated Reasoning and Formal Verication 2/27 What is verication by automated reasoning IUse of a theorem prover to aid verication. Here’s

Automated Reasoning and Formal Verification 27-g/27

Future challenges . . . . . . . . . . . Long Live Theorem Proving!

I Getting theorem proving into real verification flows• Intel, AMD can do it; tough for small companies• proof engine deployment platform: ProofStudio.net

I Continue to advance state-of-the-art of theorem proving• better integrate first order reasoning, equality & decision procedures• go beyond first order automation

I More demonstrator projects• hard to motivate as ‘proof of concept’ established• need more cost/benefit stories

I Make a market for specification and proof IP• need a convincing “value proposition” and “ROI” story

THE END

Mike Gordon, Strachey Lecture, 20 Jan 2004 University of Cambridge