2017
DOI: 10.1007/s00165-017-0419-1
|View full text |Cite
|
Sign up to set email alerts
|

Incremental bounded model checking for embedded software

Abstract: Abstract. 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 was… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
21
0

Year Published

2019
2019
2022
2022

Publication Types

Select...
4
4

Relationship

1
7

Authors

Journals

citations
Cited by 23 publications
(21 citation statements)
references
References 57 publications
0
21
0
Order By: Relevance
“…It is tempting to use a real arithmetic strategy to tackle these formulae; however, the floating-point arithmetic is an approximation of the real one and introduces a new set of values (e.g., NaNs). ESBMC follows the same approach as CBMC [2] and 2LS [15], which also bit-blast all operations, including floating-point operations, before checking satisfiability using SAT solvers. The bit-blasting algorithm in ESBMC is based on the bit-blasting performed by Z3, which is an improved version of the algorithms described by Muller et al [12].…”
Section: Test Generation Approachmentioning
confidence: 99%
“…It is tempting to use a real arithmetic strategy to tackle these formulae; however, the floating-point arithmetic is an approximation of the real one and introduces a new set of values (e.g., NaNs). ESBMC follows the same approach as CBMC [2] and 2LS [15], which also bit-blast all operations, including floating-point operations, before checking satisfiability using SAT solvers. The bit-blasting algorithm in ESBMC is based on the bit-blasting performed by Z3, which is an improved version of the algorithms described by Muller et al [12].…”
Section: Test Generation Approachmentioning
confidence: 99%
“…SLDV uses rational approximations of floating-point arithmetic and tries to identify suspicious test cases. Additionally, there are some third-party tools based on formal methods, e.g., BTC † Embedded Tester [5] and AutoMOTGen [6]. Embedded Tester converts a model into a C code and generates test cases based on formal analysis of the C code.…”
Section: Related Workmentioning
confidence: 99%
“…This enables ESBMC, and the respective solver, to learn from previous checks, optimizing the search procedure and potentially eliminating a large amount of formula state space to be searched, because it solves and disregards data during the process, incrementally. This technique is called "incremental SMT" [39] and allows us to reduce the memory overhead, mainly when the verified system is complex and the computing platform does not have large amount of memory to deal with all the design space state.…”
Section: A Esbmcmentioning
confidence: 99%