Title :
Lazy-CSeq: A Context-Bounded Model Checking Tool for Multi-threaded C-Programs
Author :
Omar Inverso;Truc L. Nguyen;Bernd Fischer;Salvatore La Torre;Gennaro Parlato
Author_Institution :
Electron. &
Abstract :
Lazy-CSeq is a context-bounded verification tool for sequentially consistent C programs using POSIX threads. It first translates a multi-threaded C program into a bounded nondeterministic sequential C program that preserves bounded reachability for all round-robin schedules up to a given number of rounds. It then reuses existing high-performance bounded model checkers as sequential verification backends. Lazy-CSeq handles the full C language and the main parts of the POSIX thread API, such as dynamic thread creation and deletion, and synchronization via thread join, locks, and condition variables. It supports assertion checking and deadlock detection, and returns counterexamples in case of errors. Lazy-CSeq outperforms other concurrency verification tools and has won the concurrency category of the last two SV-COMP verification competitions.
Keywords :
"System recovery","Arrays","Concurrent computing","Context","Programming","Schedules"
Conference_Titel :
Automated Software Engineering (ASE), 2015 30th IEEE/ACM International Conference on
DOI :
10.1109/ASE.2015.108