Program Analysis with Local Policy Iteration
George Karpenkov
VERIMAG
May 6, 2015
George Karpenkov Program Analysis with Local Policy Iteration 1/41
1/41
Program Analysis with Local Policy Iteration George Karpenkov - - PowerPoint PPT Presentation
Program Analysis with Local Policy Iteration George Karpenkov VERIMAG May 6, 2015 George Karpenkov Program Analysis with Local Policy Iteration 1/41 1 / 41 Outline Algorithm 2/41 Program Analysis with Local Policy Iteration George
VERIMAG
George Karpenkov Program Analysis with Local Policy Iteration 1/41
1/41
George Karpenkov Program Analysis with Local Policy Iteration 2/41
2/41
George Karpenkov Program Analysis with Local Policy Iteration 3/41
3/41
George Karpenkov Program Analysis with Local Policy Iteration 3/41
3/41
George Karpenkov Program Analysis with Local Policy Iteration 3/41
3/41
George Karpenkov Program Analysis with Local Policy Iteration 4/41
4/41
George Karpenkov Program Analysis with Local Policy Iteration 5/41
5/41
George Karpenkov Program Analysis with Local Policy Iteration 6/41
6/41
George Karpenkov Program Analysis with Local Policy Iteration 7/41
7/41
George Karpenkov Program Analysis with Local Policy Iteration 7/41
7/41
George Karpenkov Program Analysis with Local Policy Iteration 8/41
8/41
George Karpenkov Program Analysis with Local Policy Iteration 8/41
8/41
George Karpenkov Program Analysis with Local Policy Iteration 9/41
9/41
George Karpenkov Program Analysis with Local Policy Iteration 10/41
10/41
George Karpenkov Program Analysis with Local Policy Iteration 11/41
11/41
A i < 1000000 ∧ i′ = i + 1 i′ = 0
George Karpenkov Program Analysis with Local Policy Iteration 12/41
12/41
A i < 1000000 ∧ i′ = i + 1 i′ = 0
George Karpenkov Program Analysis with Local Policy Iteration 12/41
12/41
A i < 1000000 ∧ i′ = i + 1 i′ = 0
George Karpenkov Program Analysis with Local Policy Iteration 12/41
12/41
George Karpenkov Program Analysis with Local Policy Iteration 13/41
13/41
George Karpenkov Program Analysis with Local Policy Iteration 13/41
13/41
George Karpenkov Program Analysis with Local Policy Iteration 14/41
14/41
George Karpenkov Program Analysis with Local Policy Iteration 15/41
15/41
George Karpenkov Program Analysis with Local Policy Iteration 15/41
15/41
George Karpenkov Program Analysis with Local Policy Iteration 15/41
15/41
George Karpenkov Program Analysis with Local Policy Iteration 15/41
15/41
George Karpenkov Program Analysis with Local Policy Iteration 15/41
15/41
George Karpenkov Program Analysis with Local Policy Iteration 15/41
15/41
George Karpenkov Program Analysis with Local Policy Iteration 15/41
15/41
Policy improvement Value determination Exit p0 p v v converged
George Karpenkov Program Analysis with Local Policy Iteration 16/41
16/41
George Karpenkov Program Analysis with Local Policy Iteration 17/41
17/41
A B C George Karpenkov Program Analysis with Local Policy Iteration 18/41
18/41
A B C George Karpenkov Program Analysis with Local Policy Iteration 18/41
18/41
A B x′ = 1 x′ = −1 x ∈ [−1, 1] C x = 0 George Karpenkov Program Analysis with Local Policy Iteration 18/41
18/41
A B C Pre-process A C George Karpenkov Program Analysis with Local Policy Iteration 19/41
19/41
A B x′ = 1 x′ = −1 C x = 0 Pre-process A C (x′ = 1 ∨ x′ = −1) ∧ (x = 0) George Karpenkov Program Analysis with Local Policy Iteration 19/41
19/41
George Karpenkov Program Analysis with Local Policy Iteration 20/41
20/41
George Karpenkov Program Analysis with Local Policy Iteration 20/41
20/41
George Karpenkov Program Analysis with Local Policy Iteration 20/41
20/41
George Karpenkov Program Analysis with Local Policy Iteration 21/41
21/41
George Karpenkov Program Analysis with Local Policy Iteration 22/41
22/41
George Karpenkov Program Analysis with Local Policy Iteration 23/41
23/41
George Karpenkov Program Analysis with Local Policy Iteration 24/41
24/41
George Karpenkov Program Analysis with Local Policy Iteration 24/41
24/41
George Karpenkov Program Analysis with Local Policy Iteration 24/41
24/41
George Karpenkov Program Analysis with Local Policy Iteration 25/41
25/41
George Karpenkov Program Analysis with Local Policy Iteration 25/41
25/41
George Karpenkov Program Analysis with Local Policy Iteration 26/41
26/41
George Karpenkov Program Analysis with Local Policy Iteration 26/41
26/41
George Karpenkov Program Analysis with Local Policy Iteration 26/41
26/41
George Karpenkov Program Analysis with Local Policy Iteration 27/41
27/41
George Karpenkov Program Analysis with Local Policy Iteration 27/41
27/41
George Karpenkov Program Analysis with Local Policy Iteration 28/41
28/41
George Karpenkov Program Analysis with Local Policy Iteration 28/41
28/41
George Karpenkov Program Analysis with Local Policy Iteration 28/41
28/41
George Karpenkov Program Analysis with Local Policy Iteration 28/41
28/41
George Karpenkov Program Analysis with Local Policy Iteration 29/41
29/41
I A B i′ = 0 ∧ j′ = 0 i < 10 ∧ i′ = i + 1 ¬(i < 10) j < 10 ∧ j′ = j + 1
George Karpenkov Program Analysis with Local Policy Iteration 30/41
30/41
I A B i′ = 0 ∧ j′ = 0 i < 10 ∧ i′ = i + 1 ¬(i < 10) j < 10 ∧ j′ = j + 1
George Karpenkov Program Analysis with Local Policy Iteration 30/41
30/41
I A B i′ = 0 ∧ j′ = 0 i < 10 ∧ i′ = i + 1 ¬(i < 10) j < 10 ∧ j′ = j + 1
George Karpenkov Program Analysis with Local Policy Iteration 30/41
30/41
I A B i′ = 0 ∧ j′ = 0 i < 10 ∧ i′ = i + 1 ¬(i < 10) j < 10 ∧ j′ = j + 1
George Karpenkov Program Analysis with Local Policy Iteration 30/41
30/41
I A B i′ = 0 ∧ j′ = 0 i < 10 ∧ i′ = i + 1 ¬(i < 10) j < 10 ∧ j′ = j + 1
George Karpenkov Program Analysis with Local Policy Iteration 30/41
30/41
I A B i′ = 0 ∧ j′ = 0 i < 10 ∧ i′ = i + 1 ¬(i < 10) j < 10 ∧ j′ = j + 1
George Karpenkov Program Analysis with Local Policy Iteration 30/41
30/41
I A B i′ = 0 ∧ j′ = 0 i < 10 ∧ i′ = i + 1 ¬(i < 10) j < 10 ∧ j′ = j + 1
George Karpenkov Program Analysis with Local Policy Iteration 30/41
30/41
I A B i′ = 0 ∧ j′ = 0 i < 10 ∧ i′ = i + 1 ¬(i < 10) j < 10 ∧ j′ = j + 1
George Karpenkov Program Analysis with Local Policy Iteration 30/41
30/41
I A B i′ = 0 ∧ j′ = 0 i < 10 ∧ i′ = i + 1 ¬(i < 10) j < 10 ∧ j′ = j + 1
George Karpenkov Program Analysis with Local Policy Iteration 30/41
30/41
I A B i′ = 0 ∧ j′ = 0 i < 10 ∧ i′ = i + 1 ¬(i < 10) j < 10 ∧ j′ = j + 1
George Karpenkov Program Analysis with Local Policy Iteration 30/41
30/41
I A B i′ = 0 ∧ j′ = 0 i < 10 ∧ i′ = i + 1 ¬(i < 10) j < 10 ∧ j′ = j + 1
George Karpenkov Program Analysis with Local Policy Iteration 30/41
30/41
George Karpenkov Program Analysis with Local Policy Iteration 31/41
31/41
George Karpenkov Program Analysis with Local Policy Iteration 31/41
31/41
George Karpenkov Program Analysis with Local Policy Iteration 32/41
32/41
George Karpenkov Program Analysis with Local Policy Iteration 32/41
32/41
George Karpenkov Program Analysis with Local Policy Iteration 32/41
32/41
George Karpenkov Program Analysis with Local Policy Iteration 33/41
33/41
George Karpenkov Program Analysis with Local Policy Iteration 33/41
33/41
George Karpenkov Program Analysis with Local Policy Iteration 34/41
34/41
George Karpenkov Program Analysis with Local Policy Iteration 35/41
35/41
George Karpenkov Program Analysis with Local Policy Iteration 36/41
36/41
George Karpenkov Program Analysis with Local Policy Iteration 37/41
37/41
PAGAI BLAST CPAchecker Unique Verified Incorrect LPI 13 21 22 8 60 1 PAGAI 5 14 15 52 1 BLAST 4 5 7 43 1 CPAchecker 19 20 21 12 57 2
George Karpenkov Program Analysis with Local Policy Iteration 38/41
38/41
George Karpenkov Program Analysis with Local Policy Iteration 39/41
39/41
George Karpenkov Program Analysis with Local Policy Iteration 40/41
40/41
George Karpenkov Program Analysis with Local Policy Iteration 41/41
41/41
y = x
y = f(x) f1 = f(f1) f2 = f(f2) x0 f(x0) f(f(x0)) f(f(f(x0))) George Karpenkov Program Analysis with Local Policy Iteration 41/41
41/41
t t′ G(x) max t′x s.t. x ∈ G(x) max t′x s. t. x ∈ G(x) ∧ tx ≤ d tx ≤ d d George Karpenkov Program Analysis with Local Policy Iteration 41/41
41/41