We extended ESBMC to exploit the combination of context-bounded symbolic model checking and k-induction to prove safety properties in single-and multi-threaded ANSI-C programs with unbounded loops. We now first try to verify by induction that the safety property holds in the system. If that fails, we search for a bounded reachable state that constitutes a… (More)
The occam programming language provides a natural and concise syntax for specifying compositions of processes. occam has many advantages: it has primitive constructs supporting concurrency, it lends itself to distributed execution, it has a strong formal basis and it supports secure programming. occam is an excellent language for embedded systems and… (More)
ESBMC is a context-bounded symbolic model checker for single-and multi-threaded ANSI-C code. It converts the verification conditions using different background theories and passes them directly to an SMT solver. 1 Overview ESBMC is a context-bounded symbolic model checker that allows the verification of single-and multi-threaded C code with shared variables… (More)
Context-bounded model checking has successfully been used to verify safety properties in multi-threaded systems automatically, even if they are implemented in low-level programming languages like ANSI-C. In this paper, we describe and experiment with an approach to extend context-bounded model checking to liveness properties expressed in linear-time… (More)
Context-bounded model checking has been used successfully to verify safety properties in multi-threaded systems automatically, even if they are implemented in low-level programming languages such as C. In this paper, we describe and experiment with an approach to extend context-bounded software model checking to safety and liveness properties expressed in… (More)
We describe the application of ESBMC, a symbolic bounded model checker for C programs, to the 2012 RERS greybox challenge. We checked the reachability properties via reachability of the error labels, and the behavioral properties via a bounded LTL model checking approach. Our approach could solve about 700 properties for the small and medium problems from… (More)
We describe some more recent developments of the SPoC system. We describe a new module in the occam compiler which performs substantial simplifications of the run-time demands made by the compiled code. This has been used successfully both to target a simple PIC microcontroller and to generate input for the SMV model checker.