Model Checking Embedded C Software using k-Induction and InvariantsCitation formats

Standard

Model Checking Embedded C Software using k-Induction and Invariants. / Rocha, Herbert; Ismail, Hussama; Cordeiro, Lucas; Barreto, Raimundo.

In: Brazilian Symposium on Computing System Engineering : proceedings, 2015, p. 90-95.

Research output: Contribution to journalArticle

Harvard

Rocha, H, Ismail, H, Cordeiro, L & Barreto, R 2015, 'Model Checking Embedded C Software using k-Induction and Invariants', Brazilian Symposium on Computing System Engineering : proceedings, pp. 90-95. https://doi.org/10.1109/SBESC.2015.24

APA

Rocha, H., Ismail, H., Cordeiro, L., & Barreto, R. (2015). Model Checking Embedded C Software using k-Induction and Invariants. Brazilian Symposium on Computing System Engineering : proceedings, 90-95. https://doi.org/10.1109/SBESC.2015.24

Vancouver

Rocha H, Ismail H, Cordeiro L, Barreto R. Model Checking Embedded C Software using k-Induction and Invariants. Brazilian Symposium on Computing System Engineering : proceedings. 2015;90-95. https://doi.org/10.1109/SBESC.2015.24

Author

Rocha, Herbert ; Ismail, Hussama ; Cordeiro, Lucas ; Barreto, Raimundo. / Model Checking Embedded C Software using k-Induction and Invariants. In: Brazilian Symposium on Computing System Engineering : proceedings. 2015 ; pp. 90-95.

Bibtex

@article{74e9b1e7b57f4fd2a0f990c038531d49,
title = "Model Checking Embedded C Software using k-Induction and Invariants",
abstract = "We present a proof by induction algorithm, which combines k-induction with invariants to model check embedded C software with bounded and unbounded loops. The k-induction algorithm consists of three cases: in the base case, we aim to find a counterexample with up to k loop unwindings, in the forward condition, we check whether loops have been fully unrolled and that the safety property {\o} holds in all states reachable within k unwindings, and in the inductive step, we check that whenever {\o} holds for k unwindings, it also holds after the next unwinding of the system. For each step of the k-induction algorithm, we infer invariants using affine constraints (i.e., polyhedral) to specify pre-and post-conditions. Experimental results show that our approach can handle a wide variety of safety properties in typical embedded software applications from telecommunications, control systems, and medical devices, we demonstrate an improvement of the induction algorithm effectiveness if compared to other approaches.",
author = "Herbert Rocha and Hussama Ismail and Lucas Cordeiro and Raimundo Barreto",
year = "2015",
doi = "10.1109/SBESC.2015.24",
language = "English",
pages = "90--95",
journal = "Brazilian Symposium on Computing System Engineering : proceedings",
issn = "2324-7886",
publisher = "IEEE",

}

RIS

TY - JOUR

T1 - Model Checking Embedded C Software using k-Induction and Invariants

AU - Rocha, Herbert

AU - Ismail, Hussama

AU - Cordeiro, Lucas

AU - Barreto, Raimundo

PY - 2015

Y1 - 2015

N2 - We present a proof by induction algorithm, which combines k-induction with invariants to model check embedded C software with bounded and unbounded loops. The k-induction algorithm consists of three cases: in the base case, we aim to find a counterexample with up to k loop unwindings, in the forward condition, we check whether loops have been fully unrolled and that the safety property ø holds in all states reachable within k unwindings, and in the inductive step, we check that whenever ø holds for k unwindings, it also holds after the next unwinding of the system. For each step of the k-induction algorithm, we infer invariants using affine constraints (i.e., polyhedral) to specify pre-and post-conditions. Experimental results show that our approach can handle a wide variety of safety properties in typical embedded software applications from telecommunications, control systems, and medical devices, we demonstrate an improvement of the induction algorithm effectiveness if compared to other approaches.

AB - We present a proof by induction algorithm, which combines k-induction with invariants to model check embedded C software with bounded and unbounded loops. The k-induction algorithm consists of three cases: in the base case, we aim to find a counterexample with up to k loop unwindings, in the forward condition, we check whether loops have been fully unrolled and that the safety property ø holds in all states reachable within k unwindings, and in the inductive step, we check that whenever ø holds for k unwindings, it also holds after the next unwinding of the system. For each step of the k-induction algorithm, we infer invariants using affine constraints (i.e., polyhedral) to specify pre-and post-conditions. Experimental results show that our approach can handle a wide variety of safety properties in typical embedded software applications from telecommunications, control systems, and medical devices, we demonstrate an improvement of the induction algorithm effectiveness if compared to other approaches.

U2 - 10.1109/SBESC.2015.24

DO - 10.1109/SBESC.2015.24

M3 - Article

SP - 90

EP - 95

JO - Brazilian Symposium on Computing System Engineering : proceedings

JF - Brazilian Symposium on Computing System Engineering : proceedings

SN - 2324-7886

ER -