Repairing Decision-Making Programs Under Uncertainty Samuel Drews Aws Albarghouthi Loris D’Antoni University of Wisconsin-Madison
Example Fairness Condition decision- making program
Example Fairness Condition sensitive feature (e.g. minority)
Example Fairness Condition probabilistic precondition
FairSquare [OOPSLA 17] Unfairness proof Fairness proof
FairSquare [OOPSLA 17] Unfairness proof Fairness proof
Probabilistic program repair: definition 8 Input The postcondition does not hold
Probabilistic program repair: definition 9 Input Output Program in repair model The postcondition does not hold The postcondition holds , Difference between and is minimal
Challenge: What should the output of be on each input?
17 DIGITS: DIstribution-Guided InducTive Synthesis Sampling Samples Synthesizer from Candidate Candidate Repair accepted/rejected Probabilistic Verifier
18 DIGITS: DIstribution-Guided InducTive Synthesis Sample n inputs from precondition inp 1 inp 2 … inp n …
19 DIGITS: DIstribution-Guided InducTive Synthesis Sample n inputs from precondition inp 1 inp 2 … inp n … T T T … T T T T … F T T F … T T T F … F T F T T … .. .. .. … …
20 DIGITS: DIstribution-Guided InducTive Synthesis For each labeling, synthesize one Sample n inputs program consistent with it and from precondition check postcondition inp 1 inp 2 … inp n … T T T … T T T T … F T T F … T T T F … F T F T T … .. .. .. … …
21 DIGITS: DIstribution-Guided InducTive Synthesis For each labeling, synthesize one Sample n inputs program consistent with it and from precondition check postcondition inp 1 inp 2 … inp n … T T T … T T T T … F T T F … T T T F … F T F T T … .. .. .. … … …
22 DIGITS: DIstribution-Guided InducTive Synthesis For each labeling, synthesize one Sample n inputs program consistent with it and from precondition check postcondition inp 1 inp 2 … inp n … T T T … T T T T … F T T F … T T T F … F T F T T … .. .. .. … … …
23 DIGITS: DIstribution-Guided InducTive Synthesis For each labeling, synthesize one Sample n inputs program consistent with it and from precondition check postcondition inp 1 inp 2 … inp n … T T T … T Output that T T T … F has minimal T T F … T T T F … F T F T T … .. .. .. … … …
27 Does DIGITS work? 18 repair problems: decision trees, support vector machines 10 minute best-effort period All repaired!
28 Does DIGITS work?
29 Does DIGITS converge? Yes * * terms and conditions apply: repair model has finite VC-dimension postcondition has some extra continuity property (see paper)
30 VC dimension of a set of programs image: V. Kecman, 2001
31 VC dimension of a set of programs image: V. Kecman, 2001
32 Does DIGITS work? Assume: • there exists an optimal solution • repair model has finite VC-dimension
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 .
Trie Structure Sample one point at a time
Trie Structure Sample one point at a time
Trie Structure Sample one point at a time
Trie Structure Sample one point at a time
Trie Structure Sample one point at a time
Trie Structure Sample one point at a time
Trie Structure Sample one point at a time
Trie Structure Sample one point at a time Prune the trie and generalize
Trie Savings
DIGITS Sampling Samples Synthesizer from Candidate Candidate Repair accepted/rejected Probabilistic Verifier
Recommend
More recommend