Title :
SMT-based bounded model checking for multi-threaded software in embedded systems
Author_Institution :
ECS, Univ. of Southampton, Southampton, UK
Abstract :
The transition from single-core to multi-core processors has made multi-threaded software an important subject over the last years in computer-aided verification. Model checkers have been successfully applied to discover subtle errors, but they suffer from combinatorial state space explosion when verifying multi-threaded software. In our previous work, we have extended the encodings from SMT-based bounded model checking (BMC) to provide more accurate support for program verification and to use different background theories and solvers in order to improve scalability and precision in a completely automatic way. We now focus on extending this work to support an SMT-based BMC formulation of multithreaded software which allows the state space to be reduced by abstracting the number of state variables and interleavings from the proof of unsatisfiability generated by the SMT solvers. The core idea of our approach aims to extract the proof objects produced by the SMT solvers in order to control the number of interleavings and to remove logic that is not relevant to a given property. This work aims to develop a new algorithmic method and corresponding tools based on SMT to verify embedded software in multi-core systems.
Keywords :
combinatorial mathematics; computer aided software engineering; embedded systems; multi-threading; multiprocessing systems; program verification; SMT-based BMC formulation; SMT-based bounded model checking; combinatorial state space explosion; computer aided verification; embedded system; multicore processor; multithreaded software; program verification; proof objects; single-core processor; state variable; Computational modeling; Embedded software; Encoding; Instruction sets; Multicore processing; Software algorithms; SAT modulo theories; computer-aided verification; formal software verification; multicore systems;
Conference_Titel :
Software Engineering, 2010 ACM/IEEE 32nd International Conference on
Conference_Location :
Cape Town
Print_ISBN :
978-1-60558-719-6
DOI :
10.1145/1810295.1810396