as Classifiers Rahul Sharma Joint work with Aditya Nori MSR India and Alex Aiken Stanford Interpolants If then an interpolant satisfies contains only the variables common to ID: 559252
Download Presentation The PPT/PDF document "Interpolants" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Interpolants as Classifiers
Rahul Sharma
Joint work with
Aditya
Nori
(MSR India) and Alex Aiken (Stanford)Slide2
Interpolants
If
then an
interpolant satisfies: contains only the variables common to and An interpolant is a simple proof Quantifier free formulas in linear arithmetic have quantifier free interpolants.
Slide3
Example
x
ySlide4
Binary Classification
Input: labeled examples
Positive examples:
Negative examples: Find true,falseFor all positives, trueFor all negatives,
false
Slide5
Verification and ML
Interpolant
: separates
from Classifier: separates positive examples from negative examples Is there a connection?Slide6
Yes!
Consider the common variables of
and
: Interpolant if
If
:
separates
’s from
’s
Slide7
Our Contributions
Main result
: view
interpolants as classifiers as positive example as negative exampleUse state-of-the-art classification algorithms (SVMs) for computing interpolantsEncouraging empirical results Slide8
Parallels b/w Verification and ML
Unroll the loops
F
ind interpolantsGet general proofs (loop invariants)Get positive and negative examplesFind a classifier Get a predicate which generalizesSlide9
Support Vector Machine
(
SVM
)
positive
examples
n
egative
examples
+
+
+
+
+Slide10
Support Vector Machine
(
SVM
)SeparatorsSeparators
Separators
Separators
All separators are good candidates for
interpolants
+
+
+
+
+Slide11
Support Vector Machine
(
SVM
)Optimal Margin Classifier
+
+
+
+Slide12
Example
x = y = 0;
while(*)
x++; y++;while(x != 0) x--; y--;assert (y == 0);
x = y = 0;
if(*)
x++; y++;
p
:
if(x != 0)
x--; y--;
i
f(x == 0)
assert (y == 0);Slide13
Interpolants by SVM
x
y
(0,0)++(1,1)
Slide14
Basic Algorithm
Let
be the common variables of
and Generate from satisfying assignments of Generate from satisfying assignments of Call SVM with and Return predicate containing
Slide15
Two Problems
Data is not linearly separable
The candidate
interpolant is not an interpolantxy++Slide16
No separating inequality
For each
SVM( ) return Cannot generate linear separators with both and .
x
y
(0,0)
+
+
(1,1)
(0,1)
(1,0)
Slide17
Candidate is not an Interpolant
while(true)
{
Find candidate
interpolant
if (
)
Add
to
and continue;
if
(
)
Add
to
and continue
;
break; Exit if
interpolant
found
}
return
;
Theorem
:
terminates
iff
output
is an
interpolant
between
and
Slide18
Example
x
y
(0,0)++
(1,1)
Interpolant
!Slide19
Evaluation
1000 lines of C++
LIBSVM
for SVM queriesZ3 theorem proverSlide20
ExperimentsSlide21
Related Work
Interpolants
used in tools
BLAST, IMPACT …Interpolants from proofsKrajícek[97], Pudlák[97], McMillan[05], …Interpolants from constraint solvingARMC, Rybalchenko et al. [07]Slide22
Conclusion
Connect
interpolants
and classifiersA sound interpolation procedureFuture work: non-linear interpolantsIntegrate with a verification toolEUF, arrays, bit-vectors, etc.