The PeRIPLO Propositional Interpolator

Similar documents
TEST PATTERNS COMPRESSION TECHNIQUES BASED ON SAT SOLVING FOR SCAN-BASED DIGITAL CIRCUITS

Using Scan Side Channel to Detect IP Theft

Mining Complex Boolean Expressions for Sequential Equivalence Checking

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University

Post-Routing Layer Assignment for Double Patterning

140 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 12, NO. 2, FEBRUARY 2004

VLSI Chip Design Project TSEK06

Critical C-RAN Technologies Speaker: Lin Wang

Understanding Compression Technologies for HD and Megapixel Surveillance

Improving Frame FEC Efficiency. Improving Frame FEC Efficiency. Using Frame Bursts. Lior Khermosh, Passave. Ariel Maislos, Passave

More design examples, state assignment and reduction. Page 1

CHAPTER 8 CONCLUSION AND FUTURE SCOPE

Logic synthesis for post-cmos technologies

Film Grain Technology

Skip Length and Inter-Starvation Distance as a Combined Metric to Assess the Quality of Transmitted Video

Image Contrast Enhancement (ICE) The Defining Feature. Author: J Schell, Product Manager DRS Technologies, Network and Imaging Systems Group

Part I: Graph Coloring

CSC 373: Algorithm Design and Analysis Lecture 17

Finite State Machine Design

Data Representation. signals can vary continuously across an infinite range of values e.g., frequencies on an old-fashioned radio with a dial

Datasheet SHF A Multi-Channel Error Analyzer

Leakage Current Reduction in Sequential Circuits by Modifying the Scan Chains. Outline

1. Introduction. Abstract. 1.1 Logic Criteria

Avoiding False Pass or False Fail

Scrambling and Descrambling SMT-LIB Benchmarks

LED7706/7/8. LED drivers for backlighting and lighting applications.

Pitch correction on the human voice

High Performance Microprocessor Design and Automation: Overview, Challenges and Opportunities IBM Corporation

Failure Modes, Effects and Diagnostic Analysis

AN IMPROVED ERROR CONCEALMENT STRATEGY DRIVEN BY SCENE MOTION PROPERTIES FOR H.264/AVC DECODERS

From Theory to Practice: Private Circuit and Its Ambush

SWITCHED INFINITY: SUPPORTING AN INFINITE HD LINEUP WITH SDV

IMPLEMENTATION OF X-FACTOR CIRCUITRY IN DECOMPRESSOR ARCHITECTURE

HEBS: Histogram Equalization for Backlight Scaling

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

Chapter 3. Boolean Algebra and Digital Logic

MPEG has been established as an international standard

Formalizing Irony with Doxastic Logic

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS

Music Similarity and Cover Song Identification: The Case of Jazz

Chapter 12. Synchronous Circuits. Contents

Chapter 5: Synchronous Sequential Logic

Optical Technologies Micro Motion Absolute, Technology Overview & Programming

MTS/T-BERD 8000 Platform

WEEK 10. Sequential Circuits: Analysis and Design. Page 1

A Novel Asynchronous ADC Architecture

Low Power Estimation on Test Compression Technique for SoC based Design

MTS/T-BERD 8000 Platform Optical Spectrum Analyzer Modules

Predicting the immediate future with Recurrent Neural Networks: Pre-training and Applications

Controlling Peak Power During Scan Testing

DC Ultra. Concurrent Timing, Area, Power and Test Optimization. Overview

Efficient Label Encoding for Range-based Dynamic XML Labeling Schemes

Novel Pulsed-Latch Replacement Based on Time Borrowing and Spiral Clustering

Interface Practices Subcommittee SCTE STANDARD SCTE Measurement Procedure for Noise Power Ratio

Algorithms, Lecture 3 on NP : Nondeterministic Polynomial Time

MULTI-CYCLE AT SPEED TEST. A Thesis MALLIKA SHREE POKHAREL

