E. Allen Emerson

Last updated

E. Allen Emerson
E-allen-emerson.jpg
Born (1954-06-02) June 2, 1954 (age 69)
CitizenshipUnited States
Education
Known for
Awards
Scientific career
Fields Computer science
Institutions UT Austin, United States
Doctoral advisor Edmund M. Clarke

Ernest Allen Emerson II (born June 2, 1954), better known as E. Allen Emerson, is an American computer scientist and winner of the 2007 Turing Award. He is Professor and Regents Chair Emeritus at the University of Texas at Austin, United States.

Contents

Emerson is recognized together with Edmund M. Clarke and Joseph Sifakis for the invention and development of model checking, a technique used in formal verification of software and hardware. [1] His contributions to temporal logic and modal logic include the introduction of computation tree logic (CTL) [2] and its extension CTL*, [3] which are used in the verification of concurrent systems. He is also recognized along with others for developing symbolic model checking to address combinatorial explosion that arises in many model checking algorithms. [4]

Early life and education

Emerson was born in Dallas, Texas. His early experiences with computing included exposure to BASIC, Fortran, and ALGOL 60 on the Dartmouth Time Sharing System and Burroughs large systems computers. [1] He went on to receive a Bachelor of Science degree in mathematics from the University of Texas at Austin in 1976 and a Doctor of Philosophy degree in applied mathematics at Harvard University in 1981. [1]

Career

In the early 1980s, Emerson and his PhD advisor, Edmund M. Clarke, developed techniques for verifying a finite-state system against a formal specification. They coined the term model checking for the concept, which was independently studied by Joseph Sifakis in Europe. [1] This sense of the word model matches the usage from model theory in mathematical logic: the system is called a model of the specification.

Emerson's work on model checking included early and influential temporal logics for describing specifications, and techniques for reducing state space explosion. [1]

Awards

In 2007, Emerson, Clarke, and Sifakis won the Turing award. [1] The citation reads:

for their role in developing Model-Checking into a highly effective verification technology that is widely adopted in the hardware and software industries.

In addition to the Turing award, Emerson received the 1998 ACM Paris Kanellakis Award, together with Randal Bryant, Clarke, and Kenneth L. McMillan for the development of symbolic model checking. [4] The citation reads:

For their invention of symbolic model checking, a method of formally checking system designs, which is widely used in the computer hardware industry and is beginning to show significant promise also in software verification and other areas.

See also

Related Research Articles

In computer science, formal methods are mathematically rigorous techniques for the specification, development, analysis, and verification of software and hardware systems. The use of formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines, performing appropriate mathematical analysis can contribute to the reliability and robustness of a design.

In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of a system with respect to a certain formal specification or property, using formal methods of mathematics. Formal verification is a key incentive for formal specification of systems, and is at the core of formal methods. It represents an important dimension of analysis and verification in electronic design automation and is one approach to software verification. The use of formal verification enables the highest Evaluation Assurance Level (EAL7) in the framework of common criteria for computer security certification.

<span class="mw-page-title-main">Model checking</span> Computer science field

In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification. This is typically associated with hardware or software systems, where the specification contains liveness requirements as well as safety requirements.

In theoretical computer science, an algorithm is correct with respect to a specification if it behaves as specified. Best explored is functional correctness, which refers to the input-output behavior of the algorithm.

Computation tree logic (CTL) is a branching-time logic, meaning that its model of time is a tree-like structure in which the future is not determined; there are different paths in the future, any one of which might be an actual path that is realized. It is used in formal verification of software or hardware artifacts, typically by software applications known as model checkers, which determine if a given artifact possesses safety or liveness properties. For example, CTL can specify that when some initial condition is satisfied, then all possible executions of a program avoid some undesirable condition. In this example, the safety property could be verified by a model checker that explores all possible transitions out of program states satisfying the initial condition and ensures that all such executions satisfy the property. Computation tree logic belongs to a class of temporal logics that includes linear temporal logic (LTL). Although there are properties expressible only in CTL and properties expressible only in LTL, all properties expressible in either logic can also be expressed in CTL*.

CTL* is a superset of computational tree logic (CTL) and linear temporal logic (LTL). It freely combines path quantifiers and temporal operators. Like CTL, CTL* is a branching-time logic. The formal semantics of CTL* formulae are defined with respect to a given Kripke structure.

The ACM–IEEE Symposium on Logic in Computer Science (LICS) is an annual academic conference on the theory and practice of computer science in relation to mathematical logic. Extended versions of selected papers of each year's conference appear in renowned international journals such as Logical Methods in Computer Science and ACM Transactions on Computational Logic.

