© 2002 by Oxford University Press
Original Article |
Verifying Concurrent Systems with Symbolic Execution
1 Lehrstuhl Softwaretechnik und Programmiersprachen, Universität Augsburg, D-86135 Augsburg, Germany. E-mail: balser{at}informatik.uni-augsburg.deduelli{at}informatik.uni-augsburg.dereif{at}informatik.uni-augsburg.deschellhorn{at}informatik.uni-augsburg.de
Current techniques for interactively proving temporal properties of concurrent systems translate transition systems into temporal formulas by introducing program counter variables. Proofs are not intuitive, because control flow is not explicitly considered. For sequential programs symbolic execution is a very intuitive, interactive proof strategy. In this paper we will adopt this technique for parallel programs. Properties are formulated in interval temporal logic. An inplementation in the interactive theorem prover KIV has shown that this technique offers a high degree of automation and allows simple, local invariants.
Keywords: Symbolic execution; induction; temporal logic; parallel program; concurrent system; program verification
Received January 2001.