ISSE

Search

Verifying Concurrent Systems with Symbolic Execution

Michael Balser

Verifying Concurrent Systems with Symbolic Execution -- Temporal Reasoning is Symbolic Execution with a Little Induction

Symbolic execution is an intuitive strategy to verify sequential programs, which can be automated to a large extent. We have successfully carried over this method of proof to the interactive verification of concurrent systems. The resulting strategy can be applied to the verification of complex parallel programs and arbitrary (linear) temporal formulas. Our underlying logic is defined such that operators for parallel programs and temporal logic can be arbitrarily nested. We support interleaving with explicit blocking, nondeterministic choice, and others. Most important, the semantics of all of the operators are compositional. Thus, systems can be abstracted and proofs can be decomposed. This ensures that our strategy of proof can be applied to the verification of large, concurrent systems.
Dissertation, Fakultät für Angewandte Informatik, Universität Augsburg, 2005

Publisher: Shaker-Verlag


ISBN: 3-8322-5074-3


Downloads: