Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow...
Transcript of Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow...
![Page 1: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/1.jpg)
Acceleration in Convex Data-Flow Analysis
Jérôme Leroux and Grégoire Sutre
LaBRI, Université de Bordeaux, CNRS, France
Conference on Foundations of Software Technology andTheoretical Computer Science, 2007
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 1 / 25
![Page 2: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/2.jpg)
Motivations
Invariants for VerificationVerification of safety properties
Efficient computation of precise enough invariants
Data-flow analysis, abstract interpretation
Widenings/narrowings: successful approach, but might lead toinvariants to coarse for verification
Our ObjectiveComputation of the exact solution to data-flow analysis problems
Meet Over all Paths
Minimum Fix Point
Acceleration-based techniques
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 2 / 25
![Page 3: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/3.jpg)
Motivations
Invariants for VerificationVerification of safety properties
Efficient computation of precise enough invariants
Data-flow analysis, abstract interpretation
Widenings/narrowings: successful approach, but might lead toinvariants to coarse for verification
Our ObjectiveComputation of the exact solution to data-flow analysis problems
Meet Over all Paths
Minimum Fix Point
Acceleration-based techniques
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 2 / 25
![Page 4: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/4.jpg)
Outline
1 Introduction
2 Convex Data Flow Analysis of Guarded Translation Systems
3 Acceleration for Self-Loops
4 Acceleration for Cycles
5 Conclusion
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 3 / 25
![Page 5: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/5.jpg)
Guarded Translation Systems (Syntax)
We focus on topologically closed convex subsets of Rn
{~x | A~x ≤ ~b} is called a{
(real) polyhedron when A ∈ Rn×m
rational polyhedron when A ∈ Qn×m
guarded commands of the form if ~x ∈ G then ~x := ~x + ~d
DefinitionAn n-dim guarded translation system (GTS) is any pair S = (X , T )where:
X is a finite set of variables
T is a finite set of transitions of the form XG,~d−−→ X ′
Transition XG,~d−−→ X ′ represents the assignment X ′ := (X ∩G) + ~d
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 4 / 25
![Page 6: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/6.jpg)
Guarded Translation Systems (Syntax)
We focus on topologically closed convex subsets of Rn
{~x | A~x ≤ ~b} is called a{
(real) polyhedron when A ∈ Rn×m
rational polyhedron when A ∈ Qn×m
guarded commands of the form if ~x ∈ G then ~x := ~x + ~d
DefinitionAn n-dim guarded translation system (GTS) is any pair S = (X , T )where:
X is a finite set of variables
T is a finite set of transitions of the form XG,~d−−→ X ′
Transition XG,~d−−→ X ′ represents the assignment X ′ := (X ∩G) + ~d
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 4 / 25
![Page 7: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/7.jpg)
Guarded Translation Systems (Semantics)
DefinitionAn n-dim guarded translation system (GTS) is any pair S = (X , T )where:
X is a finite set of variables
T is a finite set of transitions of the form XG,~d−−→ X ′
Valuation: function ρ from X to closed convex subsets of Rn
Semantics JtK of transition t = XG,~d−−→ X ′ defined by:
(JtK(ρ))(Y ) =
{
(ρ(X ) ∩G) + ~d if Y = X ′
ρ(Y ) if Y 6= X ′
An n-dim initialized GTS (IGTS) is any triple S = (X , T , ρ0)
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 5 / 25
![Page 8: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/8.jpg)
Example
IGTS
XG, ~d
X = {X}
T = {X G,~d−−→ X} with
{
G = R2+
~d = (−1, 1)
ρ0 = {X 7→ 1× [−1, 1]}
Semantics
-2 -1 0 1 2-1
0
1
2
3
ρ1 = JtK (ρ0)ρ2 = JtK (ρ1)ρ3 = JtK (ρ2) = {X 7→ ∅}
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 6 / 25
![Page 9: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/9.jpg)
Convex Data-Flow Analysis
We consider the complete lattice of convex closed subsets of Rn.partial order is set inclusion ⊆greatest lower bound is set intersection ∩least upper bound ⊔ is set union followed by closed convex hull
Extended to valuations
Minimum Fix-Point (MFP) SolutionMFP(S) =
⋂ {ρ : valuation | ρ0 ⊆ ρ and JtK(ρ) ⊆ ρ for all t ∈ T}
MFP(S) is the least fix-point of τ(ρ) = ρ0 ⊔⊔
t∈T
JtK(ρ).
Kleene fix-point iteration:⊔
i∈N τ i(⊥) ⊆ MFP(S)
Meet Over all Paths (MOP) SolutionMOP(S) =
⊔ {Jt1K ◦ · · · ◦ JtkK(ρ0) | t1 · · · tk ∈ T ∗ is a path}Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 7 / 25
![Page 10: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/10.jpg)
Convex Data-Flow Analysis
We consider the complete lattice of convex closed subsets of Rn.partial order is set inclusion ⊆greatest lower bound is set intersection ∩least upper bound ⊔ is set union followed by closed convex hull
Extended to valuations
Minimum Fix-Point (MFP) SolutionMFP(S) =
⋂ {ρ : valuation | ρ0 ⊆ ρ and JtK(ρ) ⊆ ρ for all t ∈ T}
MFP(S) is the least fix-point of τ(ρ) = ρ0 ⊔⊔
t∈T
JtK(ρ).
Kleene fix-point iteration:⊔
i∈N τ i(⊥) ⊆ MFP(S)
Meet Over all Paths (MOP) SolutionMOP(S) =
⊔ {Jt1K ◦ · · · ◦ JtkK(ρ0) | t1 · · · tk ∈ T ∗ is a path}Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 7 / 25
![Page 11: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/11.jpg)
Convex Data-Flow Analysis
We consider the complete lattice of convex closed subsets of Rn.partial order is set inclusion ⊆greatest lower bound is set intersection ∩least upper bound ⊔ is set union followed by closed convex hull
Extended to valuations
Minimum Fix-Point (MFP) SolutionMFP(S) =
⋂ {ρ : valuation | ρ0 ⊆ ρ and JtK(ρ) ⊆ ρ for all t ∈ T}
MFP(S) is the least fix-point of τ(ρ) = ρ0 ⊔⊔
t∈T
JtK(ρ).
Kleene fix-point iteration:⊔
i∈N τ i(⊥) ⊆ MFP(S)
Meet Over all Paths (MOP) SolutionMOP(S) =
⊔ {Jt1K ◦ · · · ◦ JtkK(ρ0) | t1 · · · tk ∈ T ∗ is a path}Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 7 / 25
![Page 12: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/12.jpg)
Example
MOP Solution
-2 -1 0 1 2-1
0
1
2
3
ρ1 = JtK (ρ0)ρ2 = JtK (ρ1)ρ3 = JtK (ρ2) = {X 7→ ∅}
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 8 / 25
![Page 13: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/13.jpg)
Example
MOP Solution
-2 -1 0 1 2-1
0
1
2
3
ρ1 = JtK (ρ0)ρ2 = JtK (ρ1)ρ3 = JtK (ρ2) = {X 7→ ∅}
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 8 / 25
![Page 14: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/14.jpg)
Example
MOP Solution
-2 -1 0 1 2-1
0
1
2
3
ρ1 = JtK (ρ0)ρ2 = JtK (ρ1)ρ3 = JtK (ρ2) = {X 7→ ∅}
MFP Solution
-2 -1 0 1 2-1
0
1
2
3
τ1(⊥) = ρ0
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 8 / 25
![Page 15: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/15.jpg)
Example
MOP Solution
-2 -1 0 1 2-1
0
1
2
3
ρ1 = JtK (ρ0)ρ2 = JtK (ρ1)ρ3 = JtK (ρ2) = {X 7→ ∅}
MFP Solution
-2 -1 0 1 2-1
0
1
2
3
τ1(⊥) = ρ0
τ2(⊥) = ρ0 ⊔ JtK(τ1(⊥))
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 8 / 25
![Page 16: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/16.jpg)
Example
MOP Solution
-2 -1 0 1 2-1
0
1
2
3
ρ1 = JtK (ρ0)ρ2 = JtK (ρ1)ρ3 = JtK (ρ2) = {X 7→ ∅}
MFP Solution
-2 -1 0 1 2-1
0
1
2
3
τ1(⊥) = ρ0
τ2(⊥) = ρ0 ⊔ JtK(τ1(⊥))
τ i(⊥) = ρ0 ⊔ JtK(τ i−1(⊥))
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 8 / 25
![Page 17: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/17.jpg)
Example
MOP Solution
-2 -1 0 1 2-1
0
1
2
3
ρ1 = JtK (ρ0)ρ2 = JtK (ρ1)ρ3 = JtK (ρ2) = {X 7→ ∅}
MFP Solution
-2 -1 0 1 2-1
0
1
2
3
τ1(⊥) = ρ0
τ2(⊥) = ρ0 ⊔ JtK(τ1(⊥))
τ i(⊥) = ρ0 ⊔ JtK(τ i−1(⊥))
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 8 / 25
![Page 18: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/18.jpg)
Example
MOP Solution
-2 -1 0 1 2-1
0
1
2
3
ρ1 = JtK (ρ0)ρ2 = JtK (ρ1)ρ3 = JtK (ρ2) = {X 7→ ∅}
MFP Solution
-2 -1 0 1 2-1
0
1
2
3
τ1(⊥) = ρ0
τ2(⊥) = ρ0 ⊔ JtK(τ1(⊥))
τ i(⊥) = ρ0 ⊔ JtK(τ i−1(⊥))
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 8 / 25
![Page 19: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/19.jpg)
Example
MOP Solution
-2 -1 0 1 2-1
0
1
2
3
ρ1 = JtK (ρ0)ρ2 = JtK (ρ1)ρ3 = JtK (ρ2) = {X 7→ ∅}
MFP Solution
-2 -1 0 1 2-1
0
1
2
3
RemarkKleene fix-point iterationdoes not stabilize
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 8 / 25
![Page 20: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/20.jpg)
Acceleration in Data-Flow Analysis [L. & S., SAS’07]
ObjectivesSpeed up Kleene fix-point iteration
Don’t loose precision
Minimum Fix-Point Computation with Acceleration
1 do ρ← ρ ⊔ JtK(ρ) for some transition t = XG,~d−−→ X ′
2 or select a cycle in S and:
1 let S′ denote the cyclic sub-IGTS, initialized with ρ (restricted to X ′)
2 ρ← ρ ⊔MFP(S′) (or ρ← ρ ⊔MOP(S′))
Acceleration ProblemCompute the MOP/MFP solution for cyclic IGTS
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 9 / 25
![Page 21: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/21.jpg)
Acceleration in Data-Flow Analysis [L. & S., SAS’07]
ObjectivesSpeed up Kleene fix-point iteration
Don’t loose precision
Minimum Fix-Point Computation with Acceleration
1 do ρ← ρ ⊔ JtK(ρ) for some transition t = XG,~d−−→ X ′
2 or select a cycle in S and:
1 let S′ denote the cyclic sub-IGTS, initialized with ρ (restricted to X ′)
2 ρ← ρ ⊔MFP(S′) (or ρ← ρ ⊔MOP(S′))
Acceleration ProblemCompute the MOP/MFP solution for cyclic IGTS
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 9 / 25
![Page 22: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/22.jpg)
Acceleration in Data-Flow Analysis [L. & S., SAS’07]
ObjectivesSpeed up Kleene fix-point iteration
Don’t loose precision
Minimum Fix-Point Computation with Acceleration
1 do ρ← ρ ⊔ JtK(ρ) for some transition t = XG,~d−−→ X ′
2 or select a cycle in S and:
1 let S′ denote the cyclic sub-IGTS, initialized with ρ (restricted to X ′)
2 ρ← ρ ⊔MFP(S′) (or ρ← ρ ⊔MOP(S′))
Acceleration ProblemCompute the MOP/MFP solution for cyclic IGTS
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 9 / 25
![Page 23: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/23.jpg)
Outline
1 Introduction
2 Convex Data Flow Analysis of Guarded Translation Systems
3 Acceleration for Self-Loops
4 Acceleration for Cycles
5 Conclusion
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 10 / 25
![Page 24: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/24.jpg)
MFP Solution for Self-Loop IGTS
Theorem
For any n-dim self-loop IGTS ({X}, {X G,~d−−→ X}, ρ0), the MFP solutionis the valuation:
X 7→{
ρ0(X ) if G ∩ ρ0(X ) = ∅ρ0(X ) ⊔ ((G ∩ (ρ0(X ) + R+
~d)) + ~d) otherwise
Proof Ideas
⊆ The given expression is a post-fix-point ofs
XG,~d−−→ X
{.
⊇ Proof by contradiction, using topological and convexity properties
of both the guard and MFP solution.
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 11 / 25
![Page 25: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/25.jpg)
Comparison with Standard Widening on Polyhedra[Cousot & Halbwachs, POPL’78]
IGTS
X
R2+, (−1, 1)
ρ0 = {X 7→ 1× [−1, 1]}
Application of widening
Coarser than the MFPSolution!
Iteration with Widening
-2 -1 0 1 2-1
0
1
2
3
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 12 / 25
![Page 26: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/26.jpg)
Comparison with Standard Widening on Polyhedra[Cousot & Halbwachs, POPL’78]
IGTS
X
R2+, (−1, 1)
ρ0 = {X 7→ 1× [−1, 1]}
Application of widening
Coarser than the MFPSolution!
Iteration with Widening
-2 -1 0 1 2-1
0
1
2
3
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 12 / 25
![Page 27: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/27.jpg)
Comparison with Standard Widening on Polyhedra[Cousot & Halbwachs, POPL’78]
IGTS
X
R2+, (−1, 1)
ρ0 = {X 7→ 1× [−1, 1]}
Application of widening
Coarser than the MFPSolution!
Iteration with Widening
-2 -1 0 1 2-1
0
1
2
3
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 12 / 25
![Page 28: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/28.jpg)
Comparison with Standard Widening on Polyhedra[Cousot & Halbwachs, POPL’78]
IGTS
X
R2+, (−1, 1)
ρ0 = {X 7→ 1× [−1, 1]}
Application of widening
Coarser than the MFPSolution!
Iteration with Widening
-2 -1 0 1 2-1
0
1
2
3
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 12 / 25
![Page 29: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/29.jpg)
Comparison with Standard Widening on Polyhedra[Cousot & Halbwachs, POPL’78]
IGTS
X
R2+, (−1, 1)
ρ0 = {X 7→ 1× [−1, 1]}
Application of widening
Coarser than the MFPSolution!
Iteration with Widening
-2 -1 0 1 2-1
0
1
2
3
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 12 / 25
![Page 30: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/30.jpg)
Comparison with Standard Widening on Polyhedra[Cousot & Halbwachs, POPL’78]
IGTS
X
R2+, (−1, 1)
ρ0 = {X 7→ 1× [−1, 1]}
Application of widening
Coarser than the MFPSolution!
Iteration with Widening
-2 -1 0 1 2-1
0
1
2
3
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 12 / 25
![Page 31: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/31.jpg)
Comparison with Polyhedral Abstract Acceleration[Gonnord & Halbwachs, SAS’06]
Consider an IGTS S =
({X}, {X G,~d−−→ X}, ρ0)
Abstract AccelerationAbAc(S) = ρ0(X ) ⊔MFP(S′)where S
′ is equal to S excepton its initial valuation:ρ′0(X ) = G ∩ ρ0(X ).
Iteration with Abs. Acc.
-2 -1 0 1 2-1
0
1
2
3
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 13 / 25
![Page 32: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/32.jpg)
Comparison with Polyhedral Abstract Acceleration[Gonnord & Halbwachs, SAS’06]
Consider an IGTS S =
({X}, {X G,~d−−→ X}, ρ0)
Abstract AccelerationAbAc(S) = ρ0(X ) ⊔MFP(S′)where S
′ is equal to S excepton its initial valuation:ρ′0(X ) = G ∩ ρ0(X ).
Iteration with Abs. Acc.
-2 -1 0 1 2-1
0
1
2
3
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 13 / 25
![Page 33: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/33.jpg)
Comparison with Polyhedral Abstract Acceleration[Gonnord & Halbwachs, SAS’06]
Consider an IGTS S =
({X}, {X G,~d−−→ X}, ρ0)
Abstract AccelerationAbAc(S) = ρ0(X ) ⊔MFP(S′)where S
′ is equal to S excepton its initial valuation:ρ′0(X ) = G ∩ ρ0(X ).
Iteration with Abs. Acc.
-2 -1 0 1 2-1
0
1
2
3
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 13 / 25
![Page 34: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/34.jpg)
Comparison with Polyhedral Abstract Acceleration[Gonnord & Halbwachs, SAS’06]
Consider an IGTS S =
({X}, {X G,~d−−→ X}, ρ0)
Abstract AccelerationAbAc(S) = ρ0(X ) ⊔MFP(S′)where S
′ is equal to S excepton its initial valuation:ρ′0(X ) = G ∩ ρ0(X ).
RemarkIteration does not terminate!
Iteration with Abs. Acc.
-2 -1 0 1 2-1
0
1
2
3
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 13 / 25
![Page 35: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/35.jpg)
Outline
1 Introduction
2 Convex Data Flow Analysis of Guarded Translation Systems
3 Acceleration for Self-Loops
4 Acceleration for Cycles
5 Conclusion
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 14 / 25
![Page 36: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/36.jpg)
2-dim Example
GTS
X1 X2
X3X4
G1, ~0
G2, ~0
G3, ~0
G4, ~0
G1 = ]−∞,−1]× [1,+∞[G2 = [1,+∞[× [1,+∞[G3 = [1,+∞[× ]−∞,−1]G4 = ]−∞,−1]× ]−∞,−1]
Initial Valuation
b
bb
b
X1 7→ {(−2, 2)}X2 7→ {(2, 2)}X3 7→ {(2,−2)}X4 7→ {(−2,−2)}
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 15 / 25
![Page 37: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/37.jpg)
Kleene iteration on 2-dim Example
X1 X2
X3X4
b
bb
b
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 16 / 25
![Page 38: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/38.jpg)
Kleene iteration on 2-dim Example
X1 X2
X3X4
b
bb
b
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 16 / 25
![Page 39: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/39.jpg)
Kleene iteration on 2-dim Example
X1 X2
X3X4
b
bb
b
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 16 / 25
![Page 40: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/40.jpg)
Kleene iteration on 2-dim Example
X1 X2
X3X4
4
1
h1 =14
b
bb
b
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 16 / 25
![Page 41: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/41.jpg)
Kleene iteration on 2-dim Example
X1 X2
X3X4
4
1
h2 =415
b
bb
b
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 16 / 25
![Page 42: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/42.jpg)
Kleene iteration on 2-dim Example
X1 X2
X3X4
4
1
h3 =1556
b
bb
b
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 16 / 25
![Page 43: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/43.jpg)
MFP Solution for 2-dim Example
hk+1 =1
4− hk
3
1
1
hkb
bb
b
(hk )k∈N is nondecreasing, and limk→∞
hk = 2−√
3
RemarkThe MFP solution of this 2-dim cyclic IGTS is not rational polyhedral
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 17 / 25
![Page 44: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/44.jpg)
MFP Solution for 2-dim Example
hk+1 =1
4− hk
3
1
1
hkb
bb
b
(hk )k∈N is nondecreasing, and limk→∞
hk = 2−√
3
RemarkThe MFP solution of this 2-dim cyclic IGTS is not rational polyhedral
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 17 / 25
![Page 45: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/45.jpg)
MFP Solution for 2-dim Example
hk+1 =1
4− hk
3
1
1
hkb
bb
b
(hk )k∈N is nondecreasing, and limk→∞
hk = 2−√
3
RemarkThe MFP solution of this 2-dim cyclic IGTS is not rational polyhedral
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 17 / 25
![Page 46: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/46.jpg)
MFP Solution for 2-dim Example
hk+1 =1
4− hk
3
1
1
hkb
bb
b
(hk )k∈N is nondecreasing, and limk→∞
hk = 2−√
3
RemarkThe MFP solution of this 2-dim cyclic IGTS is not rational polyhedral
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 17 / 25
![Page 47: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/47.jpg)
3-dim Example
GTS
X1 X2
X3X4
G1, ~e3
G2, ~e3
G3, ~e3
G4, ~e3
G1 = R− × R+ × RG2 = R+ × R+ × RG3 = R+ × R− × RG4 = R− × R− × R
Initial Valuation
b
bb
b
X1 7→ {(−1, 1)} × R+
X2 7→ {(1, 1)} × R+
X3 7→ {(1,−1)} × R+
X4 7→ {(−1,−1)} × R+
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 18 / 25
![Page 48: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/48.jpg)
Kleene iteration on 3-dim Example
b
bb
b
RemarkThe MFP solution of this 3-dim cyclic IGTS is not polyhedral
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 19 / 25
![Page 49: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/49.jpg)
Kleene iteration on 3-dim Example
b
bb
b
RemarkThe MFP solution of this 3-dim cyclic IGTS is not polyhedral
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 19 / 25
![Page 50: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/50.jpg)
Kleene iteration on 3-dim Example
e1
e3b
b
bb
b
RemarkThe MFP solution of this 3-dim cyclic IGTS is not polyhedral
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 19 / 25
![Page 51: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/51.jpg)
Kleene iteration on 3-dim Example
e1
e3b
b
b
bb
b
RemarkThe MFP solution of this 3-dim cyclic IGTS is not polyhedral
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 19 / 25
![Page 52: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/52.jpg)
Kleene iteration on 3-dim Example
e1
e3b
b
b
b
bb
b
RemarkThe MFP solution of this 3-dim cyclic IGTS is not polyhedral
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 19 / 25
![Page 53: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/53.jpg)
Kleene iteration on 3-dim Example
e1
e3b
b
b
b
b
bb
b
RemarkThe MFP solution of this 3-dim cyclic IGTS is not polyhedral
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 19 / 25
![Page 54: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/54.jpg)
Kleene iteration on 3-dim Example
e1
e3b
b
b
b
b
b
b
b
bb
b
RemarkThe MFP solution of this 3-dim cyclic IGTS is not polyhedral
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 19 / 25
![Page 55: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/55.jpg)
Kleene iteration on 3-dim Example
e1
e3b
b
b
b
b
b
b
b
bb
b
RemarkThe MFP solution of this 3-dim cyclic IGTS is not polyhedral
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 19 / 25
![Page 56: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/56.jpg)
Acceleration Results for Cycles
2-dim cyclic example with a real (non rational) polyhedral MFPsolution
3-dim cyclic example with a non-polyhedral MFP solution
QuestionIs the MFP polyhedral for all 2-dim cyclic IGTS?
TheoremThe MFP solution of any 2-dim IGTS is an algebraic polyhedron.
An algebraic number is any real number definable in 〈R,+, ·,≤〉Algebraic polyhedrality is required even for cyclic 2-dim IGTS
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 20 / 25
![Page 57: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/57.jpg)
Acceleration Results for Cycles
2-dim cyclic example with a real (non rational) polyhedral MFPsolution
3-dim cyclic example with a non-polyhedral MFP solution
QuestionIs the MFP polyhedral for all 2-dim cyclic IGTS?
TheoremThe MFP solution of any 2-dim IGTS is an algebraic polyhedron.
An algebraic number is any real number definable in 〈R,+, ·,≤〉Algebraic polyhedrality is required even for cyclic 2-dim IGTS
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 20 / 25
![Page 58: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/58.jpg)
Acceleration Results for Cycles
2-dim cyclic example with a real (non rational) polyhedral MFPsolution
3-dim cyclic example with a non-polyhedral MFP solution
QuestionIs the MFP polyhedral for all 2-dim cyclic IGTS?
TheoremThe MFP solution of any 2-dim IGTS is an algebraic polyhedron.
An algebraic number is any real number definable in 〈R,+, ·,≤〉Algebraic polyhedrality is required even for cyclic 2-dim IGTS
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 20 / 25
![Page 59: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/59.jpg)
Proof (1)
MFP Solution Expression
MFP(X ) =⊔
X0∈X
t1···tk∈LX0,X
Jt1K ◦ · · · ◦ JtkK (∆(X0)) + 0+ MFP(X )
where:
∆(X ) = ρ0(X ) ⊔⊔
XG,~d−−→X ′
bd (G) ∩MFP(X )
bd (G) is the topological boundary of G
LX0,X is the set of simple paths from X0 to X
0+C = {~d | C + R+~d ⊆ C}
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 21 / 25
![Page 60: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/60.jpg)
Proof (2)
Observe that 0+ MFP(X ) is a cone in dimension 2.
0+ MFP(X )
There exists ~d1, ~d2, ~d3 ∈ R2 such that:0+ MFP(X ) = R+
~d1 + R+~d1 + R+
~d1
Reduce to the case G is an half-space.=⇒ bd (G) is a line.
bd (G) ∩MFP(X )
There exists two half-spaces H1, H2 such that:bd (G) ∩MFP(X ) = bd (G) ∩ H1 ∩ H2
Therefore the MFP solution is definable by a formula in 〈R,+, ·,≤〉.
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 22 / 25
![Page 61: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/61.jpg)
Outline
1 Introduction
2 Convex Data Flow Analysis of Guarded Translation Systems
3 Acceleration for Self-Loops
4 Acceleration for Cycles
5 Conclusion
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 23 / 25
![Page 62: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/62.jpg)
Summary
Guarded Translation SystemsSelf-loops Cyclic General
MOP n ≥ 1 Rational Poly. Rational Poly. Not Polyhedral
1 Rational Poly. Rational Poly. Rational Poly.MFP 2 Rational Poly. Algebraic Poly. Algebraic Poly.
n ≥ 3 Rational Poly. Not Polyhedral Not Polyhedral
Polyhedra are computable for Rational Poly. and Algebraic Poly.
Results on self-loops carry over to singly initialized cycles
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 24 / 25
![Page 63: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/63.jpg)
Related Work & Future Work
Related WorkInterval analysis [Su & Wagner, TACAS’04], [Seidl & Gawlitza,ESOP’07], [L. & S., SAS’07]Abstract acceleration for convex polyhedra [Gonnord &Halbwachs, SAS’06]
Acceleration technique for two self-loops, operations include resetIncomplete for single self-loops
Future WorkMultiple self-loopsOther abstract lattices
octogons [Miné, AST’01]templates [Sankaranarayanan et al., VMCAI’05]two variables per linear inequality [Simon et al., LOPSTR’02]
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 25 / 25
![Page 64: Acceleration in Convex Data-Flow Analysis - LaBRI2007:... · Acceleration in Convex Data-Flow Analysis ... Computation of the exact solution to data-flow analysis problems ... Acceleration](https://reader034.fdocuments.us/reader034/viewer/2022051507/5a7883b07f8b9a8c428c9601/html5/thumbnails/64.jpg)
Related Work & Future Work
Related WorkInterval analysis [Su & Wagner, TACAS’04], [Seidl & Gawlitza,ESOP’07], [L. & S., SAS’07]Abstract acceleration for convex polyhedra [Gonnord &Halbwachs, SAS’06]
Acceleration technique for two self-loops, operations include resetIncomplete for single self-loops
Future WorkMultiple self-loopsOther abstract lattices
octogons [Miné, AST’01]templates [Sankaranarayanan et al., VMCAI’05]two variables per linear inequality [Simon et al., LOPSTR’02]
Leroux, Sutre (LaBRI) Acceleration in Convex Data-Flow Analysis FST TCS 2007 25 / 25