Top Banner
Outline Introduction Computers, Correctness, and Proofs Trying to Answer Fetzer Conclusions The Philosophy of Formal Methods Lee Pike Formal Methods Group NASA Langley Research Center [email protected] September 21, 2004 (The contents herein are not necessarily endorsed by the United States Government.) Lee Pike The Philosophy of Formal Methods
83

The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Jun 19, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

The Philosophy of Formal Methods

Lee Pike

Formal Methods GroupNASA Langley Research Center

[email protected]

September 21, 2004

(The contents herein are not necessarily endorsed by the United States

Government.)

Lee Pike The Philosophy of Formal Methods

Page 2: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Introduction

Computers, Correctness, and ProofsComputersCorrectnessProofs

Trying to Answer Fetzer

Conclusions

Lee Pike The Philosophy of Formal Methods

Page 3: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

A Warning to Formal Methods Practitioners

Simplifying assumptions are made throughout to extract thecentral philosophical issues.

Lee Pike The Philosophy of Formal Methods

Page 4: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

What are Formal Methods?

A formal method is a method applying formal mathematicaltechniques to prove (or disprove) a computer is correctlyimplemented.

Lee Pike The Philosophy of Formal Methods

Page 5: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Why Formal Methods Matter

Pentium FDIV Bug: It is estimated that a hardware bug in Intel’sPentium chip cost the company around 1/2 a billiondollars in the 1990’s.

Therac-25: A radiation-therapy killed or maimed 6 people in the1980’s due to software bugs.

Missle Defense: A 1960’s early warning system falsely asserted thata full-scale nuclear attack by the Soviets had occurreddue to unanticipated radiation from the moon.

Testing alone did not uncover these errors.

Return

Lee Pike The Philosophy of Formal Methods

Page 6: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Why Formal Methods Matter

Pentium FDIV Bug: It is estimated that a hardware bug in Intel’sPentium chip cost the company around 1/2 a billiondollars in the 1990’s.

Therac-25: A radiation-therapy killed or maimed 6 people in the1980’s due to software bugs.

Missle Defense: A 1960’s early warning system falsely asserted thata full-scale nuclear attack by the Soviets had occurreddue to unanticipated radiation from the moon.

Testing alone did not uncover these errors.

Return

Lee Pike The Philosophy of Formal Methods

Page 7: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Why Formal Methods Matter

Pentium FDIV Bug: It is estimated that a hardware bug in Intel’sPentium chip cost the company around 1/2 a billiondollars in the 1990’s.

Therac-25: A radiation-therapy killed or maimed 6 people in the1980’s due to software bugs.

Missle Defense: A 1960’s early warning system falsely asserted thata full-scale nuclear attack by the Soviets had occurreddue to unanticipated radiation from the moon.

Testing alone did not uncover these errors.

Return

Lee Pike The Philosophy of Formal Methods

Page 8: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Why Formal Methods Matter

Pentium FDIV Bug: It is estimated that a hardware bug in Intel’sPentium chip cost the company around 1/2 a billiondollars in the 1990’s.

Therac-25: A radiation-therapy killed or maimed 6 people in the1980’s due to software bugs.

Missle Defense: A 1960’s early warning system falsely asserted thata full-scale nuclear attack by the Soviets had occurreddue to unanticipated radiation from the moon.

Testing alone did not uncover these errors.

Return

Lee Pike The Philosophy of Formal Methods

Page 9: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Why Formal Methods Matter

Pentium FDIV Bug: It is estimated that a hardware bug in Intel’sPentium chip cost the company around 1/2 a billiondollars in the 1990’s.

Therac-25: A radiation-therapy killed or maimed 6 people in the1980’s due to software bugs.

Missle Defense: A 1960’s early warning system falsely asserted thata full-scale nuclear attack by the Soviets had occurreddue to unanticipated radiation from the moon.

Testing alone did not uncover these errors.

Return

Lee Pike The Philosophy of Formal Methods

Page 10: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

The Philosophical Challenge