Design for Testability

Lossless Compression Algorithms for Direct- Write Lithography Systems

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

Keywords Xilinx ISE, LUT, FIR System, SDR, Spectrum- Sensing, FPGA, Memory- optimization, A-OMS LUT.

Research Article. ISSN (Print) *Corresponding author Shireen Fathima

COMPUTER ENGINEERING PROGRAM

Outline. Why do we classify? Audio Classification

Implementation of a turbo codes test bed in the Simulink environment

Design of Fault Coverage Test Pattern Generator Using LFSR

WHAT'S HOT: LINEAR POPULARITY PREDICTION FROM TV AND SOCIAL USAGE DATA Jan Neumann, Xiaodong Yu, and Mohamad Ali Torkamani Comcast Labs

ATSC Standard: Video Watermark Emission (A/335)

CS8803: Advanced Digital Design for Embedded Hardware

Retiming Sequential Circuits for Low Power

High Performance Carry Chains for FPGAs

Logic Design ( Part 3) Sequential Logic- Finite State Machines (Chapter 3)

Logic Devices for Interfacing, The 8085 MPU Lecture 4

Telecommunication Development Sector

MICROMASTER Encoder Module

Logic Design II (17.342) Spring Lecture Outline

Detection and demodulation of non-cooperative burst signal Feng Yue 1, Wu Guangzhi 1, Tao Min 1

Designing Intelligence into Commutation Encoders

VirtualSync: Timing Optimization by Synchronizing Logic Waves with Sequential and Combinational Components as Delay Units

In this submission, Ai Group s comments focus on four key areas relevant to the objectives of this review:

Joint Optimization of Source-Channel Video Coding Using the H.264/AVC encoder and FEC Codes. Digital Signal and Image Processing Lab

Synchronization Overhead in SOC Compressed Test

White Paper Group Capacity and the Mystery of the Unenforced Limit Fabio Massimo Ottaviani - EPV Technologies

MVP: Capture-Power Reduction with Minimum-Violations Partitioning for Delay Testing

Power-Driven Flip-Flop p Merging and Relocation. Shao-Huan Wang Yu-Yi Liang Tien-Yu Kuo Wai-Kei Tsing Hua University

4. Formal Equivalence Checking

Implementation of BIST Test Generation Scheme based on Single and Programmable Twisted Ring Counters

A Transaction-Oriented UVM-based Library for Verification of Analog Behavior

Achieving High Encoding Efficiency With Partial Dynamic LFSR Reseeding

Achieving Faster Time to Tapeout with In-Design, Signoff-Quality Metal Fill

(Skip to step 11 if you are already familiar with connecting to the Tribot)

Chapter 5 Synchronous Sequential Logic

Leakage Current Reduction in CMOS VLSI Circuits by Input Vector Control

2. SUPERPATH Mbps Digital Service 2.1. General

SYNTCOMP Synthesis Competition for Reactive Systems

Based on slides/material by. Topic 14. Testing. Testing. Logic Verification. Recommended Reading:

Using down to a Single Scan Channel to Meet your Test Goals (Part 2) Richard Illman Member of Technical Staff

Analysis of MPEG-2 Video Streams

ENCODING OF PREDICTIVE ERROR FRAMES IN RATE SCALABLE VIDEO CODECS USING WAVELET SHRINKAGE. Eduardo Asbun, Paul Salama, and Edward J.

Testing Sequential Circuits

Understanding PQR, DMOS, and PSNR Measurements

Transcription:

The PeRIPLO Propositional Interpolator N. Sharygina Formal Verification and Security Group University of Lugano joint work with Leo Alt, Antti Hyvarinen, Grisha Fedyukovich and Simone Rollini October 2, 2015 Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 1 / 32

Outline 1 Formal Verification at USI, Lugano Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 2 / 32

Outline 1 Formal Verification at USI, Lugano 2 Interpolation-based Model Checking Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 2 / 32

