2002 · 89 citations · 22 references
ComputingComputer ScienceAlgorithmsFormal MethodsProgramming LanguagesFinite State Machine ModelingModel CheckingTemporal LogicCausalityPartial-order ReductionState Space Explosion
A temporal logic for causality (T/sub LC/) is introduced. The logic is interpreted over causal structures corresponding to partial order executions of programs. For causal structures describing the behavior of a finite fixed set of processes, a T/sub LC/-formula can, equivalently, be interpreted over their linearizations. The main result of the paper is a tableau construction that gives a singly-exponential translation from a T/sub LC/ formula /spl psi/ to a Streett automaton that accepts the set of linearizations satisfying /spl psi/. This allows both checking the validity of T/sub LC/ formulas and model-checking of program properties. As the logic T/sub LC/ does not distinguish among different linearizations of the same partial order execution, partial order reduction techniques can be applied to alleviate the state-space explosion problem of model-checking.
22
The temporal logic of programs
Amir Pnueli · 1977 · 5.7K citations
Modeling concurrency with partial orders
Vaughan Pratt · International Journal of Parallel Programming · 1986 · 645 citations