VSL 2014: VIENNA SUMMER OF LOGIC 2014

Bounded Model Checking of Multi-Threaded C Programs via Lazy Sequentialization

Authors: Omar Inverso, Ermenegildo Tomasco, Bernd Fischer, Salvatore La Torre and Gennaro Parlato

PapersPapers with AbstractsPrefaceAuthor IndexKeyword Index

Paper Information

Title:Bounded Model Checking of Multi-Threaded C Programs via Lazy Sequentialization
Authors:Omar Inverso, Ermenegildo Tomasco, Bernd Fischer, Salvatore La Torre and Gennaro Parlato
Proceedings:CAV 2014 LNCS Proceedings
Editors: Armin Biere, Swen Jacobs and Roderick Bloem
Keywords:Concurrent programs, Bounded Model Checking, Sequentialization
Abstract:

ABSTRACT. Bounded model checking (BMC) has successfully been used for many practical program verification problems, but concurrency still poses a challenge. Here we describe a new approach to BMC of sequentially consistent C programs using POSIX threads. Our approach first translates a multi-threaded C program into a non-deterministic sequential C program that preserves reachability for all round-robin schedules with a given bound on the number of rounds. It then re-uses existing high-performance BMC tools as back-ends for the sequential verification problem. Our translation is carefully designed to introduce very small memory overheads and very few sources of non-determininsm, so that it produces tight SAT/SMT formulae, and is thus very effective in practice: our implementation won the the concurrency category of SV-COMP14. It solved all verification tasks successfully and was 30x faster than the best tool with native concurrency handling.

Pages:18
Talk:Jul 21 15:10
Paper:
Disclaimer | Powered by EasyChair Smart Program