2020
DOI: 10.1007/s10009-020-00564-1
|View full text |Cite
|
Sign up to set email alerts
|

Verification and refutation of C programs based on k-induction and invariant inference

Abstract: DepthK is a source-to-source transformation tool that employs bounded model checking (BMC) to verify and falsify safety properties in single- and multi-threaded C programs, without manual annotation of loop invariants. Here, we describe and evaluate a proof-by-induction algorithm that combines k-induction with invariant inference to prove and refute safety properties. We apply two invariant generators to produce program invariants and feed these into a k-induction-based verification algorithm implemented in De… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
4
1
1
1

Relationship

1
6

Authors

Journals

citations
Cited by 11 publications
(3 citation statements)
references
References 51 publications
0
3
0
Order By: Relevance
“…To mitigate scalability challenges, we offer an additional feature wherein, in addition to the continuous-control algorithm's source code, designers can input range values (lower and upper bounds) for the variables used by the control algorithm. These specified intervals boost the verification process and yield counterexamples in the event of a property violation [22]. By exploring the state space that represents the operational region of the control system, we can achieve more efficient verification outcomes.…”
Section: Verifying Implementation Errors In Control Algorithmsmentioning
confidence: 99%
“…To mitigate scalability challenges, we offer an additional feature wherein, in addition to the continuous-control algorithm's source code, designers can input range values (lower and upper bounds) for the variables used by the control algorithm. These specified intervals boost the verification process and yield counterexamples in the event of a property violation [22]. By exploring the state space that represents the operational region of the control system, we can achieve more efficient verification outcomes.…”
Section: Verifying Implementation Errors In Control Algorithmsmentioning
confidence: 99%
“…A large number of techniques have been proposed in literature that use induction [47][48][49][50][51][52][53] and its pragmatically more useful version k-induction [1,[54][55][56][57][58][59][60][61][62][63][64]. These techniques generate and use loop invariants, especially when aimed at verifying safety properties of programs.…”
Section: Related Workmentioning
confidence: 99%
“…In that sense, the efficient SMT-based context-bounded model checker (ESBMC) is a good candidate. It is a state-ofthe-art (SOTA) checker, which can be extended to support different programming languages and target systems, such as digital filters and controllers, even incorporating behavior models and companion tools [8][9][10]. In addition, it was initially devised as a C-language model checker and has been evaluated using standard benchmarks and embedded applications in the telecommunication industry [11,12].…”
Section: Introductionmentioning
confidence: 99%