+ All Categories
Home > Documents > JOINT WORK WITH: P. MADHUSUDAN (UIUC), …. MADHUSUDAN (UIUC), CHRISTOF LODING (RWTH AACHEN) DANIEL...

JOINT WORK WITH: P. MADHUSUDAN (UIUC), …. MADHUSUDAN (UIUC), CHRISTOF LODING (RWTH AACHEN) DANIEL...

Date post: 10-Apr-2018
Category:
Upload: hangoc
View: 225 times
Download: 2 times
Share this document with a friend
13
BLACK BOX INVARIANT SYNTHESIS PRANAV GARG UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN JOINT WORK WITH: P. MADHUSUDAN (UIUC), CHRISTOF LODING (RWTH AACHEN) DANIEL NEIDER (RWTH AACHEN) IN CONSULTATION WITH: DAN ROTH (UIUC)
Transcript

BLACK BOX INVARIANT SYNTHESIS

PRANAV GARG

UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN

JOINT WORK WITH:

P. MADHUSUDAN (UIUC),

CHRISTOF LODING (RWTH AACHEN)

DANIEL NEIDER (RWTH AACHEN)

IN CONSULTATION WITH:

DAN ROTH (UIUC)

AUTOMATED PROGRAM VERIFICATION

• Does a program P meet its safety specification ?

• Floyd-Hoare style Deductive Verification

To alleviate this burden of annotation Invariant synthesis

foo(int x) {

y := x;

while (x != 0) {

x := x - 1;

y := y - 1;

}

return y;

}

post: y = 0

Invariant: x = y

pre: true

INVARIANT SYNTHESIS

Reach – post-closed, contains Init avoids Bad

Adequate Invariant: any post-closed set, contains Init, avoids Bad

--- Many choices; which one to pick?

Learn the “simplest” invariant!

ReachInit Bad

I1 I2

SYNTAX GUIDED SYNTHESIS

Synthesize Inv such that

Can be reduced to Syntax-guided synthesis (SyGus)

))()(.(( xInvxprex

))'()',()(( xInvxxTxInv

)))()(( xpostxInv

BLACK-BOX LEARNING OF INVARIANTS

Constraint Solver

check hypothesis?

Program Learner

Teacher

concrete data-points

H

(hypothesis)

ACTIVE LEARNING OF INVARIANTS

Constraint Solver

check hypothesis?

Program Learner

Teacher

concrete data-points

H

(hypothesis)

ReachkInit Bad

H

ACTIVE LEARNING OF INVARIANTS

Constraint Solver

check hypothesis?

Program Learner

Teacher

concrete data-points

H

(hypothesis)

ReachkInit Bad

H

ACTIVE LEARNING OF INVARIANTS

Constraint Solver

check hypothesis?

Program Learner

Teacher

concrete data-points

H

(hypothesis)

ReachkInit Bad

H

HpHp '

p p’

ICE: LEARNING USING EXAMPLES,

COUNTER-EXAMPLES AND IMPLICATIONS

Constraint Solver

check hypothesis?

Program

Learner

(Passive)

Teacher

concrete data-points

H

(hypothesis)

• To refute non-inductiveness of H, the teacher communicates (p, p’)

- if then -- learner’s choice depends on simplicity, etc.

• Robust framework

- Ensures progress and honest teacher

• Strong convergence

- Can the learner eventually learn an invariant irrespective of the teacher’s

answers ?

,Hp Hp'

ICE-LEARNING NUMERICAL INVARIANTS

Learning algorithm is strongly convergent

Implemented as a tool over Boogie (from Microsoft Research)

H

ij

ijv1

ijv2ijc- - )(

Program Invariant InvGen

(sec)

Sharma et al

(sec)

ICE

(sec)

w2 0.1 0.1 0.0

ex7 X 0.4 0.0

array X 0.2 0.3

fig1 X X 0.1

fig3 0.1 0.1 0.0

fig9 0.1 0.2 0.0

ex23 X X 14.2

cgr2 X X 7.3

trex3 0.5 X 2.2

tcs 0.1 0.5 1.4

sum1 X X 1.8

1- nx

)100()0( - NmxN

11 - yx

- 11 jijiyx

11 - yxlock

00 yx

zy0

4572 cz

302010 xxx

)0()1( nsnsnisn -

ICE-LEARNING NUMERICAL INVARIANTS

131211 ddd

lenyi 0

]0[0 amj

• Learn invariants over linear data structures (arrays and lists)

• Unbounded size of the heap

- properties are universally quantified

• General form:

• Strongly convergent algorithms for learning quantified invariants.

• Quantified Data Automata (QDA) normal form for such invariants

- adapt passive Regular Positive Negative Inference (RPNI) for learning QDAs

5 7 8 9

head

list pointed to by head is sorted

))()(.( 212

*

1

*

21 ydataydatayyheadyy nextnext

LEARNING DATA STRUCTURE INVARIANTS

)),(),(.(/\ ypDataypGuardy iii

• Applying machine learning algorithms for synthesizing invariants

• Applying machine learning algorithms to program synthesis

• Synthesizing invariants for separation logic.

ONGOING WORK


Recommended