Title: Theory in Practice: Formal Methods for Software
1Theory in PracticeFormal Methods for Software
Hardware
2French Guyana, June 4, 1996
800 million software failure
3Mars, July 4, 1997
Lost contact due to real-time priority inversion
bug
44 billion development effort
gt 50 system integration validation cost
5400 horses
100 microprocessors
6EMBEDDED SYSTEMS
more more software
more
Cell phone
- REACTIVE digital system interacting with
environment - HYBRID environment is analog (the physical world)
CONCURRENT, often DISTRIBUTED
REAL-TIME, often MOBILE
7SCIENCE Natural Systems
ENGINEERING Artificial Systems
PURE Abstract Systems
THEORY
Veri/Falsification
APPLIED Concrete Systems
EXPERIMENT
DESIGN
8DESIGN VERI/FALSIFICATION
INFORMAL (ad hoc)
Poor coverage High recovery cost
9Faulty division algorithm
475 million replacement cost
1011
10 stars
7
10 transistors
100,000
10 states
11Abstract Design
Formal Requirements
Model Checker
- Design parameters for which requirements hold
- Error trace if requirement is violated
12INTERDISCIPLINARY CS Theory (Algorithms
Complexity) Programming Languages (Models
Semantics) CAD (Design Validation) Control
Theory (Hybrid Systems)
13CURRENT PROJECTS Verification
theory Infinite-state model checking Probabilisti
c model checking Game-theoretic methods in model
checking Design Methodology Hierarchical
component-based design Time-triggered
programming (Giotto) Applications Software
(joint NSF ITR project with Aiken and
Necula) Embedded Control Systems (joint DARPA
project with Lee and Sastry) Real-time Networks
(joint MURI project with Zakhor) Hardware
(Giga-Scale Research Center)
www.eecs.berkeley.edu/tah