Eric C. R. Hehner | |
---|---|
Born | |
Citizenship | Canada |
Education | Carleton University (B.Sc., 1969) University of Toronto (M.Sc., 1970; Ph.D., 1974) |
Known for | Predicative programming Formal methods Quote notation ALGOL |
Scientific career | |
Fields | Computer science Programming |
Institutions | University of Toronto |
Website | www |
Eric "Rick" C. R. Hehner (born 16 September 1947) is a Canadian computer scientist. He was born in Ottawa. He studied mathematics and physics at Carleton University, graduating with a Bachelor of Science (B.Sc.) in 1969. He studied computer science at the University of Toronto, graduating with a Master of Science (M.Sc.) in 1970, and a Doctor of Philosophy (Ph.D.) 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.[1]
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 (boolean) 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 involved with developing international standards in programming and informatics, as a member of the International Federation for Information Processing (IFIP) IFIP Working Group 2.1 on Algorithmic Languages and Calculi,[1][2] which specified, maintains, and supports the programming languages ALGOL 60 and ALGOL 68.[3] and of IFIP Working Group 2.3 on Programming Methodology.[1]
References
- 1 2 3 Hehner, Eric C. R. (3 May 2020). "Eric C. R. Hehner". Department of Computer Science. University of Toronto. Retrieved 2020-07-27.
- ↑ Jeuring, Johan; Meertens, Lambert; Guttmann, Walter (2016-08-17). "Profile of IFIP Working Group 2.1". Foswiki. Retrieved 2020-10-16.
- ↑ Swierstra, Doaitse; Gibbons, Jeremy; Meertens, Lambert (2011-03-02). "ScopeEtc: IFIP21: Foswiki". Foswiki. Retrieved 2020-10-16.
- Hehner, E. C. R. (1984). "Predicative Programming". Communications of the ACM. 27 (2): 134–151. doi:10.1145/69610.357988. S2CID 11577076.
- Hehner, E. C. R. (1990). "A Practical Theory of Programming". Science of Computer Programming. 14 (2–3): 133–158. doi:10.1016/0167-6423(90)90018-9.
- Hehner, E. C. R. (2004). "From Boolean Algebra to Unified Algebra". Mathematical Intelligencer. 26 (2): 3–19. CiteSeerX 10.1.1.638.1782. doi:10.1007/BF02985647. S2CID 61678587.
- Hehner, E. C. R.; Horspool, R.N.S. "A new representation of the rational numbers for fast easy arithmetic" (PDF).
{{cite journal}}
: Cite journal requires|journal=
(help)
External links
- Official website
- DBLP publications
- A Practical Theory of Programming, Professor Hehner's book, available free in PDF
- Eric Hehner archival papers held at the University of Toronto Archives and Records Management Services