Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

E. Allen Emerson

dblp:e/EAllenEmerson · DBLP profile ↗
← Back
82ranked-venue papers
48as first author
0since 2021 · last 2014
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 45 · 20 first-authorTheory of computation · 41 · 31 first-authorSystems, architecture and hardware · 7 · 2 first-authorArtificial intelligence and machine learning · 3 · 1 first-authorComputer networks · 1Databases, data management, data science and information retrieval · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Theoretical computer science
43 papers
Automated reasoning and model checking · 52% Logic in computer science · 18% Distributed computing theory · 10%
Software engineering, system software, and programming languages
13 papers
Program verification · 33% Program synthesis and code generation · 32% Concurrent programming · 18%
Computer architecture, parallel and distributed computing, and storage systems
5 papers
Electronic design automation · 56% Distributed systems · 24% Parallel and multicore computing · 13%

Topics — the 30 heaviest of 78, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Automated reasoning and model checking
model checking
0.292001
Rtdt: A Front-End for Efficient Model Checking of Synchronous Timing Diagrams · CAV 2001
SMC: a symmetry-based model checker for verification of safety and liveness properties · ACM Trans. Softw. Eng. Methodol. 2000
Virtual Symmetry Reduction · LICS 2000
Program synthesis and code generation
concurrent program synthesis
0.142004
Synthesis of fault-tolerant concurrent programs · ACM Trans. Program. Lang. Syst. 2004
Synthesis of concurrent programs for an atomic read/write model of computation · ACM Trans. Program. Lang. Syst. 2001
Synthesis of Concurrent Systems with Many Similar Processes · ACM Trans. Program. Lang. Syst. 1998
Automated reasoning and model checking › model checking
symbolic model checking
0.122006
On partitioning and symbolic model checking · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2006
On Partitioning and Symbolic Model Checking · FM 2005
Program verification › annotation inference
contract inference
0.112009
Symbolic Deadlock Analysis in Concurrent Libraries and Their Clients · ASE 2009
Concurrent programming › concurrency bugs › deadlock
deadlock analysis
0.112009
Symbolic Deadlock Analysis in Concurrent Libraries and Their Clients · ASE 2009
Program analysis
static analysis
0.112009
Symbolic Deadlock Analysis in Concurrent Libraries and Their Clients · ASE 2009
Automated reasoning and model checking › model checking › state space reduction
symmetry reduction
0.152000
Virtual Symmetry Reduction · LICS 2000
Symmetry Reductions in Model Checking · CAV 1998
Utilizing Symmetry when Model-Checking under Fairness Assumptions: An Automata-Theoretic Approach · ACM Trans. Program. Lang. Syst. 1997
Logic in computer science
temporal logic
0.1141999
Parametric Quantitative Temporal Reasoning · LICS 1999
Distributed Real-Time System Specification and Verification in APTL · ACM Trans. Softw. Eng. Methodol. 1993
Formal Specification of Ssynchronous Distributed Real-Time Systems by APTL · ICSE 1992
Program synthesis and code generation
fault-tolerant synthesis
0.122004
Synthesis of fault-tolerant concurrent programs · ACM Trans. Program. Lang. Syst. 2004
Synthesis of Fault-Tolerant Concurrent Programs · PODC 1998
Automated reasoning and model checking › model checking › infinite-state model checking
parameterized model checking
0.122003
Model Checking Guarded Protocols · LICS 2003
On Model Checking for Non-Deterministic Infinite-State Systems · LICS 1998
Electronic design automation
hardware verification and test
0.112005
Multi-threaded reachability · DAC 2005
Electronic design automation › hardware verification and test › formal verification
reachability analysis
0.112005
Multi-threaded reachability · DAC 2005
Computational geometry
partitioning
0.112005
On Partitioning and Symbolic Model Checking · FM 2005
Logic in computer science
modal logic
0.161999
The Complexity of Tree Automata and Logics of Programs · SIAM J. Comput. 1999
Tree Automata, Mu-Calculus and Determinacy (Extended Abstract) · FOCS 1991
An Automata Theoretic Decision Procedure for the Propositional Mu-Calculus · Inf. Comput. 1989
Automated reasoning and model checking › model checking
state space explosion
0.032000
Virtual Symmetry Reduction · LICS 2000
Synthesis of Concurrent Systems with Many Similar Processes · ACM Trans. Program. Lang. Syst. 1998
Synthesis of Concurrent Systems with Many Similar Sequential Processes · POPL 1989
Distributed systems
fault tolerance
0.012004
Synthesis of fault-tolerant concurrent programs · ACM Trans. Program. Lang. Syst. 2004
Distributed computing theory
mutual exclusion
0.022001
Synthesis of concurrent programs for an atomic read/write model of computation · ACM Trans. Program. Lang. Syst. 2001
Synthesis of Concurrent Systems for an Atomic Read / Atomic Write Model of Computation (Extended Abstract) · PODC 1996
Distributed computing theory › distributed algorithms
communication primitives
0.012003
Model Checking Guarded Protocols · LICS 2003
Computational complexity › descriptive complexity
expressiveness hierarchy
0.012003
Model Checking Guarded Protocols · LICS 2003
Automata and formal languages
tree automata
0.041999
The Complexity of Tree Automata and Logics of Programs · SIAM J. Comput. 1999
Tree Automata, Mu-Calculus and Determinacy (Extended Abstract) · FOCS 1991
The Complexity of Tree Automata and Logics of Programs (Extended Abstract) · FOCS 1988
Automated reasoning and model checking
parameterized verification
0.021998
Verification of Parameterized Bus Arbitration Protocol · CAV 1998
Automatic Verification of Parameterized Synchronous Systems (Extended Abstract) · CAV 1996
Logic in computer science › temporal logic
real-time temporal logic
0.021999
Parametric Quantitative Temporal Reasoning · LICS 1999
Distributed Real-Time System Specification and Verification in APTL · ACM Trans. Softw. Eng. Methodol. 1993
Coding theory › constrained coding
synchronization
0.012001
Synthesis of concurrent programs for an atomic read/write model of computation · ACM Trans. Program. Lang. Syst. 2001
Automated reasoning and model checking
temporal logic specification
0.032004
Synthesis of fault-tolerant concurrent programs · ACM Trans. Program. Lang. Syst. 2004
Synthesis of concurrent programs for an atomic read/write model of computation · ACM Trans. Program. Lang. Syst. 2001
Synthesis of Concurrent Systems with Many Similar Processes · ACM Trans. Program. Lang. Syst. 1998
Computational complexity › decidability › decision problems for automata
emptiness problem
0.021999
The Complexity of Tree Automata and Logics of Programs · SIAM J. Comput. 1999
The Complexity of Tree Automata and Logics of Programs (Extended Abstract) · FOCS 1988
Program verification
SMT-based verification
0.012009
Symbolic Deadlock Analysis in Concurrent Libraries and Their Clients · ASE 2009
Automated reasoning and model checking
decision procedures
0.051990
On the Limits of Efficient Temporal Decidability (Extended Abstract) · LICS 1990
An Automata Theoretic Decision Procedure for the Propositional Mu-Calculus · Inf. Comput. 1989
Efficient Temporal Reasoning · POPL 1989
Automated reasoning and model checking › temporal logic verification
safety and liveness verification
0.012000
SMC: a symmetry-based model checker for verification of safety and liveness properties · ACM Trans. Softw. Eng. Methodol. 2000
Automated reasoning and model checking › model checking
temporal logic model checking
0.031997
Utilizing Symmetry when Model-Checking under Fairness Assumptions: An Automata-Theoretic Approach · ACM Trans. Program. Lang. Syst. 1997
Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications · ACM Trans. Program. Lang. Syst. 1986
Automatic Verification of Finite State Concurrent Systems Using Temporal Logic Specifications: A Practical Approach · POPL 1983
Automated reasoning and model checking › model checking › temporal logic model checking
mu-calculus model checking
0.021995
Methods for Mu-calculus Model Checking: A Tutorial (Abstract) · CAV 1995
On Model-Checking for Fragments of µ-Calculus · CAV 1993

