Repairing Decision-Making Programs Under Uncertainty Samuel Drews - - PowerPoint PPT Presentation

repairing decision making programs under uncertainty
SMART_READER_LITE
LIVE PREVIEW

Repairing Decision-Making Programs Under Uncertainty Samuel Drews - - PowerPoint PPT Presentation

Repairing Decision-Making Programs Under Uncertainty Samuel Drews Aws Albarghouthi Loris DAntoni University of Wisconsin-Madison Example Fairness Condition decision- making program Example Fairness Condition sensitive feature (e.g.


slide-1
SLIDE 1

Repairing Decision-Making Programs Under Uncertainty

University of Wisconsin-Madison

Aws Albarghouthi Loris D’Antoni Samuel Drews

slide-2
SLIDE 2
slide-3
SLIDE 3

Example Fairness Condition

decision- making program

slide-4
SLIDE 4

Example Fairness Condition

sensitive feature (e.g. minority)

slide-5
SLIDE 5

Example Fairness Condition

probabilistic precondition

slide-6
SLIDE 6

Unfairness proof Fairness proof

FairSquare [OOPSLA 17]

slide-7
SLIDE 7

Unfairness proof Fairness proof

FairSquare [OOPSLA 17]

slide-8
SLIDE 8

Probabilistic program repair: definition

8

Input The postcondition does not hold

slide-9
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 10
slide-11
SLIDE 11
slide-12
SLIDE 12
slide-13
SLIDE 13
slide-14
SLIDE 14

Challenge: What should the output of be on each input?

slide-15
SLIDE 15
slide-16
SLIDE 16
slide-17
SLIDE 17

DIGITS: DIstribution-Guided InducTive Synthesis

17

Sampling from Synthesizer Probabilistic Verifier Samples Candidate Repair Candidate accepted/rejected

slide-18
SLIDE 18

DIGITS: DIstribution-Guided InducTive Synthesis

18

inp1 inp2 … … inpn

Sample n inputs from precondition

slide-19
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
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
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
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
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 24
slide-25
SLIDE 25
slide-26
SLIDE 26
slide-27
SLIDE 27

Does DIGITS work?

27

18 repair problems: decision trees, support vector machines 10 minute best-effort period All repaired!

slide-28
SLIDE 28

Does DIGITS work?

28

slide-29
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
SLIDE 30

VC dimension of a set of programs

30

image: V. Kecman, 2001

slide-31
SLIDE 31

VC dimension of a set of programs

31

image: V. Kecman, 2001

slide-32
SLIDE 32

Does DIGITS work?

Assume:

  • there exists an optimal solution
  • repair model has finite VC-dimension

32

slide-33
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 34
slide-35
SLIDE 35
slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39

Trie Structure

Sample one point at a time

slide-40
SLIDE 40

Trie Structure

Sample one point at a time

slide-41
SLIDE 41

Trie Structure

Sample one point at a time

slide-42
SLIDE 42

Trie Structure

Sample one point at a time

slide-43
SLIDE 43

Trie Structure

Sample one point at a time

slide-44
SLIDE 44

Trie Structure

Sample one point at a time

slide-45
SLIDE 45

Trie Structure

Sample one point at a time

slide-46
SLIDE 46

Trie Structure

Sample one point at a time Prune the trie and generalize

slide-47
SLIDE 47

Trie Savings

slide-48
SLIDE 48

DIGITS

Sampling from Synthesizer Probabilistic Verifier Samples Candidate Repair Candidate accepted/rejected