SESep 20, 2014

Incremental Bounded Model Checking for Embedded Software (extended version)

arXiv:1409.5872v137 citations
Originality Incremental advance
AI Analysis

This incremental improvement enables faster formal verification for embedded systems developers, making it more practical for large and complex software.

The paper tackles the inefficiency of applying Bounded Model Checking iteratively in embedded software verification by extending CBMC to support incremental Bounded Model Checking, resulting in a tenfold reduction in runtimes for large industrial programs.

Program analysis is on the brink of mainstream in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and automated test case generation are some of the most common applications of automated verification tools based on Bounded Model Checking. 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 paper reports on the extension of the software model checker CBMC to support incremental Bounded Model Checking and its successful integration with the industrial embedded software verification tool BTC EmbeddedTester. We present an extensive evaluation over large industrial embedded programs, which shows that incremental Bounded Model Checking 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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes