Decision Procedures for Flat Array Properties
- F. Alberti1,3, S. Ghilardi2, N. Sharygina1
1University of Lugano, Switzerland 2 University of Milan, Italy 3 Verimag, Grenoble, France
Decision Procedures for Flat Array Properties F. Alberti 1 , 3 , S. - - PowerPoint PPT Presentation
Decision Procedures for Flat Array Properties F. Alberti 1 , 3 , S. Ghilardi 2 , N. Sharygina 1 1 University of Lugano, Switzerland 2 University of Milan, Italy 3 Verimag, Grenoble, France SMT July 17, 2014 Talk based on the paper published at
1University of Lugano, Switzerland 2 University of Milan, Italy 3 Verimag, Grenoble, France
Decision Procedures for Flat Array Properties 1 / 21
lI lL lE τ0 τ1 τ2
lI lL lL lE τ0 τ +
1
τ2 τ2
✔ ✘
Decision Procedures for Flat Array Properties 2 / 21
lI lL lE τ0 τ1 τ2
lI lL lL lE τ0 τ +
1
τ2 τ2
✔ ✘
Decision Procedures for Flat Array Properties 2 / 21
Decision Procedures for Flat Array Properties 3 / 21
Decision Procedures for Flat Array Properties 4 / 21
Decision Procedures for Flat Array Properties 4 / 21
Decision Procedures for Flat Array Properties 5 / 21
1Deterministic flat counter automata with difference bound transition rules
Decision Procedures for Flat Array Properties 6 / 21
Decision Procedures for Flat Array Properties 7 / 21
Decision Procedures for Flat Array Properties 8 / 21
Decision Procedures for Flat Array Properties 8 / 21
Decision Procedures for Flat Array Properties 8 / 21
Decision Procedures for Flat Array Properties 9 / 21
Decision Procedures for Flat Array Properties 9 / 21
Decision Procedures for Flat Array Properties 9 / 21
Decision Procedures for Flat Array Properties 10 / 21
Decision Procedures for Flat Array Properties 10 / 21
Decision Procedures for Flat Array Properties 11 / 21
Decision Procedures for Flat Array Properties 12 / 21
Decision Procedures for Flat Array Properties 12 / 21
Decision Procedures for Flat Array Properties 13 / 21
Decision Procedures for Flat Array Properties 14 / 21
Decision Procedures for Flat Array Properties 15 / 21
Decision Procedures for Flat Array Properties 15 / 21
Decision Procedures for Flat Array Properties 16 / 21
s
Decision Procedures for Flat Array Properties 16 / 21
F2 := ∃b ∃c ∀x.
q
L(x, c) ∧
q
L(bj, c) ∧ ¯ ψ(b, c, e) ∧
s
(dm = dn → el,m = el,n)
Decision Procedures for Flat Array Properties 17 / 21
F2 := ∃b ∃c ∀x.
q
L(x, c) ∧
q
L(bj, c) ∧ ¯ ψ(b, c, e) ∧
s
(dm = dn → el,m = el,n) FI := ∃b ∃c ∀x.
q
L(x, c) ∧
q
L(bj, c) ∧ ¯ ψ(b, c) FE := ¯ ψ(e)
Decision Procedures for Flat Array Properties 17 / 21
F2 := ∃b ∃c ∀x.
q
L(x, c) ∧
q
L(bj, c) ∧ ¯ ψ(b, c, e) ∧
s
(dm = dn → el,m = el,n) FI := ∃b ∃c ∀x.
q
L(x, c) ∧
q
L(bj, c) ∧ ¯ ψ(b, c) FE := ¯ ψ(e)
Decision Procedures for Flat Array Properties 17 / 21
F2 := ∃b ∃c ∀x.
q
L(x, c) ∧
q
L(bj, c) ∧ ¯ ψ(b, c, e) ∧
s
(dm = dn → el,m = el,n) FI := ∃b ∃c ∀x.
q
L(x, c) ∧
q
L(bj, c) ∧ ¯ ψ(b, c) FE := ¯ ψ(e) SAT assignment
Decision Procedures for Flat Array Properties 17 / 21
1∗ With divisibility predicates {Dk}k≥2.
Decision Procedures for Flat Array Properties 18 / 21
FI := ∃b ∃c ∀x.
q
L(x, c) ∧
q
L(bj, c) ∧ ¯ ψ(b, c) FE := ¯ ψ(e) 1∗ With divisibility predicates {Dk}k≥2.
Decision Procedures for Flat Array Properties 18 / 21
FI := ∃b ∃c ∀x.
q
L(x, c) ∧
q
L(bj, c) ∧ ¯ ψ(b, c) FE := ¯ ψ(e)
1∗ With divisibility predicates {Dk}k≥2.
Decision Procedures for Flat Array Properties 18 / 21
FI := ∃b ∃c ∀x.
q
L(x, c) ∧
q
L(bj, c) ∧ ¯ ψ(b, c) FE := ¯ ψ(e)
1∗ With divisibility predicates {Dk}k≥2.
Decision Procedures for Flat Array Properties 18 / 21
Decision Procedures for Flat Array Properties 19 / 21
linit l1 l2 l3 lerror τ1 τ2 τ3 τ4 τ5 τE
Decision Procedures for Flat Array Properties 19 / 21
linit l1 l2 l3 lerror τ1 τ2 τ3 τ4 τ5 τE
Decision Procedures for Flat Array Properties 19 / 21
Program with assertions
Preprocessing Parsing
AST
CFG gen. Inlining
CFG
CG generation Analysis BMC Acceleration (1) SMT-solver
Proof obligations Flat Array Properties Cutpoint graph
Fixpoint Engines Interface
unknown unsafe/ safe/unsafe/unknown
Analysis of results
Result of the verification mcmt Flat.
LAWI SMT-solver mcmt Flat.
LAWI SMT-solver . . . mcmt Flat.
LAWI SMT-solver
Decision Procedures for Flat Array Properties 20 / 21
Decision Procedures for Flat Array Properties 20 / 21
Decision Procedures for Flat Array Properties 21 / 21
Decision Procedures for Flat Array Properties 21 / 21
Decision Procedures for Flat Array Properties 21 / 21
Decision Procedures for Flat Array Properties 21 / 21
Decision Procedures for Flat Array Properties 22 / 21
Decision Procedures for Flat Array Properties 23 / 21
Decision Procedures for Flat Array Properties 24 / 21