Outline 1 Formal Verification at USI, Lugano 2 Interpolation-based Model Checking 3 Flexible Interpolation Framework Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 2 / 32

Outline 1 Formal Verification at USI, Lugano 2 Interpolation-based Model Checking 3 Flexible Interpolation Framework Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 3 / 32

Background Formal Verification in Lugano, Switzerland Program Verification Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 4 / 32

Background Formal Verification in Lugano, Switzerland Program Verification Model checking software (FunFrog, EvolCheck, LoopFrog), ANSI-C programs Efficient decision procedures as computational engines of verification (OpenSMT) Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 4 / 32

Background Formal Verification in Lugano, Switzerland Program Verification Model checking software (FunFrog, EvolCheck, LoopFrog), ANSI-C programs Efficient decision procedures as computational engines of verification (OpenSMT) Abstractions Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 4 / 32

Background Formal Verification in Lugano, Switzerland Program Verification Model checking software (FunFrog, EvolCheck, LoopFrog), ANSI-C programs Efficient decision procedures as computational engines of verification (OpenSMT) Abstractions Interpolation-based Bounded Model Checking Function summarization [ATVA 12] Upgrade checking, Incremental verification [FMCAD 13], [TACAS 13] Recursion depth detection [STTT 15] Verification-aided regression testing [ISSTA 13] Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 4 / 32

Background Formal Verification in Lugano, Switzerland Abstractions Leveraging Interpolant strength [CAV 12] Loop Summarization [ATVA 08], [ASE 09] Program Termination [CAV 10], [TACAS 11] Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 5 / 32

Background Formal Verification in Lugano, Switzerland Abstractions Leveraging Interpolant strength [CAV 12] Loop Summarization [ATVA 08], [ASE 09] Program Termination [CAV 10], [TACAS 11] Synergy of Abstractions [STTT 10] Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 5 / 32

Background Formal Verification in Lugano, Switzerland An SMT-based verification framework for software systems handling arrays [FMSD 15] A quantifier-free interpolation procedure extending Lazy Abstraction [McMillan 06] to a quantified level [LPAR 12] Identification of a class of relations over arrays admitting definable first-order acceleration [TACAS 13] Booster: An Acceleration-Based Verification Framework for Array Programs [ATVA 14] Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 6 / 32

Background Formal Verification in Lugano, Switzerland Boolean and Theory Reasoning (SAT/SMT) Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 7 / 32

Background Formal Verification in Lugano, Switzerland Boolean and Theory Reasoning (SAT/SMT) Proof reduction and proof manipulation for interpolation [FMSD 15] Proof Sensitive Interpolation [VSTTE 15] Search-Space Partitioning for Parallelizing SMT Solvers [SAT 15] Procedure for bit-vector extraction and concatenation [ICCAD 09] Generation of explanations in theory propagation [MEMOCODE 10] Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 7 / 32

Background Formal Verification in Lugano, Switzerland Boolean and Theory Reasoning (SAT/SMT) Solver, OpenSMT, combines MiniSAT2 SAT-Solver with state-of-the-art decision procedures for QF EUF, LRA, BV, RDL, IDL Extensible: the SAT-to-theory interface facilites design and plug-in of new decision procedures Incremental: suitable for incremental verification Open-source: available under MIT license Parallelized: efficient search space partitioning Efficient: competitive open-source SMT Solver for QF UF, IDL, RDL, LRA according to SMT-Comp. Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 8 / 32

Outline 1 Formal Verification at USI, Lugano 2 Interpolation-based Model Checking 3 Flexible Interpolation Framework Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 9 / 32

Interpolation Background WIde application in symbolic model checking Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 10 / 32

Interpolation Background WIde application in symbolic model checking Bounded model checking: approximate cheaper reachability set computation [McMillan03] Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 10 / 32

Interpolation Background WIde application in symbolic model checking Bounded model checking: approximate cheaper reachability set computation [McMillan03] Predicate abstraction refinement based on spurious behaviors [Henzinger04] Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 10 / 32

Interpolation Background WIde application in symbolic model checking Bounded model checking: approximate cheaper reachability set computation [McMillan03] Predicate abstraction refinement based on spurious behaviors [Henzinger04] Property-based transition relation approximation [Jhala05]... Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 10 / 32

Interpolation Background WIde application in symbolic model checking Bounded model checking: approximate cheaper reachability set computation [McMillan03] Predicate abstraction refinement based on spurious behaviors [Henzinger04] Property-based transition relation approximation [Jhala05]... Forementioned applications involve Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 10 / 32

Interpolation Background WIde application in symbolic model checking Bounded model checking: approximate cheaper reachability set computation [McMillan03] Predicate abstraction refinement based on spurious behaviors [Henzinger04] Property-based transition relation approximation [Jhala05]... Forementioned applications involve Problem encoding into logic (SAT, SMT) Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 10 / 32

Interpolation Background WIde application in symbolic model checking Bounded model checking: approximate cheaper reachability set computation [McMillan03] Predicate abstraction refinement based on spurious behaviors [Henzinger04] Property-based transition relation approximation [Jhala05]... Forementioned applications involve Problem encoding into logic (SAT, SMT) Problem solving by means of resolution based engines (SAT solvers, SMT solvers) Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 10 / 32

Notation Interpolation Craig s interpolant I for unsatisfiable conjunction of formulae A B [Craig57] Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 11 / 32

Notation Interpolation Craig s interpolant I for unsatisfiable conjunction of formulae A B [Craig57] A I, I B unsatisfiable Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 11 / 32

Notation Interpolation Craig s interpolant I for unsatisfiable conjunction of formulae A B [Craig57] A I, I B unsatisfiable I defined over common symbols of A and B Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 11 / 32

Notation Interpolation Craig s interpolant I for unsatisfiable conjunction of formulae A B [Craig57] A I, I B unsatisfiable I defined over common symbols of A and B I as over-approximation A conflicting with B Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 11 / 32

Notation Interpolation Craig s interpolant I for unsatisfiable conjunction of formulae A B [Craig57] A I, I B unsatisfiable I defined over common symbols of A and B I as over-approximation A conflicting with B Example Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 11 / 32

Notation Interpolation Craig s interpolant I for unsatisfiable conjunction of formulae A B [Craig57] A I, I B unsatisfiable I defined over common symbols of A and B I as over-approximation A conflicting with B Example A (p q) (p q) B (q r) (q r) Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 11 / 32

Notation Interpolation Craig s interpolant I for unsatisfiable conjunction of formulae A B [Craig57] A I, I B unsatisfiable I defined over common symbols of A and B I as over-approximation A conflicting with B Example A (p q) (p q) B (q r) (q r) Interpolant q Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 11 / 32

Notation Interpolation Craig s interpolant I for unsatisfiable conjunction of formulae A B [Craig57] A I, I B unsatisfiable I defined over common symbols of A and B I as over-approximation A conflicting with B Example A (p q) (p q) B (q r) (q r) Interpolant q A q q B unsatisfiable Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 11 / 32

Interpolation Background Craig s interpolant I for unsatisfiable conjunction of formulae A B [Craig57] I as over-approximation A conflicting with B A I B Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 12 / 32

Interpolation-based Model Checking Problems Problems Size affects efficiency Interpolants different in their logical strength are needed Collection of individual algorithms, no possibilities for adjustments wrt the model checking tasks Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 13 / 32

Outline 1 Formal Verification at USI, Lugano 2 Interpolation-based Model Checking 3 Flexible Interpolation Framework Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 14 / 32

Interpolation-based Model Checking Motivation PeRIPLO is a multi-purpose interpolation framework Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 15 / 32

Interpolation-based Model Checking Motivation PeRIPLO is a multi-purpose interpolation framework aims at producing interpolants that are suitable for the whole spectrum of interpolation applications emphasis on constructing small interpolants flexibility in strength Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 15 / 32

