Parametric Symbolic Reachability

Slides:



Advertisements
Similar presentations
SMELS: Sat Modulo Equality with Lazy Superposition Christopher Lynch – Clarkson Duc-Khanh Tran - MPI.
Advertisements

A practical and complete approach to predicate abstraction Ranjit Jhala UCSD Ken McMillan Cadence Berkeley Labs.
Quantified Invariant Generation using an Interpolating Saturation Prover Ken McMillan Cadence Research Labs TexPoint fonts used in EMF: A A A A A.
Consequence Generation, Interpolants, and Invariant Discovery Ken McMillan Cadence Berkeley Labs.
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
The Model Evolution Calculus with Built-in Theories Peter Baumgartner MPI Informatik, Saarbrücken
Software Model Checking with SMT Ken McMillan Microsoft Research TexPoint fonts used in EMF: A A A A A.
50.530: Software Engineering
Satisfiability Modulo Theories (An introduction)
SMT Solvers (an extension of SAT) Kenneth Roe. Slide thanks to C. Barrett & S. A. Seshia, ICCAD 2009 Tutorial 2 Boolean Satisfiability (SAT) ⋁ ⋀ ¬ ⋁ ⋀
1 1 Regression Verification for Multi-Threaded Programs Sagar Chaki, SEI-Pittsburgh Arie Gurfinkel, SEI-Pittsburgh Ofer Strichman, Technion-Haifa Originally.
© Anvesh Komuravelli Spacer Automatic Abstraction in SMT-Based Unbounded Software Model Checking Anvesh Komuravelli Carnegie Mellon University Joint work.
© Anvesh Komuravelli Quantified Invariants in Rich Domains using Model Checking and Abstract Interpretation Anvesh Komuravelli, CMU Joint work with Ken.
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Mar, 4, 2015 Slide credit: some slides adapted from Stuart.
© 2011 Carnegie Mellon University SPIN: Part /614 Bug Catching: Automated Program Verification Sagar Chaki April 21, 2014.
Logic as the lingua franca of software verification Ken McMillan Microsoft Research TexPoint fonts used in EMF: A A A A A Joint work with Andrey Rybalchenko.
© 2010 Carnegie Mellon University B OXES : A Symbolic Abstract Domain of Boxes Arie Gurfinkel and Sagar Chaki Software Engineering Institute Carnegie Mellon.
© Anvesh Komuravelli IC3/PDR Overview of IC3/PDR Anvesh Komuravelli Carnegie Mellon University.
Panel on Decision Procedures Panel on Decision Procedures Randal E. Bryant Lintao Zhang Nils Klarlund Harald Ruess Sergey Berezin Rajeev Joshi.
© 2015 Carnegie Mellon University Property Directed Polyhedral Abstraction Nikolaj Bjørner and Arie Gurfinkel VMCAI 2015.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
Tuning SAT-checkers for Bounded Model-Checking A bounded guided tour Ofer Strichman Carnegie Mellon University.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Nikolaj Bjørner Microsoft Research Lecture 3. DayTopicsLab 1Overview of SMT and applications. SAT solving, Z3 Encoding combinatorial problems with Z3.
Solving Partial Order Constraints for LPO termination.
Pruning techniques for the SAT-based Bounded Model-Checking problem Ofer Shtrichman Weizmann Institute of Science & IBM - HRL.
Invisible Invariants: Underapproximating to Overapproximate Ken McMillan Cadence Research Labs TexPoint fonts used in EMF: A A A A A.
Ofer Strichman, Technion Deciding Combined Theories.
1 First order theories. 2 Satisfiability The classic SAT problem: given a propositional formula , is  satisfiable ? Example:  Let x 1,x 2 be propositional.
Constraint-based Invariant Inference. Invariants Dictionary Meaning: A function, quantity, or property which remains unchanged Property (in our context):
© 2015 Carnegie Mellon University Interpolating Property Directed Reachability Software Engineering Institute Carnegie Mellon University Pittsburgh, PA.
© 2015 Carnegie Mellon University Building Program Verifiers from Compilers and Theorem Provers Software Engineering Institute Carnegie Mellon University.
CMU, Oct 4 DPLL-based Checkers for Satisfiability Modulo Theories Cesare Tinelli Department of Computer Science The University of Iowa Joint work with.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
1 Automatic Non-interference Lemmas for Parameterized Model Checking Jesse Bingham, Intel DEG FMCAD 2008.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Ethan Jackson, Nikolaj Bjørner and Wolfram Schulte Research in Software Engineering (RiSE), Microsoft Research 1. A FORMULA for Abstractions and Automated.
© 2014 Carnegie Mellon University Synthesizing Safe Bit-Precise Invariants Arie Gurfinkel (SEI / CMU) Anton Belov (UCD / Synopsys) Joao Marques-Silva (UCD)
Proving Non-Termination Gupta, Henzinger, Majumdar, Rybalchenko, Ru-Gang Xu presentation by erkan.
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Oct, 30, 2015 Slide credit: some slides adapted from Stuart.
1 Finite Model Theory Lecture 1: Overview and Background.
© 2015 Carnegie Mellon University Parametric Symbolic Reachability Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Arie.
1 Reasoning with Infinite stable models Piero A. Bonatti presented by Axel Polleres (IJCAI 2001,
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding Combined Theories.
CS357 Lecture 13: Symbolic model checking without BDDs Alex Aiken David Dill 1.
© Anvesh Komuravelli Spacer Compositional Verification of Procedural Programs using Horn Clauses over Integers and Arrays Anvesh Komuravelli work done.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View Basic Concepts and Background.
© Anvesh Komuravelli Spacer Model Checking with Proofs and Counterexamples Anvesh Komuravelli Carnegie Mellon University Joint work with Arie Gurfinkel,
Satisfiability Modulo Theories and DPLL(T) Andrew Reynolds March 18, 2015.
Horn Clauses mc(x) = x-10 if x > 100 mc(x) = mc(mc(x+11)) if x  100 assert (x ≤
Building Program Verifiers from Compilers and Theorem Provers
Computer Science cpsc322, Lecture 20
Solving Constrained Horn Clauses by Property Directed Reachability
Interpolating Property Directed Reachability
SMT-Based Verification of Parameterized Systems
Solving Linear Arithmetic with SAT-based MC
Property Directed Reachability
Automating Induction for Solving Horn Clauses
Introduction to Software Verification
Satisfiability Modulo Theories
Lifting Propositional Interpolants to the Word-Level
Formal Program Specification
Georg Hofferek, Ashutosh Gupta, Bettina Könighofer, Jie-Hong Roland Jiang and Roderick Bloem Synthesizing Multiple Boolean Functions using Interpolation.
Inferring Simple Solutions to Recursion-free Horn Clauses via Sampling
MA/CSSE 474 More Math Review Theory of Computation
Logic Logic is a discipline that studies the principles and methods used to construct valid arguments. An argument is a related sequence of statements.
Formal Program Specification
CS589 Principles of DB Systems Fall 2008 Lecture 4e: Logic (Model-theoretic view of a DB) Lois Delcambre
Invertibility Conditions for Floating Point Formulas
Presentation transcript:

Parametric Symbolic Reachability Author Software Engineering Institute 9/13/2018 Parametric Symbolic Reachability Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Arie Gurfinkel ongoing work with Sharon Shoham-Buchbinder Title Slide Title and Subtitle text blocks should not be moved from their position if at all possible.

Symbolic reachability

Symbolic Reachability Problem P = (V, Init, Tr, Bad) P is UNSAFE if and only if there exists a number N s.t. P is SAFE if and only if there exists a safe inductive invariant Inv s.t. Inductive Safe

Constrained Horn Clauses (CHC) A Constrained Horn Clause (CHC) is a FOL formula of the form 8 V . (Á Æ p1[X1] Æ…Æ pn[Xn]  h[X]), where Á is a constrained in the background theory A A is a combined theory of Linear Arithmetic, Arrays, Bit-Vectors, … p1, …, pn, h are n-ary predicates pi[X] is an application of a predicate to first-order terms

Rule Query Fact Linear CHC Non-Linear CHC head body constraint CHC Terminology Rule h[X] à p1[X1],…, pn[Xn], Á. Query false à p1[X1],…, pn[Xn], Á. Fact h[X] à Á. Linear CHC h[X] à p[X1], Á. Non-Linear CHC h[X] à p1[X1],…, pn[Xn], Á. for n > 1

Example Horn Encoding

CHC Satisfiability A model of a set of clauses ¦ is an interpretation of each predicate pi that makes all clauses in ¦ valid A set of clauses is satisfiable if it has a model, otherwise unsatisfiable A model is A-definable, it each pi is definable by a formula Ãi in A In the context of program verification a program satisfies a property iff corresponding CHCs are satisfiable verification certificates correspond to models of CHC counterexamples correspond to derivations of false

Spacer: Solving CHC in Z3 Spacer: a solver for SMT-constrained Horn Clauses stand-alone implementation in a fork of Z3 http://bitbucket.org/spacer/code Support for Non-Linear CHC model procedure summaries in inter-procedural verification conditions model assume-guarantee reasoning uses MBP to under-approximate models for finite unfoldings of predicates uses MAX-SAT to decide on an unfolding strategy Supported SMT-Theories Best-effort support for arbitrary SMT-theories data-structures, bit-vectors, non-linear arithmetic Full support for Linear arithmetic (rational and integer) Quantifier-free theory of arrays only quantifier free models with limited applications of array equality

http://seahorn.github.io

Parametric Symbolic reachability

What we want to do … A. Cohen, K. S. Namjoshi: Local proofs for global safety properties. FMSD 34(2): 104-125 (2009)

What we want to do …

Parametric Symbolic Reachability Problem T = ( v, Init(v), Tr(i, N, v, v’), Bad (v) ) v is a set of state variables each vk 2 v is a map NatRat v is partitioned into Local(v) and Global(v) Init(v) and Bad(v) are initial and bad states, respectively Tr(i, N, v, v’) is a transition relation, parameterized by a process identifier i and total number of processes N All formulas are over the combined theories of arrays and LRA Init(v) and Bad(v) contain at most 2 quantifiers Init(v) = 8 x,y . Init(x, y, v), where Init is quantifier free (QF) Bad(v) = 8 x,y . Bad(x, y, v), where Bad is QF Tr contains at most 1 quantifier Tr(i, N, v, v’) = 8 j . ½ (i, j, N, v, v’)

A State of a Parametric System PID Global Local v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 1 2 3 4 5 6 … N

Extra restrictions on the transition relation Parametricity Tr depends only on first N entries of each state variable Locality Tr does not modify local variables of other proceses (Optional) Single-writer Every state-variable (including globals) is written by exactly one process

Parametric Symbolic Reachability T = (v, Init, Tr, Bad) T is UNSAFE if and only if there exists a number K s.t. T is SAFE if and only if there exists a safe inductive invariant Inv s.t. Safe(T)

Parametric vs Non-Parametric Reachability Safe(T) Init, Bad, and Tr might contain quantifiers e.g., “ALL processes start in unique locations” e.g., “only make a step if ALL other processes are ok” e.g., “EXIST two distinct process in a critical section” Inv cannot be assumed to be quantifier free QF Inv is either non-parametric or trivial Decide existence of quantified models for CHC stratify search by the number of quantifiers models with 1 quantifier, 2 quantifiers, 3 quantifiers, etc…

One quantifier two quantifier

One Quantifier (Solution) Safe1(T) Claim If Safe1(T) is QF-SAT then Safe(T) is SAT If Tr does not contain functions that range over PIDs, then Safe1(T) is QF-SAT only if Safe(T) admits a model definable with a single quantifier Safe1(T) is essentially Owicki-Gries for 2 processes i and j If Tr is single-writer then the 3rd rule is not needed get linear CHC

One Quantifier explained (induction rule) ( plug 8j.Inv1(j, v) for Inv(v) ) ( instantiate j by k and i ) Unless Tr contains other PIDs, no other instantiations are possible Split into two rules using i=k If Tr contains quantifiers, they can be instantiated using i and k as well

Two Quantifier (Solution) Safe2(T) Claim assume that Tr satisfies single-writer, then If Safe2(T) is QF-SAT then Safe(T) is SAT If Tr does not contain functions that range over PIDs, then Safe2(T) is QF-SAT only if Safe(T) admits a model definable with at most two quantifier Sngle-writer => linear CHC still working out good solution for general case

Symmetric Models Definition Claim A formula (x,y) is symmetric in (x,y) iff (x,y) , (y,x) Claim A set of CHC S admits a quantified model of the form 8 x, y. M(x, y) iff S admits a quantified model of the form 8 x, y. x  y ) H(x,y), where H(x,y) is symmetric in (x, y) (assuming that the sort of x,y is ¸ 2)

Two Quantifier Explained (induction rule) (plug 8x,y.xy ) Inv2(x,y,v) for Inv(v) ) (by symmetry, only need 3 instantiations (h,j) , (i, h), (i, j)) (split based on i hÆi j , i  h, i  j )