“[Computers are] complex causal systems whosebehavior, in principle, can only be known with theuncertainty that attends empirical knowledge as opposedto the certainty that attends specific kinds ofmathematical demonstrations. For when the domain ofentities that is thereby described consists of purelyabstract entities, conclusive absolute verifications arepossible; but when the domain of entities that is therebydescribed consists of non-abstract physical entities . . .only inconclusive relative verifications are possible.”

James Fetzer: CACM, 1989

Lee Pike The Philosophy of Formal Methods

Page 11: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

The Million Dollar Question(a.k.a. Intel’s Half-Billion Dollar Question)

Can you prove a computer behaves correctly?

Lee Pike The Philosophy of Formal Methods

Page 12: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Abstract and Physical Computers

I Abstract ComputersI E.g., Turing Machines, Rewrite-formalisms.I These are models that can be mathematically manipulated.

I Physical ComputersI E.g., Digital wristwatches, laptops.I Can be pushed, prodded, and tested...I Only models of them can be mathematically manipulated.

Lee Pike The Philosophy of Formal Methods

Page 13: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Programs: Bridging the Great Divide

We want to prove that a program executed by a computer evokesthe desired behavior.

I A program is a syntactic entity with causal powers.I A program can be given a semantics via

I An abstract computer.I A concrete computer.

I A program is the “interface” between the abstract andconcrete.

From here on, “system” stands for a computer executing aprogram.

Lee Pike The Philosophy of Formal Methods

Page 14: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Programs: Bridging the Great Divide

We want to prove that a program executed by a computer evokesthe desired behavior.

I A program is a syntactic entity with causal powers.

I A program can be given a semantics viaI An abstract computer.I A concrete computer.

I A program is the “interface” between the abstract andconcrete.

From here on, “system” stands for a computer executing aprogram.

Lee Pike The Philosophy of Formal Methods

Page 15: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Programs: Bridging the Great Divide

We want to prove that a program executed by a computer evokesthe desired behavior.

I A program is a syntactic entity with causal powers.I A program can be given a semantics via

I An abstract computer.I A concrete computer.

I A program is the “interface” between the abstract andconcrete.

From here on, “system” stands for a computer executing aprogram.

Lee Pike The Philosophy of Formal Methods

Page 16: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Programs: Bridging the Great Divide

We want to prove that a program executed by a computer evokesthe desired behavior.

I A program is a syntactic entity with causal powers.I A program can be given a semantics via

I An abstract computer.I A concrete computer.

I A program is the “interface” between the abstract andconcrete.

From here on, “system” stands for a computer executing aprogram.

Lee Pike The Philosophy of Formal Methods

Page 17: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Programs: Bridging the Great Divide

We want to prove that a program executed by a computer evokesthe desired behavior.

I A program is a syntactic entity with causal powers.I A program can be given a semantics via

I An abstract computer.I A concrete computer.

I A program is the “interface” between the abstract andconcrete.

From here on, “system” stands for a computer executing aprogram.

Lee Pike The Philosophy of Formal Methods

Page 18: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations

I A specification describes how a system should behave.I An implementation is a system that should satisfy a fixed

specification (e.g., it “adds detail”).

I Abstract systems may be abstract implementations.I Physical systems may be concrete implementations.

I An implementation is correct if it in fact satisfies itsspecification (?).

I An abstract implementation is also a formal specification.

Lee Pike The Philosophy of Formal Methods

Page 19: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations

I A specification describes how a system should behave.

I An implementation is a system that should satisfy a fixedspecification (e.g., it “adds detail”).

I Abstract systems may be abstract implementations.I Physical systems may be concrete implementations.

I An implementation is correct if it in fact satisfies itsspecification (?).

I An abstract implementation is also a formal specification.

Lee Pike The Philosophy of Formal Methods

Page 20: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations

I A specification describes how a system should behave.I An implementation is a system that should satisfy a fixed

specification (e.g., it “adds detail”).

I Abstract systems may be abstract implementations.I Physical systems may be concrete implementations.