Interpolation-based Model Checking Motivation PeRIPLO is a multi-purpose interpolation framework aims at producing interpolants that are suitable for the whole spectrum of interpolation applications emphasis on constructing small interpolants flexibility in strength Pre-processing approaches proof reduction and compression proof manipulation for interpolation Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 15 / 32

Interpolation-based Model Checking Motivation PeRIPLO is a multi-purpose interpolation framework aims at producing interpolants that are suitable for the whole spectrum of interpolation applications emphasis on constructing small interpolants flexibility in strength Pre-processing approaches proof reduction and compression proof manipulation for interpolation Proof senstive Interpolation Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 15 / 32

The Bird s Eye View to PeRIPLO PeRIPLO proof skeleton Resolution proof optimized proof SAT solver Proof expander Proof optimizer Interpolator φ Itp Application Given an unsatisfiable propositional formula φ PeRIPLO constructs an interpolant in circuit form by 1 Solving φ and extracting a compact proof skeleton from the SAT solver 2 Expanding the proof skeleton to a resolution proof 3 Optimizing the resolution proof to a smaller proof 4 Constructing an interpolant from the optimized proof Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 16 / 32

PeRIPLO Features Basic interpolation: A B A I and I B var(i ) var(a) var(b) Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 17 / 32

PeRIPLO Features Basic interpolation: A B A I and I B var(i ) var(a) var(b) Variations: Path, Tree and DAG interpolation Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 17 / 32

PeRIPLO Features Basic interpolation: A B A I and I B var(i ) var(a) var(b) Variations: Path, Tree and DAG interpolation Proof Optimization [FMSD15, ICCAD10]: removing resolution steps which reintroduce already resolved pivot variables postponing unit resolution steps until the end of the resolution proof using different local rewriting rules which preserve the validity of the proof Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 17 / 32

PeRIPLO Interface Features Multifaceted interface A clear API for C++ for tuning the interpolation algorithm, inserting a formula to PeRIPLO, and fetching the interpolant from PeRIPLO Reading and writing smtlib2 Reading and writing the Aiger format Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 18 / 32

Interpolation in PeRIPLO Labeling functions Labeled Interpolation System (LIS) framework [D Silva et al. 2010] construction of interpolation algorithms from labeling functions generalization of various interpolation algorithms (i.e., M s [McMillan03], P [Pudlak97], M w [D Silva10]) template for labeling function L LIS framework (R, A, B) Interpolation algorithm I Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 19 / 32

Interpolation in PeRIPLO Definitions Given a resolution proof R, (v, C) denotes that the variable v occurs in a clause C of R The labeling function L assigns a label from the set {a, b, ab} to each occurrence (v, C) in R Given a propositional formula A B, a variable is either local, if it occurs only in A or B, or shared if it occurs in both A and B Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 20 / 32

Interpolation in PeRIPLO Labeling Functions [VSSTE15] The label L(v, C) = b if v is local to A and L(v, C) = a if v is local to B. The label can be chosen freely for occurrences of shared variables Tuning the label for the shared occurrences results in different interpolation algorithms Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 21 / 32

PeRIPLO and Different Interpolation Algorithms Labeling all shared variable occurrences as a results in the weakest interpolant M w available in LIS b results in a strong interpolant M s available in LIS ab results in an interpolant P that is somewhere in the middle The aforementioned approaches are fixed schemas with no possibility for adopt to the task Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 22 / 32

PeRIPLO and Proof-Sensitive Interpolation PeRIPLO offers certain labeling functions that specifically address the interpolant size: Labeling all occurrences in A as a and B as b results in an interpolant with minimum number of distinct variables By analyzing the number of occurrences in the A and B part of the proof R it is possible to construct interpolants that have a small number of connectives Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 23 / 32

