Proving Non-Termination Gupta, Henzinger, Majumdar, Rybalchenko, Ru-Gang Xu presentation by erkan.

Slides:



Advertisements
Similar presentations
Model Checking Base on Interoplation
Advertisements

1 Verification by Model Checking. 2 Part 1 : Motivation.
Exploiting SAT solvers in unbounded model checking
Exploiting SAT solvers in unbounded model checking K. L. McMillan Cadence Berkeley Labs.
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
Constraint-based Invariant Inference over Predicate Abstraction Sumit Gulwani Ramarathnam Venkatesan Microsoft Research, Redmond Saurabh Srivastava University.
A System to Generate Test Data and Symbolically Execute Programs Lori A. Clarke September 1976.
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
Linked List Implementation class List { private List next; private Object data; private static List root; private static int size; public static void addNew(Object.
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
On Solving Presburger and Linear Arithmetic with SAT Ofer Strichman Carnegie Mellon University.
1 Symbolic Execution for Model Checking and Testing Corina Păsăreanu (Kestrel) Joint work with Sarfraz Khurshid (MIT) and Willem Visser (RIACS)
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
© Anvesh Komuravelli Quantified Invariants in Rich Domains using Model Checking and Abstract Interpretation Anvesh Komuravelli, CMU Joint work with Ken.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 13.
ESE601: Hybrid Systems Some tools for verification Spring 2006.
Compatibility between shared variable valuations in timed automaton network model- checking Zhao Jianhua, Zhou Xiuyi, Li Xuandong, Zheng Guoliang Presented.
Rahul Sharma, Saurabh Gupta, Bharath Hariharan, Alex Aiken, and Aditya Nori (Stanford, UC Berkeley, Microsoft Research India) Verification as Learning.
Linear Obfuscation to Combat Symbolic Execution Zhi Wang 1, Jiang Ming 2, Chunfu Jia 1 and Debin Gao 3 1 Nankai University 2 Pennsylvania State University.
Program Analysis as Constraint Solving Sumit Gulwani (MSR Redmond) Ramarathnam Venkatesan (MSR Redmond) Saurabh Srivastava (Univ. of Maryland) TexPoint.
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:
The Software Model Checker BLAST by Dirk Beyer, Thomas A. Henzinger, Ranjit Jhala and Rupak Majumdar Presented by Yunho Kim Provable Software Lab, KAIST.
Termination Proofs for Systems Code Andrey Rybalchenko, EPFL/MPI joint work with Byron Cook, MSR and Andreas Podelski, MPI PLDI’2006, Ottawa.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Synergy: A New Algorithm for Property Checking
Temporal Logic and Model Checking. Reactive Systems We often classify systems into two types: Transformational: functions from inputs available at the.
Bounded Model Checking EECS 290A Sequential Logic Synthesis and Verification.
Validating High-Level Synthesis Sudipta Kundu, Sorin Lerner, Rajesh Gupta Department of Computer Science and Engineering, University of California, San.
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan.
1 3rd of July 2009 CEA LIST Symbolic execution based model checking of open systems with unbounded variables Nicolas RAPIN CEA LIST.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
Deciding a Combination of Theories - Decision Procedure - Changki pswlab Combination of Theories Daniel Kroening, Ofer Strichman Presented by Changki.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
Decision Procedures An Algorithmic Point of View
7/13/2003BMC A SAT-Based Approach to Abstraction Refinement in Model Checking Bing Li, Chao Wang and Fabio Somenzi University of Colorado at Boulder.
Constraint-based Invariant Inference. Invariants Dictionary Meaning: A function, quantity, or property which remains unchanged Property (in our context):
By: Pashootan Vaezipoor Path Invariant Simon Fraser University – Spring 09.
Section 4-1: Introduction to Linear Systems. To understand and solve linear systems.
Graph Data Management Lab, School of Computer Science Add title here: Large graph processing
1 Probabilistic Model Checking of Systems with a Large State Space: A Stratified Approach Shou-pon Lin Advisor: Nicholas F. Maxemchuk Department of Electrical.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
Variance Analyses from Invariance Analyses Josh Berdine Microsoft Research, Cambridge Joint work with Aziem Chawdhary, Byron Cook, Dino.
Solving Systems Using Elimination
D Nagesh Kumar, IIScOptimization Methods: M3L2 1 Linear Programming Graphical method.
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
Formal verification of skiplist algorithms Student: Trinh Cong Quy Supervisor: Bengt Jonsson Reviewer: Parosh Abdulla.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Learning Symbolic Interfaces of Software Components Zvonimir Rakamarić.
SAT-Based Model Checking Without Unrolling Aaron R. Bradley.
CS357 Lecture 13: Symbolic model checking without BDDs Alex Aiken David Dill 1.
Bounded Model Checking A. Biere, A. Cimatti, E. Clarke, Y. Zhu, Symbolic Model Checking without BDDs, TACAS’99 Presented by Daniel Choi Provable Software.
Decision Procedures in First Order Logic
Learning Invariants using Decision Trees and Implication Counterexamples Pranav Garg Amazon India.
SS 2017 Software Verification Probabilistic modelling – DTMC / MDP
Data Structures and Algorithms
Solving Linear Arithmetic with SAT-based MC
Introduction to Software Verification
Arithmetic Constraints and Automata
Symbolic Implementation of the Best Transformer
Graphplan/ SATPlan Chapter
Over-Approximating Boolean Programs with Unbounded Thread Creation
Objective Graph and solve systems of linear inequalities in two variables.
CSCI1600: Embedded and Real Time Software
Graphplan/ SATPlan Chapter
Graphplan/ SATPlan Chapter
Predicate Abstraction
Presentation transcript:

Proving Non-Termination Gupta, Henzinger, Majumdar, Rybalchenko, Ru-Gang Xu presentation by erkan

Introduction and Motivation The focus of safety verification is on finding counterexamples and proofs. For liveness verification, the focus is on finding a proof for termination. This paper introduces a new approach for finding counterexamples to non- terminating executions of programs. The purpose is to eliminate false positives by adapting dynamic techniques.

Definitions and Motivating Example The algorithm checks if there are any feasible lassos in the program. A lasso is a finite program called stem followed by a loop. The algorithm has two steps: Finds candidate lassos, check for feasibility stem loop

Motivating Example

The idea behind the algorithm on this example: - a feasible program execution that reaches the head of the loop (the conditional lo < hi on line 3) with some state s - executes the body of the loop (lines 4-11) and goes back to the same state s - In this case, we can unwind the execution of the loop arbitrarily many times, starting at s, executing the loop and returning to s

Motivating Example Symbolic execution is used to check non- terminating behaviour Solved by a constraint solver and it will give constraint for the initial state X0X0 X stem X’ loop = ()

Case for Unbounded Ranges The previous approach is not sufficient Recurrent sets are used, if R is a recurrent set (1) R satisfies the loop predicate p, (2) some reachable state s satisfies R, and (3) for any state s satisfying R, the successor of s after executing the loop body is again in R.

The Algorithm

Proving Feasibility of Lassos A relation (execution in this case) is well-founded if it is terminating the lasso induces an infinite execution if the relation is not well-founded. How to check this? Recurrent sets

Finding Recurrent Sets 1.Bitwise Analysis if this constraint is satisfiable and can be implemented using Boolean satisfiability solving, it can be resolved by a bit-precise decision procedure

Finding Recurrent Sets 2.Linear Arithmetic Analysis The linear arithmetic analysis assumes that the program transitions are representable using conjunctions of linear inequalities over the program variables. The algorithm follows a constraint-based approach.

Finding Recurrent Sets The algorithm requires that a template for recurrent sets is provided. The proposed solution: - start with a template that is a singleton conjunction - incrementally add more conjuncts if the constraint solving fails

Finding Recurrent Sets Assume we have the template They define a recurrent set if the following condition holds Solving these constraints, we have a recurrent set

Thanks!