SLIDE 1 Repairing Decision-Making Programs Under Uncertainty
University of Wisconsin-Madison
Aws Albarghouthi Loris D’Antoni Samuel Drews
SLIDE 2
SLIDE 3
Example Fairness Condition
decision- making program
SLIDE 4
Example Fairness Condition
sensitive feature (e.g. minority)
SLIDE 5
Example Fairness Condition
probabilistic precondition
SLIDE 6
Unfairness proof Fairness proof
FairSquare [OOPSLA 17]
SLIDE 7
Unfairness proof Fairness proof
FairSquare [OOPSLA 17]
SLIDE 8 Probabilistic program repair: definition
8
Input The postcondition does not hold
SLIDE 9 Probabilistic program repair: definition
9
Input The postcondition does not hold Output Program in repair model The postcondition holds, Difference between and is minimal
SLIDE 10
SLIDE 11
SLIDE 12
SLIDE 13
SLIDE 14
Challenge: What should the output of be on each input?
SLIDE 15
SLIDE 16
SLIDE 17 DIGITS: DIstribution-Guided InducTive Synthesis
17
Sampling from Synthesizer Probabilistic Verifier Samples Candidate Repair Candidate accepted/rejected
SLIDE 18 DIGITS: DIstribution-Guided InducTive Synthesis
18
inp1 inp2 … … inpn
Sample n inputs from precondition
SLIDE 19 DIGITS: DIstribution-Guided InducTive Synthesis
19
inp1 inp2 … … inpn T T T … T T T T … F T T F … T T T F … F T F T … T .. .. .. … …
Sample n inputs from precondition
SLIDE 20 DIGITS: DIstribution-Guided InducTive Synthesis
20
For each labeling, synthesize one program consistent with it and check postcondition
inp1 inp2 … … inpn T T T … T T T T … F T T F … T T T F … F T F T … T .. .. .. … …
Sample n inputs from precondition
SLIDE 21 DIGITS: DIstribution-Guided InducTive Synthesis
21
For each labeling, synthesize one program consistent with it and check postcondition
inp1 inp2 … … inpn T T T … T T T T … F T T F … T T T F … F T F T … T .. .. .. … … …
Sample n inputs from precondition
SLIDE 22 DIGITS: DIstribution-Guided InducTive Synthesis
22
For each labeling, synthesize one program consistent with it and check postcondition
inp1 inp2 … … inpn T T T … T T T T … F T T F … T T T F … F T F T … T .. .. .. … … …
Sample n inputs from precondition
SLIDE 23 DIGITS: DIstribution-Guided InducTive Synthesis
23
For each labeling, synthesize one program consistent with it and check postcondition
inp1 inp2 … … inpn T T T … T T T T … F T T F … T T T F … F T F T … T .. .. .. … … … Output that has minimal
Sample n inputs from precondition
SLIDE 24
SLIDE 25
SLIDE 26
SLIDE 27 Does DIGITS work?
27
18 repair problems: decision trees, support vector machines 10 minute best-effort period All repaired!
SLIDE 28 Does DIGITS work?
28
SLIDE 29 Does DIGITS converge? Yes*
* terms and conditions apply:
repair model has finite VC-dimension postcondition has some extra continuity property (see paper)
29
SLIDE 30 VC dimension of a set of programs
30
image: V. Kecman, 2001
SLIDE 31 VC dimension of a set of programs
31
image: V. Kecman, 2001
SLIDE 32 Does DIGITS work?
Assume:
- there exists an optimal solution
- repair model has finite VC-dimension
32
SLIDE 33 Does DIGITS work?
Assume:
- there exists an optimal solution
- repair model has finite VC-dimension
For every , if we run DIGITS on samples, then with probability we find a solution with .
33
SLIDE 34
SLIDE 35
SLIDE 36
SLIDE 37
SLIDE 38
SLIDE 39
Trie Structure
Sample one point at a time
SLIDE 40
Trie Structure
Sample one point at a time
SLIDE 41
Trie Structure
Sample one point at a time
SLIDE 42
Trie Structure
Sample one point at a time
SLIDE 43
Trie Structure
Sample one point at a time
SLIDE 44
Trie Structure
Sample one point at a time
SLIDE 45
Trie Structure
Sample one point at a time
SLIDE 46
Trie Structure
Sample one point at a time Prune the trie and generalize
SLIDE 47
Trie Savings
SLIDE 48 DIGITS
Sampling from Synthesizer Probabilistic Verifier Samples Candidate Repair Candidate accepted/rejected