Methods — techniques the papers use, named apart from their topics

temporal logic synthesis · 0.2symbolic encoding · 0.1static analysis · 0.1SMT solver · 0.1model checking · 0.1partitioned model checking · 0.1crossover image computation · 0.1symmetry reduction · 0.1partitioned BDD · 0.1on-the-fly model checking · 0.1multithreading · 0.1explicit state enumeration · 0.1two-process product machine · 0.0temporal satisfiability decision procedure · 0.0automata-theoretic algorithm · 0.0temporal logic · 0.0mechanical synthesis · 0.0APTL · 0.0
YearPublicationVenuePosition
2014 Cost-Aware Automatic Program Repair
Roopsha Samanta, Oswaldo Olivo, E. Allen Emerson
SAS3
2011 An Algorithmic Framework for Synthesis of Concurrent Programs
E. Allen Emerson, Roopsha Samanta
ATVA1
2011 A More Efficient BDD-Based QBF Solver
Oswaldo Olivo, E. Allen Emerson
CP2
2011 Symbolic modular deadlock analysis
Jyotirmoy V. Deshmukh, E. Allen Emerson, Sriram Sankaranarayanan 0001
Autom. Softw. Eng.2
2010 Time of Time
E. Allen Emerson
SAS1
2009 Verification of recursive methods on tree-like data structures
abstract
Programs that manipulate heap-allocated data structures present a formidable challenge for algorithmic verification. Recursive procedures (methods) in such software libraries are used for a large number of tasks ranging from simple traversals to complex structural transformations. Verification of such methods is undecidable in general. Hence, we present a programming language fragment with a syntax similar to that of C for which correctness can be algorithmically checked. For methods written in our fragment, and specifications in the form of tree automata, verification is efficient in most cases, as illustrated by our prototype tool. Our framework can be used to verify methods such as insertion and deletion of nodes in k-ary trees, binary search trees, linked lists, linked list reversal, and rotations in balanced trees, with respect to specifications such as acyclicity, sortedness, list-ness, tree-ness, and absence of null pointer dereferences.
Jyotirmoy V. Deshmukh, E. Allen Emerson
FMCAD2
2009 Symbolic Deadlock Analysis in Concurrent Libraries and Their Clients
abstract
Methods in object-oriented concurrent libraries hide internal synchronization details. However, information hiding may result in clients causing thread safety violations by invoking methods in an unsafe manner. Given such a library, we present a technique for inferring interface contracts that specify permissible concurrent method calls and patterns of aliasing among method arguments, such that the derived contracts guarantee deadlock free execution for the methods in the library. The contracts also help client developers by documenting required assumptions about the library methods. Alternatively, the contracts can be statically enforced in the client code to detect potential deadlocks in the client. Our technique combines static analysis with a symbolic encoding for tracking lock dependencies, allowing us to synthesize contracts using a SMT solver. Our prototype tool analyzes over a million lines of code for some widely-used Java libraries within an hour, thus demonstrating its scalability and efficiency. Furthermore, the contracts inferred by our approach have been able to pinpoint real deadlocks in clients, i.e. deadlocks that have been a part of bug-reports filed by users and developers of the client code.
Jyotirmoy V. Deshmukh, E. Allen Emerson, Sriram Sankaranarayanan 0001
ASE2
2009 Model Checking: Progress and Problems
E. Allen Emerson
VMCAI1
2008 Automatic Generation of Local Repairs for Boolean Programs
abstract
Automatic techniques for software verification focus on obtaining witnesses of program failure. Such counterexamples often fail to localize the precise cause of an error and usually do not suggest a repair strategy. We present an efficient algorithm to automatically generate a repair for an incorrect sequential Boolean program where program correctness is specified using a pre-condition and a post-condition. Our approach draws on standard techniques from predicate calculus to obtain annotations for the program statements. These annotations are then used to generate a synthesis query for each program statement, which if successful, yields a repair. Furthermore, we show that if a repair exists for a given program under specified conditions, our technique is always able to find it.
Roopsha Samanta, Jyotirmoy V. Deshmukh, E. Allen Emerson
FMCAD3
2008 SVISS: Symbolic Verification of Symmetric Systems
Thomas Wahl, Nicolas Blanc, E. Allen Emerson
TACAS3
2007 Improved verification of hardware designs through antecedent conditioned slicing
Shobha Vasudevan, E. Allen Emerson, Jacob A. Abraham
Int. J. Softw. Tools Technol. Transf.2
2006 Reducing Model Checking of the Few to the One
E. Allen Emerson, Richard J. Trefler, Thomas Wahl
ICFEM1
2006 Automatic Verification of Parameterized Data Structures
Jyotirmoy V. Deshmukh, E. Allen Emerson, Prateek Gupta
TACAS2
2006 On partitioning and symbolic model checking
abstract
State-space-partitioning-based approaches have been proposed in the literature to address the state-explosion problem in model checking. These approaches, whether sequential or distributed, perform a large amount of work in the form of interpartition (crossover) image computations, which can be expensive. A model-checking algorithm that aggregates these expensive crossover images by localizing computation to individual partitions is presented. It reduces the number of crossover images and drastically outperforms extant approaches in terms of crossover image computation cost as well as total model-checking time, often by two orders of magnitude.
Subramanian K. Iyer, Debashis Sahoo, E. Allen Emerson, Jawahar Jain
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.3
2005 Multi-threaded reachability
abstract
Partitioned BDD-based algorithms have been proposed in the literature to solve the memory explosion problem in BDD-based verification. Such algorithms can be at times ineffective as they suffer from the problem of scheduling the relative order in which the partitions are processed. In this paper we present a novel multi-threaded reachability algorithm that avoids this scheduling problem while increasing the latent parallelism in partitioned state space traversal. We show that in most cases our method is significantly faster than both the standard reachability algorithm as well as the existing partitioned approaches. The gains are further magnified when our threaded implementation is evaluated in the context of a parallel framework.
Debashis Sahoo, Jawahar Jain, Subramanian K. Iyer, David L. Dill, E. Allen Emerson
DAC5
2005 On Partitioning and Symbolic Model Checking
Subramanian K. Iyer, Debashis Sahoo, E. Allen Emerson, Jawahar Jain
FM3
2005 Dynamic Symmetry Reduction
E. Allen Emerson, Thomas Wahl
TACAS1
2004 A Partitioning Methodology for BDD-Based Verification
Debashis Sahoo, Subramanian K. Iyer, Jawahar Jain, Christian Stangier, Amit Narayan, David L. Dill, E. Allen Emerson
FMCAD7
2004 Synthesis of fault-tolerant concurrent programs
abstract
Methods for mechanically synthesizing concurrent programs from temporal logic specifications obviate the need to manually construct a program and compose a proof of its correctness. A serious drawback of extant synthesis methods, however, is that they produce concurrent programs for models of computation that are often unrealistic. In particular, these methods assume completely fault-free operation, that is, the programs they produce are fault-intolerant. In this paper, we show how to mechanically synthesize fault-tolerant concurrent programs for various fault classes. We illustrate our method by synthesizing fault-tolerant solutions to the mutual exclusion and barrier synchronization problems.
Paul C. Attie, Anish Arora, E. Allen Emerson
ACM Trans. Program. Lang. Syst.3
2003 Abstract Patterns of Compositional Reasoning
Nina Amla, E. Allen Emerson, Kedar S. Namjoshi, Richard J. Trefler
CONCUR2
2003 Model Checking Guarded Protocols
abstract
The parameterized model checking problem (PMCP) is to decide whether a temporal property holds for a uniform family of systems, C||U/sup n/, comprised of a control process, C, and finitely, but arbitrarily, many copies of a user process, U, executing concurrently with interleaving semantics. We delineate the decidability/undecidability boundary of the PMCP for all possible systems that arise by letting processes coordinate using different subsets of the following communication primitives: conjunctive Boolean guards, disjunctive Boolean guards, pairwise rendezvous, asynchronous rendezvous and broadcast actions. Our focus is on the following linear time properties: (p1) LTL/spl bsol/X formulae over C; (p2) LTL formulae over C; (p3) regular properties specified as regular automata; and (p4) /spl omega/-regular automata. We also establish a hierarchy based on the relative expressive power of the primitives by showing that disjunctive guards and pairwise rendezvous are equally expressive, in that we can reduce the PMCP for regular and /spl omega/-regular properties for systems with disjunctive guards and pairwise rendezvous are equally expressive, in that we can reduce the PMCP for regular and /spl omega/-regular properties for systems with disjunctive guards to ones with pairwise rendezvous and vise versa, but that each of asynchronous rendezvous and broadcasts is strictly more expressive than pairwise rendezvous (and disjunctive guards). Moreover, for systems with conjunctive guards, we give a simple characterization of the decidability/undecidability boundary of the PMCP by showing that allowing stuttering sensitive properties bridges the gap between decidability (for p1) and undecidability (for p2). A broad framework for modeling snoopy cache protocols is also presented for which the PMCP for p3 is decidable and that can model all snoopy cache protocols given by Culler and Emerson (1988) thereby overcoming the undecidability results.
E. Allen Emerson, Vineet Kahlon
LICS1
2003 Rapid Parameterized Model Checking of Snoopy Cache Coherence Protocols
E. Allen Emerson, Vineet Kahlon
TACAS1
2002 Visual Specifications for Modular Reasoning about Asynchronous Systems
Nina Amla, E. Allen Emerson, Kedar S. Namjoshi, Richard J. Trefler
FORTE2
2002 Model Checking Large-Scale and Parameterized Resource Allocation Systems
E. Allen Emerson, Vineet Kahlon
TACAS1
2001 Rtdt: A Front-End for Efficient Model Checking of Synchronous Timing Diagrams
Nina Amla, E. Allen Emerson, Robert P. Kurshan, Kedar S. Namjoshi
CAV2
2001 Assume-Guarantee Based Compositional Reasoning for Synchronous Timing Diagrams
Nina Amla, E. Allen Emerson, Kedar S. Namjoshi, Richard J. Trefler
TACAS2
2001 On model checking for the µ-calculus and its fragments
E. Allen Emerson, Charanjit S. Jutla, A. Prasad Sistla
Theor. Comput. Sci.1
2001 Synthesis of concurrent programs for an atomic read/write model of computation
abstract
Methods for mechanically synthesizing concurrent programs for temporal logic specifications have been proposed by Emerson and Clarke and by Manna and Wolper. An important advantage of these synthesis methods is that they obviate the need to manually compose a program and manually construct a proof of its correctness. A serious drawback of these methods in practice, however, is that they produce concurrent programs for models of computation that are often unrealistic, involving highly centralized system architecture (Manna and Wolper), processes with global information about the system state (Emerson and Clarke), or reactive modules that can read all of their inputs in one atomic step (Anuchitanukul and Manna, and Pnueli and Rosner). Even simple synchronization protocols based on atomic read/write primitives such as Peterson's solution to the mutual exclusion problem have remained outside the scope of practical mechanical synthesis methods. In this paper, we show how to mechanically synthesize in more realistic computational models solutions to synchronization problems. We illustrate the method by synthesizing Peterson's solution to the mutual exclusion problem.
Paul C. Attie, E. Allen Emerson
ACM Trans. Program. Lang. Syst.2
2000 Reducing Model Checking of the Many to the Few
E. Allen Emerson, Vineet Kahlon
CADE1
2000 Model Checking Synchronous Timing Diagrams
Nina Amla, E. Allen Emerson, Robert P. Kurshan, Kedar S. Namjoshi
FMCAD2
2000 Model Checking: Theory into Practice
E. Allen Emerson
FSTTCS1
2000 Virtual Symmetry Reduction
abstract
We provide a general method for ameliorating state explosion via symmetry reduction in certain asymmetric systems, such as systems with many similar, but not identical, processes. The method applies to systems whose structures (i.e., state transition graphs) have more state symmetries than arc symmetries. We introduce a new notion of "virtual symmetry" that strictly subsumes earlier notions of "rough symmetry" and "near symmetry" (Emerson and Trefler, 1999). Virtual symmetry is the most general condition under which the structure of a system is naturally bisimilar to its quotient by a group of state symmetries. We give several example systems exhibiting virtual symmetry that are not amenable to symmetry reduction by earlier techniques: a one-lane bridge system, where the direction with priority for crossing changes dynamically; an abstract system with asymmetric communication network; and a system with asymmetric resource sharing motivated from the drinking philosophers problem. These examples show that virtual symmetry reduction applies to a significantly broader class of asymmetric systems than could be handled before.
E. Allen Emerson, John Havlicek, Richard J. Trefler
LICS1
2000 SMC: a symmetry-based model checker for verification of safety and liveness properties
abstract
The article presents the SMC system. SMC can be used for checking safety and liveness properties of concurrent programs under different fairness assumptions. It is based on explicit state enumeration. It combats the state explosion by exploiting symmetries of the input concurrent program, usually present in the form of identical processes, in two different ways. Firstly, it reduces the number of explored states by identifying those states that are equivalent under the symmetries of the system; this is called process symmetry . Secondly, it reduces the number of edges explored from each state, in0 the reduced state graph, by exploiting the symmetry of a single state; this is called state symmetry . SMC works in an on-the-fly manner; it constructs the reduced state graph as and when it is needed. This method facilitates early termination, speeds up model checking, and reduces memory requirements. We employed SMC to check the correctness of, among other standard examples, the Link Layer part of the IEEE Standard 1394 “Firewire” high-speed serial bus protocol. SMC found deadlocks in the protocol. SMC was also to check certain liveness properties. A report on the case study is included in the article.
A. Prasad Sistla, Viktor Gyuris, E. Allen Emerson
ACM Trans. Softw. Eng. Methodol.3
1999 Parametric Quantitative Temporal Reasoning
abstract
We define Parameterized Real-Time Computation Tree Logic (PRTCTL), which allows quantitative temporal specifications to be parameterized over the natural numbers. Parameterized quantitative specifications are quantitative specifications in which concrete timing information has been abstracted away. Such abstraction allows designers to specify quantitative restrictions on the temporal ordering of events without having to use specific timing information from the model. A model checking algorithm for the logic is given which is polynomial for any fixed number of parameters. A subclass of formulae are identified for which the model checking problem is linear in the length of the formula and size of the structure. PRTCTL is generalised to allow quantitative reasoning about the number of occurrences of atomic events.
E. Allen Emerson, Richard J. Trefler
LICS1
1999 The Complexity of Tree Automata and Logics of Programs
abstract
The complexity of testing nonemptiness of finite state automata on infinite trees is investigated. It is shown that for tree automata with the pairs (or complemented pairs) acceptance condition having m states and n pairs, nonemptiness can be tested in deterministic time (mn) O (n) ; however, it is shown that the problem is in general NP-complete (or co-NP-complete, respectively). The new nonemptiness algorithm yields exponentially improved, essentially tight upper bounds for numerous important modal logics of programs, interpreted with the usual semantics over structures generated by binary relations. For example, it follows that satisfiability for the full branching time logic CTL * can be tested in deterministic double exponential time. Another consequence is that satisfiability for propositional dynamic logic (PDL) with a repetition construct (PDL-delta) and for the propositional Mu-calculus ($L\mu$) can be tested in deterministic single exponential time.
E. Allen Emerson, Charanjit S. Jutla
SIAM J. Comput.1
1998 Symmetry Reductions in Model Checking
Edmund M. Clarke, E. Allen Emerson, Somesh Jha, A. Prasad Sistla
CAV2
1998 Verification of Parameterized Bus Arbitration Protocol
E. Allen Emerson, Kedar S. Namjoshi
CAV1
1998 On Model Checking for Non-Deterministic Infinite-State Systems
abstract
We demonstrate that many known algorithms for model checking infinite-state systems can be derived uniformly from a reachability procedure that generates a "covering graph", a generalization of the Karp-Miller graph for Petri Nets. Each node of the covering graph has an associated non-empty set of reachable states, which makes it possible to model check safety properties of the system on the covering graph. For systems with a well-quasi-ordered simulation relation, each infinite fair computation has a finite witness, which may be detected using the covering graph and combinatorial properties of the specific infinite state system. These results explain many known decidability results in a simple, uniform manner. This is a strong indication that the covering graph construction is appropriate for the analysis of infinite state systems. We also consider the new application domain of parameterized broadcast protocols, and indicate how to apply the construction in this domain. This application is illustrated on an invalidation-based cache coherency protocol, for which many safety properties can be proved fully automatically for an arbitrary number of processes.
E. Allen Emerson, Kedar S. Namjoshi
LICS1
1998 Model Checking Real-Time Properties of Symmetric Systems
E. Allen Emerson, Richard J. Trefler
MFCS1
1998 Synthesis of Fault-Tolerant Concurrent Programs
abstract
Methods for mechanically synthesizing concurrent programs from temporal logic specificationsobviate the need to manually construct a program and compose a proof of its correctness. A seriousdrawback of extant synthesis methods, however, is that they produce concurrent programs formodels of computation that are often unrealistic. In particular, these methods assume completelyfault-free operation, that is, the programs they produce are fault-intolerant. In this paper, we showhow to mechanically synthesize fault-tolerant concurrent programs for various fault classes. Weillustrate our method by synthesizing fault-tolerant solutions to the mutual exclusion and barriersynchronization problems.Categories and Subject Descriptors: C.2.4 [
Anish Arora, Paul C. Attie, E. Allen Emerson
PODC3
1998 Synthesis of Concurrent Systems with Many Similar Processes
abstract
Methods for synthesizing concurrent programs from temporal logic specifications based on the use of a decision procedure for testing temporal satisfiability have been proposed by Emerson and Clarke and by Manna and Wolper. An important advantage of these synthesis methods is that they obviate the need to manually compose a program and manually construct a proof of its correctness. One only has to formulate a precise problem specification; the synthesis method then mechanically constructs a correct solution. A serious drawback of these methods in practice, however, is that they suffer from the state explosion problem. To synthesize a concurrent system consisting of K sequential processes, each having N states in its local transition diagram, requires construction of the global product-machine having about N K global states in general. This exponential growth in K makes it infeasible to synthesize systems composed of more than 2 or 3 processes. In this article, we show how to synthesize concurrent systems consisting of many (i.e., a finite but arbitrarily large number K of) similar sequential processes. Our approach avoids construction of the global product-machine for K processes; instead, it constructs a two-process product-machine for a single pair of generic sequential processes. The method is uniform in K , providing a simple template that can be instantiated for each process to yield a solution for any fixed K . The method is also illustrated on synchronization problems from the literature.
Paul C. Attie, E. Allen Emerson
ACM Trans. Program. Lang. Syst.2
1997 Checking Formal Specifications under Simulation
abstract
"Verification" of large multiprocessor designs currently heavily on simulation. Formal techniques such as model checking are typically only applied to small parts of the system, due to issues of computational and notational complexity. With these two facts in mind the authors have designed a platform which aims to help bridge the gap between formal verification and simulation. They present a temporal logic specification language which includes constructs for specifying system behavior at a high level of abstraction, and discuss its use in simulation and model checking.
William Canfield, E. Allen Emerson, Avijit Saha
ICCD2
1997 Utilizing Symmetry when Model-Checking under Fairness Assumptions: An Automata-Theoretic Approach
abstract
One useful technique for combating the state explosion problem is to exploit symmetry when performing temporal logic model checking. In previous work it is shown how, using some basic notions of group theory, symmetry may be exploited for the full range of correctness properties expressible in the very expressive temporal logic CTL*. Surprisingly, while fairness properties are readily expressible in CTL*, these methods are not powerful enough to admit any amelioration of state explosion, when fairness assumptions are involved. We show that it is nonetheless possible to handle fairness efficiently by trading some group theory for automata theory. Our automata-theoretic approach depends on detecting fair paths subtly encoded in a quotient structure whose arcs are annotated with permutations, by using a threaded structure that reflects coordinate shifts caused by the permutations.
E. Allen Emerson, A. Prasad Sistla
ACM Trans. Program. Lang. Syst.1
1996 Automatic Verification of Parameterized Synchronous Systems (Extended Abstract)
E. Allen Emerson, Kedar S. Namjoshi
CAV1
1996 Synthesis of Concurrent Systems for an Atomic Read / Atomic Write Model of Computation (Extended Abstract)
abstract
Methods for mechanically synthesizing concurrent programs from temporal logic specifications have been proposed (cf.[EC82, MW84, PR$9, PR89b, AM94]).An important advantage of these synthesis methods is that they obviate the need to manually construct a program and compose a proof of its correctness.A serious drawback of these methods in practice, however, is that they produce concurrent programs for models of computation that are often unrealistic, involving highly centralized system architecture (cf.[MW84] ) or processes with global information about the system state (cf.[EC82]).Even simple synchronization protocols based on atomic read / atomic write primitives such as Peterson's solution to the mutual exclusion problem have remained outside the scope of practical mechanical synthesis methods.In this paper, we show how to mechanically synthesize in more realistic computational models solutions to synchronization problems.We illustrate the method by synthesizing Peterson's solution to the mutual exclusion problem.
Paul C. Attie, E. Allen Emerson
PODC2
1996 Symmetry and Model Checking
E. Allen Emerson, A. Prasad Sistla
Formal Methods Syst. Des.1
1995 Methods for Mu-calculus Model Checking: A Tutorial (Abstract)
E. Allen Emerson
CAV1
1995 Utilizing Symmetry when Model Checking under Fairness Assumptions: An Automata-theoretic Approach
E. Allen Emerson, A. Prasad Sistla
CAV1
1995 Efficient Automation of Temporal Reasoning
E. Allen Emerson
CONCUR1
1995 Reasoning about Rings
abstract
The ring is a useful means of structuring concurrent processes. Processes communicate by passing a token in a fixed direction; the process that possesses the token is allowed to make certain moves. Usually, correctness properties are expected to hold irrespective of the size of the ring. We show that the problem of checking many useful correctness properties for rings of all sizes can be reduced to checking them on a ring of small size. The results do not depend on the processes being finite state. We illustrate our results on examples.
E. Allen Emerson, Kedar S. Namjoshi
POPL1
1994 A New Approach to Modularity in Rule-Based Programming
abstract
We describe a purely declarative method for introducing modularity into forward-chaining, rule-based languages and its embodiment in the Venus rule language. The method is enforced by the syntax of the language and includes the ability to parameterize the rule groups. Drawing from two of three Venus applications developed to date, we illustrate how this form of modularity contributes directly to the resolution of certain software engineering problems associated with rule languages.>
James C. Browne, E. Allen Emerson, Mohamed G. Gouda, Daniel P. Miranker, Aloysius K. Mok, Roberto J. Bayardo, Sarah E. Chodrow, David Gadbois, F. Furman Haddix, Thomas W. Hetherington, Lance Obermeyer, Duu-Chung Tsou, Chih-Kan Wang, Rwo-Hsi Wang
ICTAI2
1993 On Model-Checking for Fragments of µ-Calculus
E. Allen Emerson, Charanjit S. Jutla, A. Prasad Sistla
CAV1
1993 Symmetry and Model Checking
E. Allen Emerson, A. Prasad Sistla
CAV1
1993 Distributed Real-Time System Specification and Verification in APTL
abstract
In this article, we propose a language, Asynchronous Propositional Temporal Logic (APTL), for the specification and verification of distributed hard real-time sytems. APTL extends the logic TPTL by dealing explicitly with multiple local clocks. We propose a distributed-system model which permits definition of inequalities asserting the temporal precedence of local clock readings. We show the expressiveness of APTL through two nontrivial examples. Our logic can be used to specify and reason about such important properties as bounded clock rate drifting. We then give a 2 2 0(n) tableau-based decision procedure for determining APTL satisfiability, where n is the size (number of bits) of the input formula.
Farn Wang, Aloysius K. Mok, E. Allen Emerson
ACM Trans. Softw. Eng. Methodol.3
1992 Formal Specification of Ssynchronous Distributed Real-Time Systems by APTL
abstract
Article Free Access Share on Formal specification of asynchronous distributed real-time systems by APTL Authors: Farn Wang View Profile , Al Mok View Profile , E. Allen Emerson View Profile Authors Info & Claims ICSE '92: Proceedings of the 14th international conference on Software engineeringJune 1992 Pages 188–198https://doi.org/10.1145/143062.143113Published:01 June 1992Publication History 4citation137DownloadsMetricsTotal Citations4Total Downloads137Last 12 Months5Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Farn Wang, Aloysius K. Mok, E. Allen Emerson
ICSE3
1992 Efficient Temporal Satisfiability
abstract
There has been much interest in decision procedures for testing satisfiability in various systems of temporal logic. This is due to the potential applications of these decision procedures to reasoning about the correctness of concurrent programs. In this paper, we exhibit a temporal logic that is both useful in applications to program reasoning and is efficiently decidable in quadratic time. A surprising corollary of our results is that the fragment of CTL (Computation Tree Logic) used by Emerson & Clarke [11] to synthesize concurrent programs from temporal specifications is actually decidable in polynomial time. Our results demonstrate that many useful correctness properties can be expressed with a rather restricted syntax, and provide insight into the relation between the syntactic complexity of temporal logics and the complexity of testing satisfiability.
E. Allen Emerson, Tom Sadler, Jai Srinivasan
J. Log. Comput.1
1992 Quantitative Temporal Reasoning
E. Allen Emerson, Aloysius K. Mok, A. Prasad Sistla, Jai Srinivasan
Real Time Syst.1
1991 Tree Automata, Mu-Calculus and Determinacy (Extended Abstract)
abstract
It is shown that the propositional mu-calculus is equivalent in expressive power to finite automata on infinite trees. Since complementation is trivial in the mu-calculus, the equivalence provides a radically simplified, alternative proof of M.O. Rabin's (1989) complementation lemma for tree automata, which is the heart of one of the deepest decidability results. It is also shown how mu-calculus can be used to establish determinacy of infinite games used in earlier proofs of complementation lemma, and certain games used in the theory of online algorithms.>
E. Allen Emerson, Charanjit S. Jutla
FOCS1
1990 On the Limits of Efficient Temporal Decidability (Extended Abstract)
abstract
An analysis is made of the contribution of the temporal operators alone to the complexity of deciding temporal logics by suppressing the role the usual Boolean connectives play in determining lower bounds on the complexity of their decision procedures. Several temporal logics are exhibited which can state many properties useful in describing temporal systems and which restrict combinations of temporal and Boolean operators so as to be decidable in low deterministic polynomial time. It is also shown that relaxing any of the constraints placed on the syntax of these logics results in intractability, thereby demonstrating that there is a fine line separating tractably decidable sets of temporal formulas from intractable ones.>
E. Allen Emerson, Michael Evangelist, Jai Srinivasan
LICS1
1990 A Decidable Temporal Logic to Reason About Many Processes
E. Allen Emerson, Jai Srinivasan
PODC1
1989 On Simultaneously Determinizing and Complementing omega-Automata (Extended Abstract)
abstract
The authors give a construction to determine and complement simultaneously a Buchi automaton in infinite strings, with an exponential blowup in states and a linear blowup in the number of pairs. An exponential lower bound is already known. The previous best construction was double exponential. The present result permits exponentially improved essentially optimal decision procedures for various modal logics of programs. It also gives exponentially improved conversions between various kinds of omega automata.>
E. Allen Emerson, Charanjit S. Jutla
LICS1
1989 Synthesis of Concurrent Systems with Many Similar Sequential Processes
abstract
Methods for synthesizing concurrent programs from Temporal Logic specifications based on the use of a decision procedure for testing temporal satisfiability have been proposed by Emerson & Clarke [EC82] and Manna & Wolper [MW84]. An important advantage of these synthesis methods is that they obviate the need to manually compose a program and manually construct a proof of its correctness. One only has to formulate a precise problem specification; the synthesis method then mechanically constructs a correct solution. A serious drawback of these methods in practice, however, is that they suffer from the state explosion problem. To synthesize a concurrent system consisting of K sequential processes, each having N states in its local transition diagram, requires construction of the global product-machine having at least NK global states in general. This exponential growth in K makes it infeasible to synthesize systems composed of more than 2 or 3 processes. In this paper, we show how to synthesize concurrent systems consisting of many (i.e., a finite but arbitrarily large number K of) similar sequential processes. Our approach avoids construction of the global product-machine for K processes; instead, it constructs a two process product-machine for a single pair of generic sequential processes. The method is uniform in K, providing a simple template that can be instantiated for each process to yield a solution for any fixed K. The method is also illustrated on synchronization problems from the literature.
Paul C. Attie, E. Allen Emerson
POPL2
1989 Efficient Temporal Reasoning
abstract
There has been much interest in decision procedures for testing satisfiability (or validity) of formulae in various systems of Temporal Logic. This is due to the potential applications of such decision procedures to mechanical reasoning about correctness of concurrent programs. We show that there exist Temporal Logics that are (i) decidable in polynomial time, and (ii) still useful in applications. One surprising corollary of our results is that the fragment of CTL (Computation Tree Logic) actually used by Emerson & Clarke [EC82] to synthesize concurrent programs from temporal specifications is decidable in polynomial time. Another is that the verification of many correctness properties of concurrent programs (such as in Owicki & Lamport [OL82]) can be efficiently automated. This demonstrates that many useful correctness properties can be expressed with a rather restricted syntax. Finally, our results provide insight into the relation between the structural (i.e., syntactic) complexity of temporal logics and the complexity of their decision problems.
E. Allen Emerson, Tom Sadler, Jai Srinivasan
POPL1
1989 An Automata Theoretic Decision Procedure for the Propositional Mu-Calculus
Robert S. Streett, E. Allen Emerson
Inf. Comput.2
1988 The Complexity of Tree Automata and Logics of Programs (Extended Abstract)
abstract
The computational complexity of testing nonemptiness of finite-state automata on infinite trees is investigated. It is shown that for tree automata with m states and n pairs nonemptiness can be tested in time O((mn)/sup 3n/), even though the problem is in general NP-complete. The nonemptiness algorithm is used to obtain exponentially improved, essentially tight upper bounds for numerous important modal logics of programs, interpreted with the usual semantics over structures generated by binary relations. For example, it is shown that satisfiability for the full branching time logic CTL* can be tested in deterministic double exponential time. It also follows that satisfiability for propositional dynamic logic with a repetition construct (PDL-delta) and for the propositional mu-calculus (L mu ) can be tested in deterministic single exponential time.>
E. Allen Emerson, Charanjit S. Jutla
FOCS1
1987 Uniform Inevitability is Tree Automaton Ineffable
E. Allen Emerson
Inf. Process. Lett.1
1987 Modalities for Model Checking: Branching Time Logic Strikes Back
E. Allen Emerson, Chin-Laung Lei
Sci. Comput. Program.1
1986 Efficient Model Checking in Fragments of the Propositional Mu-Calculus (Extended Abstract)
E. Allen Emerson, Chin-Laung Lei
LICS1
1986 Temporal Reasoning Under Generalized Fairness Constraints
E. Allen Emerson, Chin-Laung Lei
STACS1
1986 "Sometimes" and "Not Never" revisited: on branching versus linear time temporal logic
abstract
The differences between and appropriateness of branching versus linear time temporal logic for reasoning about concurrent programs are studied. These issues have been previously considered by Lamport. To facilitate a careful examination of these issues, a language, CTL * , in which a universal or existential path quantifier can prefix an arbitrary linear time assertion, is defined. The expressive power of a number of sublanguages is then compared. CTL* is also related to the logics MPL of Abrahamson and PL of Harel, Kozen, and Parikh. The paper concludes with a comparison of the utility of branching and linear time temporal logics.
E. Allen Emerson, Joseph Y. Halpern
J. ACM1
1986 Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications
abstract
We give an efficient procedure for verifying that a finite-state concurrent system meets a specification expressed in a (propositional, branching-time) temporal logic. Our algorithm has complexity linear in both the size of the specification and the size of the global state graph for the concurrent system. We also show how this approach can be adapted to handle fairness. We argue that our technique can provide a practical alternative to manual proof construction or use of a mechanical theorem prover for verifying many finite-state concurrent systems. Experimental results show that state machines with several hundred states can be checked in a matter of seconds.
Edmund M. Clarke, E. Allen Emerson, A. Prasad Sistla
ACM Trans. Program. Lang. Syst.2
1985 Modalities for Model Checking: Branching Time Strikes Back
abstract
Article Modalities for model checking (extended abstract): branching time strikes back Share on Authors: E. Allen Emerson Department of Computer Sciences, University of Texas at Austin, Austin, Texas Department of Computer Sciences, University of Texas at Austin, Austin, TexasView Profile , Chin-Laung Lei Department of Computer Sciences, University of Texas at Austin, Austin, Texas Department of Computer Sciences, University of Texas at Austin, Austin, TexasView Profile Authors Info & Claims POPL '85: Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languagesJanuary 1985 Pages 84–96https://doi.org/10.1145/318593.318620Online:01 January 1985Publication History 110citation612DownloadsMetricsTotal Citations110Total Downloads612Last 12 Months13Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
E. Allen Emerson, Chin-Laung Lei
POPL1
1985 Decision Procedures and Expressiveness in the Temporal Logic of Branching Time
E. Allen Emerson, Joseph Y. Halpern
J. Comput. Syst. Sci.1
1984 The Propositional Mu-Calculus is Elementary
Robert S. Streett, E. Allen Emerson
ICALP2
1984 Deciding Branching Time Logic
abstract
In this paper we study the full branching time logic (CTL*) in which a path quantifier, either A (“for all paths”) or E (ldquo;for some path”), prefixes an assertion composed of arbitrary combinations of the usual linear time operators F (“sometime”), G (“always”), X (“nexttime”), and U (“until”). We show that the problem of determining if a CTL* formula is satisfiable in structure generated by a binary relation is decidable in triple exponential time. The decision procedure exploits the special structure of the finite state ω-automata for linear temporal formulae which allows them to be determinized with only a single exponential blowup in size. We also compare the expressive power of tree automata with CTL* augmented by quantified auxillary propositions.
E. Allen Emerson, A. Prasad Sistla
STOC1
1984 Deciding Full Branching Time Logic
E. Allen Emerson, A. Prasad Sistla
Inf. Control.1
1983 Automatic Verification of Finite State Concurrent Systems Using Temporal Logic Specifications: A Practical Approach
abstract
We give an efficient procedure for verifying that a finite state concurrent system meets a specification expressed in a (propositional) branching-time temporal logic. Our algorithm has complexity linear in both the size of the specification and the size of the global transition graph for the concurrent system. We also show how the logic and our algorithm can be modified to handle fairness. We argue that this technique can provide a practical alternative to manual proof construction or use of a mechanical theorem prover for verifying many finite state concurrent systems.
Edmund M. Clarke, E. Allen Emerson, A. Prasad Sistla
POPL2
1983 "Sometimes" and "Not Never" Revisited: On Branching Versus Linear Time
abstract
Temporal logic ([PR57], [PR67]) provides a formalism for describing the occurrence of events in time which is suitable for reasoning about concurrent programs (cf. [PN77]). In defining temporal logic, there are two possible views regarding the underlying nature of time. One is that time is linear: at each moment there is only one possible future. The other is that time has a branching, tree-like nature: at each moment, time may split into alternate courses representing different possible futures. Depending upon which view is chosen, we classify (cf. [RU71]) a system of temporal logic as either a linear time logic in which the semantics of the time structure is linear, or a system of branching time logic based on the semantics corresponding to a branching time structure. The modalities of a temporal logic system usually reflect the semantics regarding the nature of time. Thus,in a logic of linear time, temporal operators are provided for describing events along a single time path (cf. [GPSS80]). In contract, in a logic of branching time the operators reflect the branching nature of time by allowing quantification over possible futures cf. [AB80],[EC80]).
E. Allen Emerson, Joseph Y. Halpern
POPL1
1983 Alternative Semantics for Temporal Logics
E. Allen Emerson
Theor. Comput. Sci.1
1982 Decision Procedures and Expressiveness in the Temporal Logic of Branching Time
abstract
In this paper we consider the Computation Tree Logic (CTL) proposed in [CE] which extends the Unified Branching Time Logic (UB) of [BMP] by adding an until operator. We establish that CTL has the small property by showing that any satisfiable CTL formulae is satisfiable in a small finite model obtained from a small “pseudo-model” resulting from the Fischer Ladner quotient construction. We then give an exponential time algorithm for deciding satisfiability in CTL, and extend the axiomatization of UB given in [BMP] to a complete axiomatization for CTL. Lastly, we study the relative expressive power of a family of temporal logics obtained by extending or restricting the syntax of UB and CTL.
E. Allen Emerson, Joseph Y. Halpern
STOC1
1982 Using Branching Time Temporal Logic to Synthesize Synchronization Skeletons
E. Allen Emerson, Edmund M. Clarke
Sci. Comput. Program.1
1980 Characterizing Correctness Properties of Parallel Programs Using Fixpoints
E. Allen Emerson, Edmund M. Clarke
ICALP1