I An implementation is correct if it in fact satisfies itsspecification (?).

I An abstract implementation is also a formal specification.

Lee Pike The Philosophy of Formal Methods

Page 21: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations

I A specification describes how a system should behave.I An implementation is a system that should satisfy a fixed

specification (e.g., it “adds detail”).I Abstract systems may be abstract implementations.I Physical systems may be concrete implementations.

I An implementation is correct if it in fact satisfies itsspecification (?).

I An abstract implementation is also a formal specification.

Lee Pike The Philosophy of Formal Methods

Page 22: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations

I A specification describes how a system should behave.I An implementation is a system that should satisfy a fixed

specification (e.g., it “adds detail”).I Abstract systems may be abstract implementations.I Physical systems may be concrete implementations.

I An implementation is correct if it in fact satisfies itsspecification (?).

I An abstract implementation is also a formal specification.

Lee Pike The Philosophy of Formal Methods

Page 23: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations

I A specification describes how a system should behave.I An implementation is a system that should satisfy a fixed

specification (e.g., it “adds detail”).I Abstract systems may be abstract implementations.I Physical systems may be concrete implementations.

I An implementation is correct if it in fact satisfies itsspecification (?).

I An abstract implementation is also a formal specification.

Lee Pike The Philosophy of Formal Methods

Page 24: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations: An Example

I Specification:For inputs x , y ∈ N, output z where z ≥ x and z ≥ y .

I Abstract Implementation1:Output z = x + y .

I Abstract Implementation2:

plus(x , y)def= if x = 0 then y else plus(+1(x),+1(y))

...

I Concrete Implementation:A machine that accepts and emits electomagnetic pulses.

Lee Pike The Philosophy of Formal Methods

Page 25: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations: An Example

I Specification:For inputs x , y ∈ N, output z where z ≥ x and z ≥ y .

I Abstract Implementation1:Output z = x + y .

I Abstract Implementation2:

plus(x , y)def= if x = 0 then y else plus(+1(x),+1(y))

...

I Concrete Implementation:A machine that accepts and emits electomagnetic pulses.

Lee Pike The Philosophy of Formal Methods

Page 26: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations: An Example

I Specification:For inputs x , y ∈ N, output z where z ≥ x and z ≥ y .

I Abstract Implementation1:Output z = x + y .

I Abstract Implementation2:

plus(x , y)def= if x = 0 then y else plus(+1(x),+1(y))

...

I Concrete Implementation:A machine that accepts and emits electomagnetic pulses.

Lee Pike The Philosophy of Formal Methods

Page 27: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations: An Example

I Specification:For inputs x , y ∈ N, output z where z ≥ x and z ≥ y .

I Specification1:Output z = x + y .

I Abstract Implementation2:

plus(x , y)def= if x = 0 then y else plus(+1(x),+1(y))

...

I Concrete Implementation:A machine that accepts and emits electomagnetic pulses.

Lee Pike The Philosophy of Formal Methods

Page 28: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations: An Example

I Specification:For inputs x , y ∈ N, output z where z ≥ x and z ≥ y .

I Specification1:Output z = x + y .

I Abstract Implementation2:

plus(x , y)def= if x = 0 then y else plus(+1(x),+1(y))

...

I Concrete Implementation:A machine that accepts and emits electomagnetic pulses.

Lee Pike The Philosophy of Formal Methods

Page 29: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations: An Example

I Specification:For inputs x , y ∈ N, output z where z ≥ x and z ≥ y .

I Specification1:Output z = x + y .

I Specification2:

plus(x , y)def= if x = 0 then y else plus(+1(x),+1(y))

...

I Concrete Implementation:A machine that accepts and emits electomagnetic pulses.

Lee Pike The Philosophy of Formal Methods

Page 30: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations: An Example

I Specification:For inputs x , y ∈ N, output z where z ≥ x and z ≥ y .

I Specification1:Output z = x + y .

I Specification2:

plus(x , y)def= if x = 0 then y else plus(+1(x),+1(y))

...

