Sequentialization has been shown to be an effective symbolic verification technique for concurrent C programs using POSIX threads. Lazy-CSeq, a tool that applies a lazy sequentialization scheme, has won the Concurrency division of the last two editions of the Competition on Software Verification. The tool encodes all thread schedules up to a given bound into a single non-deterministic sequential C program and then invokes a C model checker. This paper presents a novel optimized implementation of lazy sequentialization, which integrates symbolic pruning of redundant schedules into the encoding. Experimental evaluation shows that our tool outperforms Lazy-CSeq significantly on many benchmarks.
CITATION STYLE
Herdt, V., Le, H. M., Große, D., & Drechsler, R. (2015). Lazy-CSeq-SP: Boosting sequentialization-based verification of multi-threaded c programs via symbolic pruning of redundant schedules. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9364, pp. 228–233). Springer Verlag. https://doi.org/10.1007/978-3-319-24953-7_18
Mendeley helps you to discover research relevant for your work.