Two quantifiers explained (cont’d) single-writer duplicate symmetry

Two Quantifiers (repeated) Safe2(T) Claim assume that Tr satisfies single-writer, then If Safe2(T) is QF-SAT then Safe(T) is SAT If Tr does not contain functions that range over PIDs, then Safe2(T) is QF-SAT only if Safe(T) admits a model definable with at most two quantifier Sngle-writer => linear CHC still working out good solution for general case

What we can do now Peterson’s protocol  Input problem T and similar small protocols Input problem T Init, Transition, and Bad in (extension of) SMT-LIB format over combined theory of Linear Arithmetic and Arrays Generate Constrained Horn Clauses Safe1(T) or Safe2(T) Solve using QF CHC solver Spacer works for small protocols

Related Work Kedar Namjoshi et al. Andrey Rybalchenko et al. Local Proofs for Global Safety Properties, and many other papers systematic derivation of proof rules for concurrent systems finite state and fixed number of processes Andrey Rybalchenko et al. Compositional Verification of Multi-Threaded Programs, and others compositional proof rules for concurrent systems are CHC infinite state and fixed number of processes Lenore Zuck et al. Invisible Invariants finite state and parametric number of processes finite model theorem for special classes of parametric systems Nikolaj Bjørner, Kenneth L. McMillan, and Andrey Rybalchenko On Solving Universally Quantified Horn Clauses. SAS 2013:

Conclusion Parametric Verification == Quantified Models for CHC Quantifier instantiation to systematically derive proof rules for verification of safety properties of parametric systems parametric systems definable with SMT-LIB syntax Lazy vs Eager Quantifier Instantiation eager instantiation in this talk “easy” to extend to lazy / dynamic / model-based instantiation Connections with other work in parametric verification complete instantiation = decidability ? relative completeness …

? ?

Author Software Engineering Institute 9/13/2018 Contact Information Arie Gurfinkel, Ph. D. Sr. Researcher CSC/SSD Telephone: +1 412-268-5800 Email: info@sei.cmu.edu U.S. Mail Software Engineering Institute Customer Relations 4500 Fifth Avenue Pittsburgh, PA 15213-2612 USA Web www.sei.cmu.edu www.sei.cmu.edu/contact.cfm Email: info@sei.cmu.edu Telephone: +1 412-268-5800 SEI Phone: +1 412-268-5800 SEI Fax: +1 412-268-6257