I Concrete Implementation:A machine that accepts and emits electomagnetic pulses.

Lee Pike The Philosophy of Formal Methods

Page 31: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

Specifications and Implementations: An Example

I Specification:For inputs x , y ∈ N, output z where z ≥ x and z ≥ y .

I Specification1:Output z = x + y .

I Specification2:

plus(x , y)def= if x = 0 then y else plus(+1(x),+1(y))

...

I Concrete Implementation:A machine that accepts and emits electomagnetic pulses.

Lee Pike The Philosophy of Formal Methods

Page 32: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

The Structure of Proofs in Formal Methods

Imple

men

tation

s

Spec

ifica

tion

s

For

mal

Pro

ofs

Abstract

Con

creteSpec1

Spec2/Imp2

...

Spec3/Imp3

Lee Pike The Philosophy of Formal Methods

Page 33: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

ComputersCorrectnessProofs

The Structure of Proofs in Formal Methods

Imple

men

tation

s

Spec

ifica

tion

s

For

mal

Pro

ofs

Abstract

Con

creteSpec1

Spec2/Imp2

...

Spec3/Imp3

Lee Pike The Philosophy of Formal Methods

Page 34: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Formal Methods & Science

“. . . The semantic gap is sufficiently small to renderFetzer’s objections inconsequential. To deny any relation. . . is to deny that there can be any useful mathematicalmodel of reality.”

Bevier, Smith, Young: CACM, 1989.

That is, if formal methods are not possible, than neither is appliedmathematics in any scientific field.

Lee Pike The Philosophy of Formal Methods

Page 35: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Formal Methods & Science

“. . . The semantic gap is sufficiently small to renderFetzer’s objections inconsequential. To deny any relation. . . is to deny that there can be any useful mathematicalmodel of reality.”

Bevier, Smith, Young: CACM, 1989.

That is, if formal methods are not possible, than neither is appliedmathematics in any scientific field.

Lee Pike The Philosophy of Formal Methods

Page 36: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Just Blame the Physicists

I The reply seems to rest on the assumption that a chain ofmodels is possible, all the way down to those of physics.

I In other words, if the concrete-abstract gap is small enough, itis based on the models of physics.

I If the physical implementation is incorrect, but the abstractimplementations down to the models of physics are proved tomeet their specifications, then physics is wrong.

Lee Pike The Philosophy of Formal Methods

Page 37: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Just Blame the Physicists

I The reply seems to rest on the assumption that a chain ofmodels is possible, all the way down to those of physics.

I In other words, if the concrete-abstract gap is small enough, itis based on the models of physics.

I If the physical implementation is incorrect, but the abstractimplementations down to the models of physics are proved tomeet their specifications, then physics is wrong.

Lee Pike The Philosophy of Formal Methods

Page 38: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Just Blame the Physicists

I The reply seems to rest on the assumption that a chain ofmodels is possible, all the way down to those of physics.

I In other words, if the concrete-abstract gap is small enough, itis based on the models of physics.

I If the physical implementation is incorrect, but the abstractimplementations down to the models of physics are proved tomeet their specifications, then physics is wrong.

Lee Pike The Philosophy of Formal Methods

Page 39: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Just Blame the Physicists

I The reply seems to rest on the assumption that a chain ofmodels is possible, all the way down to those of physics.

I In other words, if the concrete-abstract gap is small enough, itis based on the models of physics.

I If the physical implementation is incorrect, but the abstractimplementations down to the models of physics are proved tomeet their specifications, then physics is wrong.

Lee Pike The Philosophy of Formal Methods

Page 40: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Some Problems

I It is not a priori obvious that the models of physics andcomputer science are continuous, and no formal verificationactually attempts this.

I It is not just computational models that are of concern (seethe examples).

I Formal method practitioners do not experimentally verify theirmodels. Indeed, formal methods are meant to replaceexperimental verification.

Next

Lee Pike The Philosophy of Formal Methods

Page 41: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Some Problems

I It is not a priori obvious that the models of physics andcomputer science are continuous, and no formal verificationactually attempts this.

