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
Verlag: Shaker-Verlag
ISBN: 3-8322-5074-3
Downloads:
- download pdf version - (thesis-balser.pdf, 1335 KB)
