Eric Hehner


Eric "Rick" C. R. Hehner is a Canadian computer scientist. He was in Ottawa. He studied mathematics and physics at Carleton University, graduating with a Bachelor of Science in 1969. He studied computer science at the University of Toronto, graduating with a Master of Science in 1970, and a Doctor of Philosophy in 1974. He then joined the faculty there, becoming a full professor in 1983. He became the Bell University Chair in software engineering in 2001, and retired in 2012.
Hehner's main research area is formal methods of software design. His method, initially called predicative programming, later called Practical Theory of Programming, is to consider each specification to be a binary expression, and each programming construct to be a binary expression specifying the effect of executing the programming construct. Refinement is just implication. This is the simplest formal method, and the most general, applying to sequential, parallel, stand-alone, communicating, terminating, nonterminating, natural-time, real-time, deterministic, and probabilistic programs, and includes time and space bounds. This idea has influenced other computer science researchers, including Tony Hoare.
Hehner's other research areas include probabilistic programming, unified algebra, and high-level circuit design. In 1979, Hehner invented a generalization of radix complement called quote notation, which is a representation of the rational numbers that allows easier arithmetic and precludes roundoff error.
He was a member of the International Federation for Information Processing IFIP Working Group 2.1 on Algorithmic Languages and Calculi, which supports and maintains the programming languages ALGOL 60 and ALGOL 68, and of IFIP Working Group 2.3 on Programming Methodology.