I It is not just computational models that are of concern (seethe examples).

I Formal method practitioners do not experimentally verify theirmodels. Indeed, formal methods are meant to replaceexperimental verification.

Next

Lee Pike The Philosophy of Formal Methods

Page 42: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Some Problems

I It is not a priori obvious that the models of physics andcomputer science are continuous, and no formal verificationactually attempts this.

I It is not just computational models that are of concern (seethe examples).

I Formal method practitioners do not experimentally verify theirmodels. Indeed, formal methods are meant to replaceexperimental verification.

Next

Lee Pike The Philosophy of Formal Methods

Page 43: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Some Problems

I It is not a priori obvious that the models of physics andcomputer science are continuous, and no formal verificationactually attempts this.

I It is not just computational models that are of concern (seethe examples).

I Formal method practitioners do not experimentally verify theirmodels. Indeed, formal methods are meant to replaceexperimental verification.

Next

Lee Pike The Philosophy of Formal Methods

Page 44: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Mind the Concrete-Abstract Gaps

I Computers are formallymodeled.

I The world is formally modeled.

I Computers’ models of the worldare formally modeled.

I The behavior we desireis formally modeled.

I Proofs are formally modeled(in a logic).

model of

model of

its

model of

model of

model of

Return

Lee Pike The Philosophy of Formal Methods

Page 45: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Mind the Concrete-Abstract Gaps

I Computers are formallymodeled.

I The world is formally modeled.

I Computers’ models of the worldare formally modeled.

I The behavior we desireis formally modeled.

I Proofs are formally modeled(in a logic).

model of

model of

its

model of

model of

model of

Return

Lee Pike The Philosophy of Formal Methods

Page 46: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Mind the Concrete-Abstract Gaps

I Computers are formallymodeled.

I The world is formally modeled.

I Computers’ models of the worldare formally modeled.

I The behavior we desireis formally modeled.

I Proofs are formally modeled(in a logic).

model of

model of

its

model of

model of

model of

Return

Lee Pike The Philosophy of Formal Methods

Page 47: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Mind the Concrete-Abstract Gaps

I Computers are formallymodeled.

I The world is formally modeled.

I Computers’ models of the worldare formally modeled.

I The behavior we desireis formally modeled.

I Proofs are formally modeled(in a logic).

model of

model of

its

model of

model of

model of

Return

Lee Pike The Philosophy of Formal Methods

Page 48: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Mind the Concrete-Abstract Gaps

I Computers are formallymodeled.

I The world is formally modeled.

I Computers’ models of the worldare formally modeled.

I The behavior we desireis formally modeled.

I Proofs are formally modeled(in a logic).

model of

model of

its

model of

model of

model of

Return

Lee Pike The Philosophy of Formal Methods

Page 49: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Mind the Concrete-Abstract Gaps

I Computers are formallymodeled.

I The world is formally modeled.

I Computers’ models of the worldare formally modeled.

I The behavior we desireis formally modeled.

I Proofs are formally modeled(in a logic).

model of

model of

its

model of

model of

model ofReturn

Lee Pike The Philosophy of Formal Methods

Page 50: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Where Are We Left?

I The problem of mathematics in formal methods is notreducible to the problem of mathematics in the empiricalsciences.

I The possible salvation of formal methods:program semantics. . .

Lee Pike The Philosophy of Formal Methods

Page 51: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Where Are We Left?

I The problem of mathematics in formal methods is notreducible to the problem of mathematics in the empiricalsciences.

I The possible salvation of formal methods:program semantics. . .

Lee Pike The Philosophy of Formal Methods

Page 52: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Where Are We Left?

I The problem of mathematics in formal methods is notreducible to the problem of mathematics in the empiricalsciences.

I The possible salvation of formal methods:program semantics. . .

Lee Pike The Philosophy of Formal Methods

Page 53: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Concluding Remarks

I Formal Methods is not an empirical science (is it an inchoateengineering discipline?), and its philosophical problems are notreducible to ones in science.

