Summary: Making Program Logics Intelligible
John C. Reynolds
Carnegie Mellon University
Lovelace Lecture -- June 8, 2011
Research partially supported by National Science Foundation Grant CCF-0916808
To the British computer scientists who taught me so much
when I was young.
Those who are gone:
Christopher Strachey Peter Landin Robin Milner
and those who continue to instruct me:
Tony Hoare Rod Burstall Alan Robinson
To verify program specifications, rather than generic safety
properties, it will be necessary to integrate verification into
the process of programming.
Program proving is unlike theorem proving in mathematics -
mathematical conjectures may give no hint as to how they
could be proved, but programs are written by programmers,
who must understand informally why their programs work.