Towards a Theory AB Toolbox Verifying Randomized Algorithms Marco - - PowerPoint PPT Presentation

towards a theory ab toolbox
SMART_READER_LITE
LIVE PREVIEW

Towards a Theory AB Toolbox Verifying Randomized Algorithms Marco - - PowerPoint PPT Presentation

Towards a Theory AB Toolbox Verifying Randomized Algorithms Marco Gaboardi 1 and Justin Hsu 2 1 University of Dundee 2 University of Pennsylvania May 6th, 2015 A story Alice wants to protect privacy A story Alice wants to protect privacy


slide-1
SLIDE 1

Towards a Theory AB Toolbox

Verifying Randomized Algorithms Marco Gaboardi1 and Justin Hsu2

1University of Dundee 2University of Pennsylvania

May 6th, 2015

slide-2
SLIDE 2

A story

Alice wants to protect privacy

slide-3
SLIDE 3

A story

Alice wants to protect privacy

slide-4
SLIDE 4

Complex code

slide-5
SLIDE 5

Complex proofs

slide-6
SLIDE 6

Current practice

Paper proofs

◮ Produced by humans ◮ Major steps included ◮ Minor steps skipped

“Morally correct”

◮ Complex proofs checked by humans ◮ Sometimes bugs

slide-7
SLIDE 7

Challenges in formalizing proofs

Complex properties

◮ Single run/multiple runs/??? ◮ Quantitative: measure how performance scales with input

slide-8
SLIDE 8

Challenges in formalizing proofs

Complex properties

◮ Single run/multiple runs/??? ◮ Quantitative: measure how performance scales with input

Diverse proofs

◮ Variety of tools and proof structures, non-local reasoning ◮ Proof about a single program can be research contribution

slide-9
SLIDE 9

Challenges in formalizing proofs

Complex properties

◮ Single run/multiple runs/??? ◮ Quantitative: measure how performance scales with input

Diverse proofs

◮ Variety of tools and proof structures, non-local reasoning ◮ Proof about a single program can be research contribution

Probability theory

◮ Probabilities of events, expected values ◮ Very rich theory, too much to formalize

slide-10
SLIDE 10

The overall idea

Imitate paper proofs

Bring patterns, abstractions, notations to formal verification

slide-11
SLIDE 11

What’s so great about paper proofs?

Probability theory: just the good parts

◮ Use useful properties and abstractions ◮ Avoid low-level probability theory

slide-12
SLIDE 12

What’s so great about paper proofs?

Probability theory: just the good parts

◮ Use useful properties and abstractions ◮ Avoid low-level probability theory

Concise, light reasoning

◮ Useful notations and high-level reasoning ◮ Major steps are evident, not buried in boilerplate ◮ Powerful patterns to structure proofs

slide-13
SLIDE 13

Pattern: The union bound

Pr[E1∨· · ·∨En] ≤ Pr[E1]+· · ·+Pr[En]

slide-14
SLIDE 14

Pattern: The union bound

Pr[E1∨· · ·∨En] ≤ Pr[E1]+· · ·+Pr[En]

Compositional reasoning

◮ Let events be different ways algorithm can

fail Noise too big Loop doesn’t terminate Bad subcomputation

slide-15
SLIDE 15

Pattern: The union bound

Pr[E1∨· · ·∨En] ≤ Pr[E1]+· · ·+Pr[En]

Compositional reasoning

◮ Let events be different ways algorithm can

fail Noise too big Loop doesn’t terminate Bad subcomputation

slide-16
SLIDE 16

Pattern: The union bound

Pr[E1∨· · ·∨En] ≤ Pr[E1]+· · ·+Pr[En]

Compositional reasoning

◮ Let events be different ways algorithm can

fail Noise too big Loop doesn’t terminate Bad subcomputation

slide-17
SLIDE 17

Pattern: The union bound

Pr[E1∨· · ·∨En] ≤ Pr[E1]+· · ·+Pr[En]

Compositional reasoning

◮ Let events be different ways algorithm can

fail Noise too big Loop doesn’t terminate Bad subcomputation

slide-18
SLIDE 18

Pattern: The union bound

Pr[E1∨· · ·∨En] ≤ Pr[E1]+· · ·+Pr[En]

Compositional reasoning

◮ Let events be different ways algorithm can

fail Noise too big Loop doesn’t terminate Bad subcomputation

slide-19
SLIDE 19

Pattern: The union bound

Pr[E1∨· · ·∨En] ≤ Pr[E1]+· · ·+Pr[En]

Compositional reasoning

◮ Let events be different ways algorithm can

fail

◮ Analyze each possible failure in isolation

Noise too big Loop doesn’t terminate Bad subcomputation

slide-20
SLIDE 20

Work in progress

A probabilistic Hoare logic

◮ Assertions from paper proofs:

Pr[X = 1] = 1/2, Y = n

i=1 Xi,

#n

i=1Xi,

. . .

◮ Interactive: part of the EasyCrypt system ◮ Target: algorithms from recent STOC/FOCS/???

Fantastic collaborators

slide-21
SLIDE 21

Towards a Theory AB

slide-22
SLIDE 22

Towards a Theory AB

For Algorithms/Complexity Theory

◮ Computer verification of complex proofs ◮ Tools for different scales ◮ Theoretical tools (?)

slide-23
SLIDE 23

Towards a Theory AB

For Algorithms/Complexity Theory

◮ Computer verification of complex proofs ◮ Tools for different scales ◮ Theoretical tools (?)

For our community

◮ Tons and tons of novel, challenging properties ◮ Different styles of proofs ◮ New abstractions?

slide-24
SLIDE 24

Towards a Theory AB Toolbox

Verifying Randomized Algorithms Marco Gaboardi1 and Justin Hsu2

1University of Dundee 2University of Pennsylvania

May 6th, 2015