Loop Invariant Symbolic Execution for Parallel Programs
Autor: | Stephen F. Siegel, Timothy K. Zirkel |
---|---|
Rok vydání: | 2012 |
Předmět: | |
Zdroj: | Lecture Notes in Computer Science ISBN: 9783642279393 VMCAI |
DOI: | 10.1007/978-3-642-27940-9_27 |
Popis: | Techniques for verifying program assertions using symbolic execution exhibit a significant limitation: they typically require that (small) bounds be imposed on the number of loop iterations. For sequential programs, there is a way to overcome this limitation using loop invariants. The basic idea is to assign new symbolic constants to the variables modified in the loop body, add the invariant to the path condition, and then explore two paths: one which executes the loop body and checks that the given invariant is inductive, the other which jumps to the location just after the loop. For parallel programs, the situation is more complicated: the invariant may relate the state of multiple processes, these processes may enter and exit the loop at different times, and they may be at different iteration counts at the same time. In this paper, we show how to overcome these obstacles. Specifically, we introduce the notion of collective loop invariant and a symbolic execution technique that uses it to verify assertions in message-passing parallel programs with unbounded loops, generalizing the sequential technique. |
Databáze: | OpenAIRE |
Externí odkaz: |