The Proof-Sensitive (PS) Labeling Functions PeRIPLO implements the proof-sensitive labeling functions specifically targeted for constructing small interpolants let f A (p) = {(p, C) C A} be the number of times the variable p occurs in A, and f B (p) = {(p, C) C B} the number the variable p occurs in B. The proof-sensitive labeling function L PS is defined as { a if f A (p) f B (p) L PS (p, C) = b if f A (p) < f B (p). Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 24 / 32

The Proof-Sensitive Labeling Functions PeRIPLO also provides weak and strong versions of Proof-Sensitive Approach Hierarchy of Interpolation Algorithms provided by PeRIPLO D min M s PS s PS PS w M w P Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 25 / 32

PeRIPLO API Application Interpolant I A I B I Interpolator Labeling function Partitions A and B Strength requirement Labeling Partitions A and B f A f B Partitions A and B Proof analysis Proof of UNSAT φ = A B SAT solver SAT or UNSAT The API of PeRIPLO provides the application with a full control over the interpolant generation Many of the more routine tasks are implemented efficiently inside PeRIPLO so that the user does not need to take care of such details The system makes it comfortable to construct and experiment with new labeling functions Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 26 / 32

Reduction Approach Evaluation [ICCAD 10] Experimental results over SMT: QF UF, QF IDL, QF LRA, QF RDL # Avg nodes Avg edges Avg core T (s) Max nodes Max edges Max core RP 1370 6.7% 7.5% 1.3% 1.7 65.1% 68.9% 39.1% Ratio 0.01 1366 8.9% 10.7% 1.4% 3.4 66.3% 70.2% 45.7% 0.025 1366 9.8% 11.9% 1.5% 3.6 77.2% 79.9% 45.7% 0.05 1366 10.7% 13.0% 1.6% 4.1 78.5% 81.2% 45.7% 0.075 1366 11.4% 13.8% 1.7% 4.5 78.5% 81.2% 45.7% 0.1 1364 11.8% 14.4% 1.7% 5.0 78.8% 83.6% 45.7% 0.25 1359 13.6% 16.6% 1.9% 7.6 79.6% 84.4% 45.7% 0.5 1348 15.0% 18.4% 2.0% 11.5 79.1% 85.2% 45.7% 0.75 1341 16.0% 19.5% 2.1% 15.1 79.9% 86.1% 45.7% 1 1337 16.7% 20.4% 2.2% 18.8 79.9% 86.1% 45.7% Ratio time threshold as fraction of solving time # number of benchmarks solved Avg nodes, Avg edges, Avg core average reduction in proof size T (s) average transformation time in seconds Max nodes, Max edges, Max core max reduction in proof size Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 27 / 32

Applications - FunFrog [FMCAD12] and evolcheck [TACAS13] Bounded Model Checkers Interpolants used as Function Summaries FunFrog - C Incremental Checker Stronger interpolants suit better [CAV12] http://verify.inf.usi.ch/funfrog evolcheck - C Upgrade Checker Weaker interpolants suit better [CAV12] http://verify.inf.usi.ch/evolcheck Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 28 / 32

Applications - FunFrog and evolcheck Veri cation time (seconds) 1000 100 M P M s PS PS PS s D min Veri cation time (seconds) 1000 100 P M s PS s 10 0 5 10 15 20 25 10 0 5 10 15 20 25 # Benchmarks # Benchmarks PS and PS s consistently lead to better verification time Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 29 / 32

Conclusions PeRIPLO is an interpolation tool for propositional logic Generic and flexible framework for producing interpolants on demand Provides an API, an smtlib2, and an AIGER interface for communicating with other tools Particular emphasis on constructing small interpolants while maintaining guarantees of interpolant strength For more information see http://verify.inf.usi.ch/periplo! Future work Extending the interpolation to first-oder logics in SMT Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 30 / 32

Thank you for your attention! Natasha Sharygina (USI) Flexible Interpolation October 2, 2015 31 / 32