Eric C. R. Hehner | |
---|---|
Born | (1947-09-16)September 16, 1947 (age 77) |
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 aCanadiancomputer scientist. He was born inOttawa. He studiedmathematics andphysics atCarleton University, graduating with aBachelor of Science (B.Sc.) in 1969. He studiedcomputer science at theUniversity of Toronto, graduating with aMaster of Science (M.Sc.) in 1970, and aDoctor of Philosophy (Ph.D.) in 1974. He then joined the faculty there, becoming a full professor in 1983. He became the Bell University Chair insoftware engineering in 2001, and retired in 2012.[1]
Hehner's main research area isformal methods of software design. His method, initially calledpredicative programming, later called Practical Theory of Programming, is to consider eachspecification 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 justimplication. 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, includingTony Hoare.
Hehner's other research areas include probabilistic programming, unified algebra, and high-level circuit design. In 1979, Hehner invented a generalization ofradix complement calledquote notation, which is a representation of therational numbers that allows easier arithmetic and precludes roundoff error.
He was involved with developinginternational standards in programming and informatics, as a member of theInternational Federation for Information Processing (IFIP)IFIP Working Group 2.1 on Algorithmic Languages and Calculi,[1][2] whichspecified, maintains, and supports theprogramming languagesALGOL 60 andALGOL 68.[3] and of IFIP Working Group 2.3 on Programming Methodology.[1]
{{cite journal}}
:Cite journal requires|journal=
(help)![]() ![]() | This biography of a Canadian academic is astub. You can help Wikipedia byexpanding it. |
P ≟ NP | This biographical article relating to acomputer scientist is astub. You can help Wikipedia byexpanding it. |
![]() ![]() ![]() | This biographical article relating to a Canadian computer specialist is astub. You can help Wikipedia byexpanding it. |