Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with...
Transcript of Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with...
![Page 1: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/1.jpg)
Static Analysis of Programs with Probabilities
Sriram SankaranarayananUniversity of Colorado, Boulder, USA.
![Page 2: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/2.jpg)
Joint Work
Aleksandar ChakarovUniv. Colorado, Bouldernow at Phase Change
Olivier BouissouCEA, now at Mathworks
Eric GoubaultEcole Polytechnique
Sylvie PutotEcole Polytechnique
Yuen-Lam VoroninUniv. Colorado, Boulder
![Page 3: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/3.jpg)
What is this talk about?
VERSUS
StochasticRandomized
DemonicWorst-Case
![Page 4: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/4.jpg)
Programs with Probabilities
angles = [10, 60, 110, 160, 140, ...100, 60, 20, 10, 0]
x := TruncGaussian(0,0.05,-0.5,0.5) y := TruncGaussian(0, 0.1,-0.5,0.5)for reps in range(0,100):
for theta in angles: # Distance travelled variation d = Uniform(0.98,1.02) # Steering angle variation t = deg2rad(theta) * (1 + ...
TruncGaussian(0,0.01,-0.05,0.05)) # Move distance d with angle t x = x + d * cos(t) y = y + d * sin(t)
#Probability that we went too far?assert(x >= 272)
Probabilistic Statements
Probability Estimate
![Page 5: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/5.jpg)
Example #1: Coin Toss
Heads à Gain one dollar
Tails à Lose one dollar
Repeat 1000 times.
fortune := 1000repeat(1000)
if flip(0.5):fortune := fortune +1
else:fortune := fortune -1
assert fortune >= 0
![Page 6: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/6.jpg)
Example #2: Vehicle on a roady = 0, theta = 0, x = 0repeat(1000)
x := x + 0.1 * cos(theta)y := y + 0.1 * sin(theta)theta := 0.8 * theta + Normal(0, 0.1)
assert (y <= 5.0)
![Page 7: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/7.jpg)
Example #3: Repetitive Robot
Sawyer Robotic Arm(rethink robotics)
Small errors at each step.
Repeat this 100 times.
Probability of going out of
bounds?
angles = [10, 60, 110, 160, 140, ...100, 60, 20, 10, 0]
x := TruncGaussian(0,0.05,-0.5,0.5) y := TruncGaussian(0, 0.1,-0.5,0.5)for reps in range(0,100):
for theta in angles: # Distance travelled variation d = Uniform(0.98,1.02) # Steering angle variation t = deg2rad(theta) * (1 + ...
TruncGaussian(0,0.01,-0.05,0.05)) # Move distance d with angle t x = x + d * cos(t) y = y + d * sin(t)
#Probability that we went too far?assert(x >= 272)
![Page 8: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/8.jpg)
Repetitive Robot
angles = [10, 60, 110, 160, 140, ...100, 60, 20, 10, 0]
x := TruncGaussian(0,0.05,-0.5,0.5) y := TruncGaussian(0, 0.1,-0.5,0.5)for reps in range(0,100):
for theta in angles: # Distance travelled variation d = Uniform(0.98,1.02) # Steering angle variation t = deg2rad(theta) * (1 + ...
TruncGaussian(0,0.01,-0.05,0.05)) # Move distance d with angle t x = x + d * cos(t) y = y + d * sin(t)
#Probability that we went too far?assert(x >= 272)
Scatter Plot 10^5 Simulations
![Page 9: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/9.jpg)
Systems Acting Under Disturbances
SystemExternal Disturbances
Output
PropertyYes
No
“Classic” Formal Verification.“Set-Valued” Robust Control.
Stochastic VerificationReliabilityStochastic ControlsUncertainty QuantificationAI
![Page 10: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/10.jpg)
Reasoning about Uncertainty
ProbabilisticProgram
RandomInputs
DemonicInputs
Output Property
Probability of Success?
Probability of Failure?
Estimating the probabilities vs. Proving bounds on probabilities.
Rare Event≤10-6 ?
![Page 11: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/11.jpg)
Static Analysis of Probabilities
![Page 12: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/12.jpg)
Semantics
real x,y,z;initially x is Normal(0,1),
y is Uniform(-1,1);initially z is Uniform(0,10);while (true)
if (z <= 10)x := x +1 + 2*Normal(0,1);y := y – 2 + Uniform(-1,1);z := z + 1;
else x := x +1;y := y – 2;z := z -1;
Markov Process
is a
NONDET (0,1)
Complicated SemanticsSkip for this talk
![Page 13: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/13.jpg)
Sample Path Semantics
“Sample path” semantics.
real x,y,z;initially x is Normal(0,1),
y is Uniform(-1,1);initially z is Uniform(0,10);while (true)
if (z <= 10)x := x -1 + 2*Normal(0,1);y := y – 2 + Uniform(-1,1);z := z + 1;
else x := x +1;y := y – 2;z := z -1;
# Steps
# Steps
[Kozen’1981]
![Page 14: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/14.jpg)
real x,y,z;initially x is Normal(0,1),
y is Uniform(-1,1);initially z is Uniform(0,10);while (true)
if (z <= 10)x := x -1 + 2*Normal(0,1);y := y – 2 + Uniform(-1,1);z := z + 1;
else x := x +1;y := y – 2;z := z -1;
Distribution Transformer Semantics [Kozen’1981]
![Page 15: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/15.jpg)
Comparison with “Classical” Programs
“Classical” Programs Probabilistic Programs
State (x:10, y:25, z:15) Distributions x: N(0,1), y: U(-1,1), z: Poisson(5)
Sets of States Sets of Distributions
Abstract Domains Probabilistic Abstract Domains
![Page 16: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/16.jpg)
Reachable Set of Distributions
real x, y;real z;initially x is Normal(0,1),
y is Uniform(-1,1);initially z is Uniform(0,10);while (true)
if (z <= 10)x := x -1 + 2*Normal(0,1);y := y – 2 + Uniform(-1,1);z := z + 1;
else x := x +1;y := y – 2;z := z -1;
![Page 17: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/17.jpg)
Probabilistic Abstract Interpretation[Monniaux, Cousot+Monerau, Mardziel+ Hicks, Bouissou+Goubault+Putot,S+Chakarov+Gulwani, …]
ProbabilisticAbstract
Interpreter
Abstraction of Initial Distribution
Program
Abstraction of reachable distributions
Probability of x <= 135? [0.956, 0.989]
How to:1. Systematically abstract distributions?2. Propagate abstract distributions through programs?3. Answer queries on the results?
![Page 18: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/18.jpg)
Approach #1: Discretization
Partition domain into cells. Associate range of probability with each cell.
[Monniaux, Mardziel+Hicks,Cousot+Monerau]
Systematically abstract distributions?
Propagate abstract distributions through programs?
Use Standard Forwards/Backwards
Abstract Interpretation(with modifications)
Answer queries on the results?
“Discrete” IntegrationVolume Computation (expensive)
![Page 19: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/19.jpg)
Discretization
• Tradeoff: precise bounds vs number of cells.
• Off-the-shelf use of abstract interpretation tools.
• Conceptually easy to handle nondeterminism + stochastic choices.
Ø Does not scale to large number of random variables.
Ø Loops may require widening à precision loss.
![Page 20: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/20.jpg)
Approach #2: Probabilistic Calculii
• How do program variables depend on the uncertainties?
[Bouissou+Goubault+Putot,Bouissou+ Goubault + Putot+ Chakarov+S]
y := Uniform(-0.01, 0.01)th := Uniform(-0.01, 0.01)
for i in range(0, 10):y := y + 0.1 * thth := 0.8 * th + randomw()
Probability( y >= 0.1) <= ??
![Page 21: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/21.jpg)
Probabilitic Affine Forms
Systematically abstract distributions?
Propagate abstract distributions through programs?
Modified Affine Form CalculusConditional Branches
Answer queries on the results?
Volume Computation (expensive)Concentration of Measure Inequalities
(cheap but not fully general)
![Page 22: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/22.jpg)
Repetitive Robot
Sawyer Robotic Arm(rethink robotics)
Small errors at each step.
Repeat this 100 times.
Probability of going out of bounds?
angles = [10, 60, 110, 160, 140, ...100, 60, 20, 10, 0]
x := TruncGaussian(0,0.05,-0.5,0.5) y := TruncGaussian(0, 0.1,-0.5,0.5)for reps in range(0,100):
for theta in angles: # Distance travelled variation d = Uniform(0.98,1.02) # Steering angle variation t = deg2rad(theta) * (1 + ...
TruncGaussian(0,0.01,-0.05,0.05)) # Move distance d with angle t x = x + d * cos(t) y = y + d * sin(t)
#Probability that we went too far?assert(x >= 272)
![Page 23: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/23.jpg)
Repetitive Robot: Affine Form
[Bouissou+Chakaraov+Goubault+Putot+S’TACAS 2016]
![Page 24: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/24.jpg)
Repetitive Robot (Cont.)
Bounds computation using Chernoff-Hoeffding Inequality:
![Page 25: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/25.jpg)
Anesthesia (Fentanyl) Infusion
InfusionRate
Time
Pump Error Patient
Drug Concentration
[McClain+Hug, Fentanyl Kinetics, Clinical Pharmacology & Therapeutics, 28(1):106–114, July 1980.]
x4 : [150, 300] ng/ml
+
Drug Conc.must be inside safe range.
![Page 26: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/26.jpg)
Anesthesia Infusion (Continued)infusionTimings[7] = {20, 15, 15, 15, 15, 15, 45}; double infusionRates[7] = { 3, 3.2, 3.3, 3.4, 3.2, 3.1, 3.0}; Interval e0(-0.4, 0.4), e1(0.0), e2(0.006,0.0064); for i in range(0, 7):
currentInfusion= 20.0*infusionRates[i]; curTime = infusionTimings[i];
for j in range(0, 40 * infusionTimings[j]):e : = 1+ randomVariable(e0, e1, e2) u : = e * currentInfusionx1n : = 0.9012* x1 + 0.0304 * x2 + 0.0031 * x3
+ 2.676e-1 * ux2n := 0.0139* x1 + 0.9857 * x2 + 2e-3*u x3n := 0.0015 * x1 + 0.9985 * x3+ 2e-4*u x4n := 0.0838 * x1 + 0.0014 * x2 + 0.0001 *x3 +
0.9117 * x4 + 12e-3 * ux1 := x1n; x2 := x2n; x3 := x3; x4 := x4n
[Bouissou+Chakaraov+Goubault+Putot+S’TACAS 2016]
![Page 27: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/27.jpg)
Affine Form-Based Approach
ü Generalizes to nonlinear computationüPolynomials, Trigonometric Functions, Hyperbolic Functions.
ü Relation to polynomial chaos approximations [Xiu+Karandiakis]
üWiener-Askey Approximation Scheme.
Ø Conditional Branches.Ø Current Solution: discretize domain of the affine form into smaller boxes.
ØUnbounded Loops.
![Page 28: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/28.jpg)
Approach #3: DeductiveSystematically abstract distributions?
real x,y,zinitially x is Normal(0,1),
y is Uniform(-1,1),z is Uniform(0,10);
while (true)if (z < 10)
x := x -1 + 2*Normal(0,1);y := y – 2 + Uniform(-1,1);z := z + 1;
else x := x +1;y := y – 2;z := z -1;
E(x+ z) = 5E(y) = 2nE(z) 11E(z) 5 + n
E(z) � 5� n
Facts about the moments of distributions.Loop Invariants.
[McIver+Morgan+Katoen,Chakarov+S, Chatterjee et al.,Fioriti et al.]
![Page 29: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/29.jpg)
Deducing Properties of Distributions
• Early work by McIver and Morgan.
• Pre-Expectation calculus for programs with probabilities.
• Restricted to finite domain random variables.
• Generalizing McIver and Morgan’s work [Chakarov + S ‘ CAV 2013].
• Connections with Supermartingales.
• Handle continuous random variables.
• Concentration of Measure Inequalities.
![Page 30: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/30.jpg)
Coin Tossing ExampleHeads à Gain one dollar
Tails à Lose one dollar
Repeat N times.
Expected fortune in next step = fortune in current step.
X Dollars TossCoin Once
? Dollars
![Page 31: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/31.jpg)
Vehicle on the Road
Expected value in next step = value in current step.
![Page 32: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/32.jpg)
Martingale
Martingale is a special kind of stochastic process.
![Page 33: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/33.jpg)
Super/SubMartingales
Supermartingale:
Submartingale:
![Page 34: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/34.jpg)
Super Martingales and Loop Invariants
real x,y,zinitially x is Normal(0,1),
y is Uniform(-1,1),z is Uniform(0,10);
while (true)if (z < 10)
x := x + 1 + 2*Normal(0,1);y := y – 2 + Uniform(-1,1);z := z + 1;
else x := x +1;y := y – 2;z := z -1;
2 * x + y is a Martingale
![Page 35: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/35.jpg)
Automatic Inference of (Super) Martingale[Katoen + McIver + Morgan, Gretz + Katoen, Chakarov + S]
1. Fix an unknown template form of the desired function.
2. Use Farkas’ Lemma to derive constraints [Colon+S+Sipma’03]
3. Solve to obtain (super) martingales.
![Page 36: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/36.jpg)
Automatic Inference (Example)Vehicle on a road.
How do we use super martingales to answer queries?
![Page 37: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/37.jpg)
Azuma’s Inequality for Martingales
Supermartingale:
Submartingale:
Lipschitz Condition
![Page 38: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/38.jpg)
Azuma Inequality (pictorially)
Number of Steps
Valueof Martingale
t
Value Exceeds t
![Page 39: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/39.jpg)
Example: Vehicle on the Road
![Page 40: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/40.jpg)
Experiment #2: Proving Bounds
L Azuma Inequality Chernoff-Hoeffding
0.38 0.93 0.48
1.5 0.32 7.7 x 10-5
3.0 0.011 9.5 x 10-14
3.8 0.0073 3.8 x 10-19
Fix j = 100 steps (~ 10 seconds)
![Page 41: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/41.jpg)
Beyond SupermartingalesSystematically abstract distributions?
real x,y,zinitially x is Normal(0,1),
y is Uniform(-1,1),z is Uniform(0,10);
while (true)if (z < 10)
x := x -1 + 2*Normal(0,1);y := y – 2 + Uniform(-1,1);z := z + 1;
else x := x +1;y := y – 2;z := z -1;
E(x+ z) = 5E(y) = 2nE(z) 11E(z) 5 + n
E(z) � 5� n
[McIver+Morgan+Katoen,Chakarov+S, Chatterjee et al.,Fioriti et al.]
SuperMartingales``Singly-Inductive’’ Invariants
![Page 42: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/42.jpg)
Inductive Expectation Invariants
Polyhedron:
Polyhedron over measures:
Ax b
E(Ax) b
x: State.Set of States
x: Measure.Set of Measures
[Chakarov+S’ SAS 2014]
![Page 43: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/43.jpg)
Open Challenges
![Page 44: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/44.jpg)
Challenge # 1: Conditioning/Observations
Probabilistic Program
Parameters
Measurements/Observations
PriorDistribution
PosteriorDistribution
![Page 45: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/45.jpg)
Conditioning/Observations
theta ~ Uniform[0,1]tails := falsecount = 0while (not tails):
tails := flip(theta)count := count + 1
observe(count == 25);assert(theta >= 0.6)
Semantics of conditioning is very tricky.[Heunen et al. LICS 2017]
Applications• Machine Learning.• Filtering/State Estimation/Sensor Fusion.• Data Driven Modeling.
![Page 46: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/46.jpg)
Challenge #2: Scalable Analysis
Uncertainty reasoning for large programs.• Biological Systems• Protein Folding• Large Cyber-Physical Systems.
![Page 47: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/47.jpg)
Challenge #3: Symbolic Domains
• Incorporate Booleans, Graphs and other domains.
• Common in randomized algorithms.
• Benefit by careful mechanization.
• Application areas:• Dynamics on graphs and social networks.• Graph rewriting systems (Graph Grammars).• Self-assembling systems.
![Page 48: Static Analysis of Programs with Probabilities · 2017. 9. 25. · Static Analysis of Programs with Probabilities Sriram Sankaranarayanan University of Colorado, Boulder, USA.](https://reader034.fdocuments.us/reader034/viewer/2022052007/601c01c981d1fe0a4c4a36fc/html5/thumbnails/48.jpg)
Thank You
This work was supported by the US National Science Foundation (NSF) underAward # 1320069 and # 1646556.
All opinions expressed are those of the authorsand not necessarily of the NSF.