Fair computational tree logic is conventional computational tree logic studied with explicit fairness constraints.

<span class="mw-page-title-main">Randal Bryant</span> American computer scientist (born 1952)

Randal E. Bryant is an American computer scientist and academic noted for his research on formally verifying digital hardware and software. Bryant has been a faculty member at Carnegie Mellon University since 1984. He served as the Dean of the School of Computer Science (SCS) at Carnegie Mellon from 2004 to 2014. Dr. Bryant retired and became a Founders University Professor Emeritus on June 30, 2020.

<span class="mw-page-title-main">Edmund M. Clarke</span> American computer scientist (1945–2020)

Edmund Melson Clarke, Jr. was an American computer scientist and academic noted for developing model checking, a method for formally verifying hardware and software designs. He was the FORE Systems Professor of Computer Science at Carnegie Mellon University. Clarke, along with E. Allen Emerson and Joseph Sifakis, received the 2007 ACM Turing Award.

<span class="mw-page-title-main">Joseph Sifakis</span> Greek-French computer scientist

Joseph Sifakis is a Greek-French computer scientist. He received the 2007 Turing Award, along with Edmund M. Clarke and E. Allen Emerson, for his work on model checking.

<span class="mw-page-title-main">Construction and Analysis of Distributed Processes</span>

CADP is a toolbox for the design of communication protocols and distributed systems. CADP is developed by the CONVECS team at INRIA Rhone-Alpes and connected to various complementary tools. CADP is maintained, regularly improved, and used in many industrial projects.

<span class="mw-page-title-main">Device driver synthesis and verification</span>

Device drivers are programs which allow software or higher-level computer programs to interact with a hardware device. These software components act as a link between the devices and the operating systems, communicating with each of these systems and executing commands. They provide an abstraction layer for the software above and also mediate the communication between the operating system kernel and the devices below.

Helmut Veith was an Austrian computer scientist who worked on the areas of computer-aided verification, software engineering, computer security, and logic in computer science. He was a Professor of Informatics at the Vienna University of Technology, Austria.

David Lansing Dill is a computer scientist and academic noted for contributions to formal verification, electronic voting security, and computational systems biology.

In model checking, a branch of computer science, linear time properties are used to describe requirements of a model of a computer system. Example properties include "the vending machine does not dispense a drink until money has been entered" or "the computer program eventually terminates". Fairness properties can be used to rule out unrealistic paths of a model. For instance, in a model of two traffic lights, the liveness property "both traffic lights are green infinitely often" may only be true under the unconditional fairness constraint "each traffic light changes colour infinitely often".

<span class="mw-page-title-main">Doron A. Peled</span> Israeli computer scientist

Doron A. Peled is a computer science Professor at Bar-Ilan University. His research interests include formal methods, model checking, program synthesis and runtime verification. With Edmund M. Clarke and Orna Grumberg, he is the coauthor of the book Model Checking and the author of the book Software Reliability Methods.

<span class="mw-page-title-main">Kenneth L. McMillan</span> American computer scientist

Kenneth L. McMillan is an American computer scientist working in the area of formal methods, logic, and programming languages. He is a professor in the computer science department at the University of Texas at Austin, where he holds the Admiral B.R. Inman Centennial Chair in Computing Theory.

Counterexample-guided abstraction refinement (CEGAR) is a technique for symbolic model checking. It is also applied in modal logic tableau calculi algorithms to optimise their efficiency.

References

  1. 1 2 3 4 5 6 "E. Allen Emerson - A.M. Turing Award Laureate". amturing.acm.org. Retrieved September 2, 2022.
  2. Clarke, Edmund M.; Emerson, E. Allen (1982). Kozen, Dexter (ed.). Design and synthesis of synchronization skeletons using branching time temporal logic. Lecture Notes in Computer Science. Vol. 131. Berlin, Heidelberg: Springer. pp. 52–71. doi:10.1007/BFb0025774. ISBN   978-3-540-39047-3.{{cite book}}: |journal= ignored (help)
  3. Emerson, E. Allen; Halpern, Joseph Y. (January 2, 1986). ""Sometimes" and "not never" revisited: on branching versus linear time temporal logic". Journal of the ACM. 33 (1): 151–178. doi: 10.1145/4904.4999 . ISSN   0004-5411. S2CID   10852931.
  4. 1 2 "AWARDS -- E. ALLEN EMERSON -- 'ACM A.M. Turing Award' and 'Paris Kanellakis Theory and Practice Award'". Association for Computing Machinery. 2015. Archived from the original on June 6, 2015. Retrieved July 21, 2015. […] authored seminal papers that founded what has become the highly successful field of Model Checking.