Minta Martin Lecture
“Abstract
Interpretation–based Formal Verification of Complex Computer Systems”
By
Prof. Patrick M. Cousot
Jerome Clarke Hunsaker Visiting Professor
of Aerospace Systems
Friday,
May 13, 2005
4:00 –
5:30pm
Wiesner Building (E15-054)
Department of Aeronautics
& Astronautics
Massachusetts Institute
of Technology
&
The New England Section
of the
American Institute of
Aeronautics and Astronautics
The Lecturer
The Professor Patrick Cousot is professor of
Computer Science at École Normale Supérieure, Paris, France.
Following
his degree in Engineering from École des Mines in 1971, he received his PhD in
Computer Science and his Doctorate ès Sciences in Mathematics from
the University Joseph Fourier of Grenoble, in 1974 and 1978, respectively.
Professor Cousot joined the French National Center for Scientific Research
(CNRS) in 1974 as a junior research scientist and was promoted to senior
research scientist in 1978. CNRS is a publicly-funded research organization
that defines its mission as producing knowledge and making it available to
society.
In 1979, Professor Cousot was appointed as
Professor des Universités and moved to the University of Metz, France
where he organized teaching and research in computer science.
In 1984, Professor Cousot was appointed as
the first Professor of Computer Science at École Polytechnique, a state
supported institution of higher education and research, the most prestigious
engineering Grande École in France since its foundation in 1794. He created and
headed the Computer Science Laboratory (LIX) of École Polytechnique.
In 1991, Professor Cousot joined École
Normale Supérieure (ENS). Founded in 1794, École Normale Supérieure is the
highest-ranked French scientific and literary Grande École. It prepares
students who are geared towards fundamental or applied research and teaching at
the university level.
At École Normale Supérieure, Professor
Cousot chairs all Computer Science
educational activities. He leads the research group on Abstract interpretation
and semantics.
His research activity is mainly on the
safety and security of complex computer systems and includes specification and
programming languages; compilation; semantics, mathematical logics, proof and
automatic verification methods; static analysis. He is a member of
international research committees (such as the ACM Murray Grace Hopper Award
selection committee).
Professor Cousot is the founder of “Abstract
Interpretation”, a theory he introduced in his Doctorate ès Sciences
thesis.
Abstract interpretation is a theory of sound
approximation of mathematical structures, in particular those involved in the
behavior of discrete systems, formalizing conservative reasoning on approximate
descriptions of computer systems. Its applications range from the design of
semantics and proof methods, to static analysis where it is used for construction
effective analysis algorithms for the automatic, static, semantics-based and
conservative determination of dynamic properties of infinite-state programs.
Such properties of the run-time behavior of programs are useful for testing,
typing, optimizing, transforming, watermarking, verifying, and proving the
safety and security of hardware and software computer systems. Over the past
few years, abstract interpretation has proven very successful in automatically
verifying complex properties of real-time, safety critical, embedded systems.
Professor Cousot was awarded the silver medal of the
French National Center for Scientific Research (CNRS) in 1999 for his seminal
work on abstract interpretation. The CNRS Silver Medal honors
researchers at the beginning of their rise to fame, but who are already
recognized nationally and internationally for the originality, quality, and
importance of their work. He was named Chevalier dans l’Ordre National du
Mérite and des Palmes académiques. He has been awarded honorary
degree (Dr.-Ing. E.h.) from Fakultät Mathematik und Informatik der Universität
des Saarlandes.
“Abstract Interpretation-based Formal
Verification of Complex Computer Systems”
The computing power of computers, which has doubled every eighteen months since 1975, is now so huge that it is possible to embed very large and extremely sophisticated software in ever more complex systems, from small devices to large-scale, interconnected, distributed, real-time systems. This includes the most highly mission-critical and safety-critical computer-based infrastructures, as produced by the aerospace, automotive, customer electronics, defense, energy, industrial automation, medical device, rail transportation and telecommunication industries.
The exponential expansion of software in all
application domains leads to the unfortunate situation where software engineers
can build increasingly large software, but are less and less confident in the
quality of the software they produce. Defaults in such complex software are not
so uncommon, as can be experienced everyday by computer end-users. Such bugs
can have catastrophic consequences as the most famous, and certainly most
costly one, to date, the overflow
at the origin of the failure of the Ariane 5.01 flight on 4 June 1996.
Because present-day
software engineering, which is almost exclusively manual, with very few useful
automated tools does not scale up, a grand challenge is therefore to develop
knowledge, methods, technologies and tools to master software complexity.
Mathematical results
show that the automatic software verification problem is indeed extremely hard.
Recent progress in
the rigorous analysis of software and embedded systems has been possible thanks
to abstract interpretation, formalizing the idea of sound approximation of
complex mathematical structures, in particular those involved in the semantic
models of computer systems. Abstract interpretation can be applied to the
systematic construction of methods and effective algorithms to approximate
undecidable or very complex problems in computer science such that the
semantics, the proof, the static analysis, the verification, the safety and
security of software and hardware computer systems.
Abstract interpretation-based static analysis, which automatically
infers dynamic properties of computer systems, has been very successfully
applied in recent years to automatically verify complex properties of
real-time, safety critical, embedded systems, such as the verification of
absence of runtime errors in the primary flight control software of commercial
airplanes.
1956 |
Sir William Hawthorne |
1957 |
I.E. Garrick |
1958 |
Prof. Howard W. Emmons |
1959 |
Mr. George P. Sutton |
1960 |
Gen. Benjamin Kelsey |
1961 |
Prof. W. P. Jones |
1962 |
Samuel Herrick |
1964 |
Hans Ziegler |
1965 |
Dr. Abraham Hyatt |
1966 |
Prof. Arthur E. Bryson, Jr. |
1968 |
Dr. John Evvard |
1969 |
Dr. Robert W. Seamans, Jr. |
1970 |
Dr. Alfred J. Eggers |
1977 |
Dr. Gerard K. O’Neill |
1979 |
Dr. Dean Chapman |
1980 |
Dr. Guiseppe Colombo |
1981 |
Prof. Frank Marble |
1989 |
Dr. Joseph F. Shea |
1990 |
Dr. Jason Speyer |
1991 |
Dr. Nicholas A. Cumpsty |
1992 |
Mr. Duane McRuer |
1992 |
Dr. Stanley Weiss |
1994 |
Dr. John Deyst |
1995 |
Dr. Robert Lovell |
1996 |
Dr. Terrence Weisshaar |
1998 |
Dr. Nancy Leveson |
1998 |
Dr. Thomas J. Allen |
1999 |
Prof. Ann P. Dowling |
2001 |
Dr. Steven D. Dorfman |
2002 |
Mr. Allen C. Haggerty |
2003 |
Prof. Kim J. Vicente |
2004 |
Dr. Raymond J. Leopold |
The Lectureship
The Minta
Martin Lecture is delivered in conjunction with a professorship established at
MIT fifty years ago in honor of Jerome Clarke Hunsaker, a leading figure in
aviation and, for many years Head of the MIT Aeronautical Engineering
Department. Major Lester D. Gardner, founder of the Institute of Aerospace
Sciences, conceived and aided in founding this endowed chair. To emphasize its national character,
Glenn L. Martin contributed a special gift in April 1954 providing for
presentation of this lecture, named after his mother, Minta Martin, who
inspired him to his aeronautical achievements. The Minta Martin Lecture is given by the Hunsaker Professor
in several Aeronautical centers throughout the nation each year.