I A better philosophical understanding of formal models andtheir interactions is needed.

I Better philosophical understanding of the programs,algorithms, etc. is needed.

I These considerations comprise the foundation of inevitableand important questions of ethics.

Lee Pike The Philosophy of Formal Methods

Page 54: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Concluding Remarks

I Formal Methods is not an empirical science (is it an inchoateengineering discipline?), and its philosophical problems are notreducible to ones in science.

I A better philosophical understanding of formal models andtheir interactions is needed.

I Better philosophical understanding of the programs,algorithms, etc. is needed.

I These considerations comprise the foundation of inevitableand important questions of ethics.

Lee Pike The Philosophy of Formal Methods

Page 55: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Concluding Remarks

I Formal Methods is not an empirical science (is it an inchoateengineering discipline?), and its philosophical problems are notreducible to ones in science.

I A better philosophical understanding of formal models andtheir interactions is needed.

I Better philosophical understanding of the programs,algorithms, etc. is needed.

I These considerations comprise the foundation of inevitableand important questions of ethics.

Lee Pike The Philosophy of Formal Methods

Page 56: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Concluding Remarks

I Formal Methods is not an empirical science (is it an inchoateengineering discipline?), and its philosophical problems are notreducible to ones in science.

I A better philosophical understanding of formal models andtheir interactions is needed.

I Better philosophical understanding of the programs,algorithms, etc. is needed.

I These considerations comprise the foundation of inevitableand important questions of ethics.

Lee Pike The Philosophy of Formal Methods

Page 57: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Concluding Remarks

I Formal Methods is not an empirical science (is it an inchoateengineering discipline?), and its philosophical problems are notreducible to ones in science.

I A better philosophical understanding of formal models andtheir interactions is needed.

I Better philosophical understanding of the programs,algorithms, etc. is needed.

I These considerations comprise the foundation of inevitableand important questions of ethics.

Lee Pike The Philosophy of Formal Methods

Page 58: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

OutlineIntroduction

Computers, Correctness, and ProofsTrying to Answer Fetzer

Conclusions

Some Web Resources

NASA Langley Research Center Formal Methods Group

http://shemesh.larc.nasa.gov/fm/Google: nasa formal methods

A Good Online Bibliography

http://www.cse.buffalo.edu/~rapaport/510/canprogsbeverified.htmlGoogle: rapaport programs verified

Lee Pike The Philosophy of Formal Methods

Page 59: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Computational Models are Discrete

I In the physical sciences, small changes in the world meansmall changes in modeled behavior.

I In the computer sciences, small changes in the world maymean huge changes in modeled behavior.

Example: Flipping a bit.

I 1000102 = 34.

I 1000102 −→ 0000102.

I 0000102 = 2.

Lee Pike The Philosophy of Formal Methods

Page 60: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Computational Models are Discrete

I In the physical sciences, small changes in the world meansmall changes in modeled behavior.

I In the computer sciences, small changes in the world maymean huge changes in modeled behavior.

Example: Flipping a bit.

I 1000102 = 34.

I 1000102 −→ 0000102.

I 0000102 = 2.

Lee Pike The Philosophy of Formal Methods

Page 61: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Computational Models are Discrete

I In the physical sciences, small changes in the world meansmall changes in modeled behavior.

I In the computer sciences, small changes in the world maymean huge changes in modeled behavior.

Example: Flipping a bit.

I 1000102 = 34.

I 1000102 −→ 0000102.

I 0000102 = 2.

Lee Pike The Philosophy of Formal Methods

Page 62: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Computational Models are Discrete

I In the physical sciences, small changes in the world meansmall changes in modeled behavior.

I In the computer sciences, small changes in the world maymean huge changes in modeled behavior.

Example: Flipping a bit.

I 1000102 = 34.

I 1000102 −→ 0000102.

I 0000102 = 2.

Lee Pike The Philosophy of Formal Methods

Page 63: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Computational Models are Discrete

I In the physical sciences, small changes in the world meansmall changes in modeled behavior.

