2015
DOI: 10.1007/978-3-319-21690-4_4
|View full text |Cite
|
Sign up to set email alerts
|

Fairness Modulo Theory: A New Approach to LTL Software Model Checking

Abstract: The construction of a proof for unsatisfiability is less costly than the construction of a ranking function. We present a new approach to LTL software model checking (i.e., to statically analyze a program and verify a temporal property from the full class of LTL including general liveness properties) which aims at exploiting this fact. The idea is to select finite prefixes of a path and check these for infeasibility before considering the full infinite path. We have implemented a tool which demonstrates the pr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

0
23
0

Year Published

2016
2016
2023
2023

Publication Types

Select...
6
2

Relationship

1
7

Authors

Journals

citations
Cited by 31 publications
(23 citation statements)
references
References 51 publications
(68 reference statements)
0
23
0
Order By: Relevance
“…In recent years, techniques have emerged for proving temporal properties of imperative programs (or automata derived therefrom) [4,[12][13][14]17]. While there is some similarity (i.e.…”
Section: Recoverability and Storage Systemsmentioning
confidence: 99%
“…In recent years, techniques have emerged for proving temporal properties of imperative programs (or automata derived therefrom) [4,[12][13][14]17]. While there is some similarity (i.e.…”
Section: Recoverability and Storage Systemsmentioning
confidence: 99%
“…In recent years, verifying software systems at code level has attracted more attentions [7,8,9,10,11,12]. Tools like, SLAM [13], BLAST [14], CPAChecker [15] and CBMC [16], support only safety property verification.…”
Section: Introductionmentioning
confidence: 99%
“…=⇒ α ptr(b, j1) ∼ ptr(b , j1) ∧ α v2 ∼ n2 Definition 2, 3, 4, (1, 2, 7) (9) =⇒ α ptr(b, j1) ∼ ptr(b , j1) ∧ v2 = n2 v2 and n2 are both non-pointer values, (8) (10) =⇒ α ptr(b, j1 + v2 * sizeof (τ )) ∼ ptr(b, j 1 + n2 * sizeof (τ )) Lemma 1, (9) (11) =⇒ α ptr(b, j) ∼ ptr(b , j ) (4, 6, 10) (12) ⇐⇒ α e1 aop e2 ∼r ra1 aop ra2 Definition 3, (11) (13) =⇒ α e1 aop e2 ∼e ra1 aop ra2 Definition 4, (12) Case 3: both e 2 and ra 2 are of pointer type τ * while both e 1 and ra 1 are of integer type. The proof is similar to Case 2.…”
mentioning
confidence: 99%
See 1 more Smart Citation
“…Instead, they are used as a finite representation of an infinite path in a control flow graph. For example, in (potentially spurious) counterexamples in termination analysis [14,6,19,22,23,29,30,20], stability analysis [10,31], cost analysis [1,17], or the verification of temporal properties [13,12,16] (c) Fig. 1: Three nonterminating linear lasso programs.…”
Section: Introductionmentioning
confidence: 99%