Incremental bounded model checking for embedded software

Schrammel, Peter, Kroening, Daniel, Brain, Martin, Martins, Ruben, Teige, Tino and Bienmüller, Tom (2017) Incremental bounded model checking for embedded software. Formal Aspects of Computing, 29 (5). pp. 911-931. ISSN 0934-5043

[img] PDF - Accepted Version
Available under License Creative Commons Attribution.

Download (429kB)
[img] PDF - Published Version
Available under License Creative Commons Attribution.

Download (926kB)


Program analysis is on the brink of mainstream usage in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and test case generation are some of the most common applications of automated verification tools based on bounded model checking (BMC). Existing industrial tools for embedded software use an off-the-shelf bounded model checker and apply it iteratively to verify the program with an increasing number of unwindings. This approach unnecessarily wastes time repeating work that has already been done and fails to exploit the power of incremental SAT solving. This article reports on the extension of the software model checker CBMC to support incremental BMC and its successful integration with the industrial embedded software verification tool BTC EMBEDDEDTESTER. We present an extensive evaluation over large industrial embedded programs, mainly from the automotive industry. We show that incremental BMC cuts runtimes by one order of magnitude in comparison to the standard non-incremental approach, enabling the application of formal verification to large and complex embedded software. We furthermore report promising results on analysing programs with arbitrary loop structure using incremental BMC, demonstrating its applicability and potential to verify general software beyond the embedded domain.

Item Type: Article
Keywords: embedded systems, embedded software, bounded model checking, incremental SAT solving, k-induction
Schools and Departments: School of Engineering and Informatics > Informatics
Subjects: Q Science > QA Mathematics > QA0075 Electronic computers. Computer science
Depositing User: Peter Schrammel
Date Deposited: 21 Dec 2016 11:16
Last Modified: 25 Oct 2017 10:44

View download statistics for this item

📧 Request an update