I In the computer sciences, small changes in the world maymean huge changes in modeled behavior.

Example: Flipping a bit.

I 1000102 = 34.

I 1000102 −→ 0000102.

I 0000102 = 2.

Lee Pike The Philosophy of Formal Methods

Page 64: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Computational Models are Discrete

I In the physical sciences, small changes in the world meansmall changes in modeled behavior.

I In the computer sciences, small changes in the world maymean huge changes in modeled behavior.

Example: Flipping a bit.

I 1000102 = 34.

I 1000102 −→ 0000102.

I 0000102 = 2.

Lee Pike The Philosophy of Formal Methods

Page 65: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Computational Models are Discontinous

I Computational Fluid Dynamics can be used simulatecontinuous airfoil behavior.

I Relatively simple programs can have billions of discontinuousstates.

Lee Pike The Philosophy of Formal Methods

Page 66: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Computational Models are Discontinous

I Computational Fluid Dynamics can be used simulatecontinuous airfoil behavior.

I Relatively simple programs can have billions of discontinuousstates.

Lee Pike The Philosophy of Formal Methods

Page 67: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

The Difference Between Formal Methods and Science

In practice, the model-world gap is wider in formal methods thanin the sciences (e.g., physics):

I Formal verification requires a multitude of models; most otherscience requires just one.

I Computer science is fledgling: new discoveries lead to newmodels.

I The concrete objects are of enormous complexity (e.g.,Windows XP has approx. 40 million lines of code), and so aretheir models.

But these are differences of degree, not of kind.Next

Lee Pike The Philosophy of Formal Methods

Page 68: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

The Difference Between Formal Methods and Science

In practice, the model-world gap is wider in formal methods thanin the sciences (e.g., physics):

I Formal verification requires a multitude of models; most otherscience requires just one.

I Computer science is fledgling: new discoveries lead to newmodels.

I The concrete objects are of enormous complexity (e.g.,Windows XP has approx. 40 million lines of code), and so aretheir models.

But these are differences of degree, not of kind.Next

Lee Pike The Philosophy of Formal Methods

Page 69: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

The Difference Between Formal Methods and Science

In practice, the model-world gap is wider in formal methods thanin the sciences (e.g., physics):

I Formal verification requires a multitude of models; most otherscience requires just one.

I Computer science is fledgling: new discoveries lead to newmodels.

I The concrete objects are of enormous complexity (e.g.,Windows XP has approx. 40 million lines of code), and so aretheir models.

But these are differences of degree, not of kind.Next

Lee Pike The Philosophy of Formal Methods

Page 70: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

The Difference Between Formal Methods and Science

In practice, the model-world gap is wider in formal methods thanin the sciences (e.g., physics):

I Formal verification requires a multitude of models; most otherscience requires just one.

I Computer science is fledgling: new discoveries lead to newmodels.

I The concrete objects are of enormous complexity (e.g.,Windows XP has approx. 40 million lines of code), and so aretheir models.

But these are differences of degree, not of kind.Next

Lee Pike The Philosophy of Formal Methods

Page 71: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

The Difference Between Formal Methods and Science

In practice, the model-world gap is wider in formal methods thanin the sciences (e.g., physics):

I Formal verification requires a multitude of models; most otherscience requires just one.

I Computer science is fledgling: new discoveries lead to newmodels.

I The concrete objects are of enormous complexity (e.g.,Windows XP has approx. 40 million lines of code), and so aretheir models.

But these are differences of degree, not of kind.Next

Lee Pike The Philosophy of Formal Methods

Page 72: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Reasoning About Computers

I The mathematical domain used to model computers is logicand discrete mathematics.

I The mathematical domain used to model most other physicalobjects is The Calculus. Behavior is simulated by solving(differential) equations.

Lee Pike The Philosophy of Formal Methods

Page 73: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Reasoning About Computers

I The mathematical domain used to model computers is logicand discrete mathematics.

I The mathematical domain used to model most other physicalobjects is The Calculus. Behavior is simulated by solving(differential) equations.

