2015
DOI: 10.1007/s10009-015-0407-9
|View full text |Cite
|
Sign up to set email alerts
|

Handling loops in bounded model checking of C programs via k-induction

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
40
0

Year Published

2016
2016
2020
2020

Publication Types

Select...
5
2
1

Relationship

3
5

Authors

Journals

citations
Cited by 63 publications
(40 citation statements)
references
References 37 publications
0
40
0
Order By: Relevance
“…(RP3) Novel approaches to model check embedded software using k -induction and invariants were proposed and evaluated in the literature, which demonstrate its effectiveness in some real-life embedded-system applications [23,25,26,28]; however, the main challenge still remains open, i.e., to compute and strengthen loop invariants to prove program correctness and timeliness in a more efficient and effective way, in order to be competitive with other model-checking approaches. In particular, invariant-generation algorithms have substantially evolved over the last years, with the goal of discovering inductive invariants of programs [21,22] or continuously refine them during verification [24]; however, there is still a lack of studies for exploiting the combination of different invariant-generation algorithms (e.g., interval analysis, linear inequalities, polynomial equalities and inequalities) and how to strengthen them during verification, in order to ensure system robustness w.r.t.…”
Section: Current Achievements and Future Trendsmentioning
confidence: 99%
See 1 more Smart Citation
“…(RP3) Novel approaches to model check embedded software using k -induction and invariants were proposed and evaluated in the literature, which demonstrate its effectiveness in some real-life embedded-system applications [23,25,26,28]; however, the main challenge still remains open, i.e., to compute and strengthen loop invariants to prove program correctness and timeliness in a more efficient and effective way, in order to be competitive with other model-checking approaches. In particular, invariant-generation algorithms have substantially evolved over the last years, with the goal of discovering inductive invariants of programs [21,22] or continuously refine them during verification [24]; however, there is still a lack of studies for exploiting the combination of different invariant-generation algorithms (e.g., interval analysis, linear inequalities, polynomial equalities and inequalities) and how to strengthen them during verification, in order to ensure system robustness w.r.t.…”
Section: Current Achievements and Future Trendsmentioning
confidence: 99%
“…Novel verification algorithms for proving correctness of (a large set of) C programs, by mathematical induction, in a completely automatic way (i.e., users do not need to provide the loop invariant) were recently proposed [23,24,25,26,27]. Additionally, k -induction based verification was also applied to ensure that (restricted) C programs (1) do not contain violations related to data races [28], considering the Cell BE processor, and (2) do respect time constraints, which are specified during the system design phase [18].…”
Section: Induction-based Verification Of C Programsmentioning
confidence: 99%
“…Iterative deepening implies that ESBMC always finds the smallest k to either prove correctness or find a property violation. ESBMC now uses an improved scheme of the earlier version described by Gadelha et al [3]. In particular, this new version no longer collects havocked variables into states, rewriting every access to these variables into state accesses.…”
Section: The K-induction Algorithm In Esbmcmentioning
confidence: 99%
“…It does not require any special annotations in the source code to find such bugs, but it does allow users to add their own assertions and also checks for violations of these. In addition, ESBMC implements k-induction [3] and can therefore be used to prove the absence of property violations (resp. the validity of user-defined assertions).…”
Section: Introductionmentioning
confidence: 99%
“…In each step k of the k-induction algorithm, three checks are performed: the base case B(k), forward condition F (k) and inductive step I(k), for k = [1, d] [16]. The base case B(k) is the standard BMC and B(k) is satisfiable if and only if B(k) has a counterexample of length k or less [17]:…”
Section: The K-induction Algorithmmentioning
confidence: 99%