A Vision for the Science of Programming - PowerPoint PPT Presentation

Loading...

PPT – A Vision for the Science of Programming PowerPoint presentation | free to download - id: 5a3694-NDkyY



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

A Vision for the Science of Programming

Description:

A Vision for the Science of Programming Tony Hoare. New Horizons of Computing October 2008 I moved from industrial employment to academic life in 1968. – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 28
Provided by: tony217
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: A Vision for the Science of Programming


1
A Vision for the Science of Programming
  • Tony Hoare.
  • New Horizons of Computing
  • October 2008

2
The Vision
  • Computer software contains no more errors

3
The Vision
  • Computer software contains no more errors
  • it is the most reliable component of any device
    that contains it

4
The Vision
  • Computer software contains no more errors
  • software is the most reliable component of any
    device that contains it
  • Programmers make no more mistakes

5
The Vision
  • Computer software contains no more errors
  • software is the most reliable component of any
    device that contains it
  • Programmers make no more mistakes
  • programs work the first time that they run
  • and forever after, even when changed
  • .

6
The Vision
  • Programming is an Engineering discipline

7
The Vision
  • Programming is an Engineering discipline
  • respected for its delivered benefits
  • and for its foundation on basic science

8
The Vision
  • Software is a branch of Engineering
  • respected for its delivered benefits
  • and its foundation on basic science
  • Semantics is the science of programming
  • explores the meaning of computer programs

9
The Vision
  • Software is a branch of Engineering
  • respected for its delivered benefits
  • and its foundation on basic science
  • Semantics is the science of programming
  • explores the meaning of computer programs
  • operational correctness of implementation
  • algebraic correctness of optimisation
  • axiomatic correctness of application programs

10
The Insight
  • Computer programs are mathematical formulae
  • they do not suffer from rust, fatigue, wear,
    decay, pollution,
  • Their correctness is a mathematical conjecture
  • to be proved by logic and calculation
  • checked by the computer itself

11
History of the idea
  • Aristotle 350 bc syllogistic logic
  • Euclid 300 bc geometry
  • Leibnitz 1700 ad calculus
  • Boole 1850 ad laws of thought
  • Frege 1880 ad predicate logic
  • Russell 1920 ad principia
  • Hao Wang 1956 computer checks

12
Basic Science
  • answers fundamental questions
  • what? how? why?
  • pursues scientific ideals
  • accuracy, purity, correctness
  • formalises unifying theories
  • expressed in the language of mathematics
  • accumulates convincing evidence
  • by repeatable scientific experiment

13
Basic Science
  • driven by curiosity to ask simple questions
  • What does it do?
  • How does it work?
  • Why does it work?
  • How do we know?

14
Questions about programs
  • What does it do?
  • answered by its behavioural specification

15
Questions about programs
  • What does it do?
  • answered by its behavioural specification
  • How does it work?
  • answered by its internal interface contracts

16
Questions about programs
  • What does it do?
  • answered by its behavioural specification
  • How does it work?
  • answered by its internal interface contracts
  • Why does it work?
  • answered by programming theory

17
Questions about programs
  • What does it do?
  • answered by its behavioural specification
  • How does it work?
  • answered by its internal interface contracts
  • Why does it work?
  • answered by programming theory
  • How do we know?
  • confirmed by logical/mathematical proof

18
Ideals in Basic Science
  • Physics accuracy of measurement
  • Chemistry purity of materials
  • pursued for the sake of scientific glory
  • far in advance of commercial need

19
Ideals in Basic Science
  • Physics accuracy of measurement
  • Chemistry purity of materials
  • Computing Science zero defect programs
  • pursued for the sake of scientific glory
  • far in advance of commercial need

20
Unifying theory
  • basic science seeks unifying theories
  • the four fundamental forces of physics
  • explaining diverse phenomena
  • gravitation in planets and apples on trees
  • supported by evidence
  • accumulated from all the unified theories

21
Software Engineering Toolsets
  • based on unified theory
  • covering all aspects of program lifecycle
  • domain models, requirements, specifications,
  • program generation, patterns, re-use,
  • architectures, designs, interfaces,
  • coding, inspections, testing, delivery,
  • maintenance, modification, evolution,
  • de-commissioning,...

22
Tools in Microsoft
  • PREfix and PREfast
  • Static Driver Verifier
  • ESP

23
Big Science
  • Projects in big science
  • last for decades,
  • involve thousands of scientists,
  • theorists, tool-builders, experimenters
  • pursuing a coherent vision
  • for the advancement of science.

24
Big Science
  • Physicists build colliders
  • Astronomers build telescopes
  • Biologists decode the human genome.
  • Computer Scientists build tools
  • to prevent intrusion of error
  • at any stage in development and use
  • of computer programs

25
The hope (2020 - 2050)
  • Software will contain no more errors
  • than any other engineering product
  • Programmers will make no more mistakes
  • than any other professional engineer

26
The hope (2020 2050?)
  • Software will contain no more errors
  • than any other engineering product
  • Programmers will make no more mistakes
  • than any other professional engineer
  • Cost of program error will be reduced
  • saving billions per year, worldwide

27
100 billion (approx)
  • is the annual cost of software error.
  • 60 falls on developers, 40 on users.
  • Estimate based on survey of US industry
  • Planning report 02-03, prepared by NIST for
  • US Department of Commerce, May 2002
  • The economic impacts of inadequate
    infrastructure for software testing.
About PowerShow.com