Lee Pike The Philosophy of Formal Methods

Page 74: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Mathematics in the Sciences

In science...

I Theories about the behavior ofthe world are formulated.

I Then these theories are testedby experimentation.

In Formal Methods...

I Theories about the behavior ofthe world (and computers, andtheir interactions) areformulated.

I Formal methods does not testthese theories!

Lee Pike The Philosophy of Formal Methods

Page 75: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Mathematics in the Sciences

In science...

I Theories about the behavior ofthe world are formulated.

I Then these theories are testedby experimentation.

In Formal Methods...

I Theories about the behavior ofthe world (and computers, andtheir interactions) areformulated.

I Formal methods does not testthese theories!

Lee Pike The Philosophy of Formal Methods

Page 76: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Mathematics in the Sciences

In science...

I Theories about the behavior ofthe world are formulated.

I Then these theories are testedby experimentation.

In Formal Methods...

I Theories about the behavior ofthe world (and computers, andtheir interactions) areformulated.

I Formal methods does not testthese theories!

Lee Pike The Philosophy of Formal Methods

Page 77: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Formal Methods as an Engineering Discipline

I Formal methods practitioners do not attempt to develop andtest new theories.

I Rather, established theories are used to develop and validatenew designs.

The bane of formal methods: The engineering practice is beingdeveloped concurrently with the science of computation.

Lee Pike The Philosophy of Formal Methods

Page 78: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Formal Methods as an Engineering Discipline

I Formal methods practitioners do not attempt to develop andtest new theories.

I Rather, established theories are used to develop and validatenew designs.

The bane of formal methods: The engineering practice is beingdeveloped concurrently with the science of computation.

Lee Pike The Philosophy of Formal Methods

Page 79: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Formal Methods as an Engineering Discipline

I Formal methods practitioners do not attempt to develop andtest new theories.

I Rather, established theories are used to develop and validatenew designs.

The bane of formal methods: The engineering practice is beingdeveloped concurrently with the science of computation.

Lee Pike The Philosophy of Formal Methods

Page 80: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Shrinking the Gap

I The behavior of a program executed on an abstract computercan be verified.

I If the semantics we give to programs match those computersgive to them, we’re home free.

I How to do this? Compile to a small, simple instruction setthat we can check relatively easily.

I Programs are the complex, changing part of a system. Wemight gather enough empirical evidence that computers givethe right semantics to trust our formal verification of theprogram.

Lee Pike The Philosophy of Formal Methods

Page 81: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Shrinking the Gap

I The behavior of a program executed on an abstract computercan be verified.

I If the semantics we give to programs match those computersgive to them, we’re home free.

I How to do this? Compile to a small, simple instruction setthat we can check relatively easily.

I Programs are the complex, changing part of a system. Wemight gather enough empirical evidence that computers givethe right semantics to trust our formal verification of theprogram.

Lee Pike The Philosophy of Formal Methods

Page 82: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Shrinking the Gap

I The behavior of a program executed on an abstract computercan be verified.

I If the semantics we give to programs match those computersgive to them, we’re home free.

I How to do this? Compile to a small, simple instruction setthat we can check relatively easily.

I Programs are the complex, changing part of a system. Wemight gather enough empirical evidence that computers givethe right semantics to trust our formal verification of theprogram.

Lee Pike The Philosophy of Formal Methods

Page 83: The Philosophy of Formal Methods - Lee Pike · Simplifying assumptions are made throughout to extract the ... 1980’s due to software bugs. Missle Defense: A 1960’s early warning

Appendix: Other IssuesTesting Systems (is Infeasible)Comparing Formal Methods and Science

Shrinking the Gap

I The behavior of a program executed on an abstract computercan be verified.

I If the semantics we give to programs match those computersgive to them, we’re home free.

I How to do this? Compile to a small, simple instruction setthat we can check relatively easily.

I Programs are the complex, changing part of a system. Wemight gather enough empirical evidence that computers givethe right semantics to trust our formal verification of theprogram.

Lee Pike The Philosophy of Formal Methods