Introduction. Preliminaries. Original IC3. Tree-IC3. IC3 on Control Flow Automata. Conclusion
|
|
- Alvin Lane
- 5 years ago
- Views:
Transcription
1 ..
2 Introduction Preliminaries Original IC3 Tree-IC3 IC3 on Control Flow Automata Conclusion 2 of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
3 Introduction Preliminaries Original IC3 Tree-IC3 IC3 on Control Flow Automata Conclusion 3 of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
4 Lifting to software model checking IC3 had a deep impact in hardware model checking (HMC) showed much better performance than CEGAR and BMC Today employed in every major hardware model checking tool Challenges Domain in HMC finite (bit-level) How to handle infinite state space? 4 of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
5 Bit-blasting Encode variables as bit-vectors and use bit-blasting with bit-level IC3. ART unrolling Unroll abstract reachability tree, search for error path and try to construct clauses necessary to refute the path similar to blocking phase of IC3. Predicate Abstraction [WK13] [CG12] [BBW14] Use predicates to abstract the state space and apply bit-level IC3 on set of predicates. [WK13] Tobias Welp and Andreas Kuehlmann. ``QF BV model checking with property directed reachability''. In:. 2013, pp [CG12] Alessandro Cimatti and Alberto Griggio. ``Software Model Checking via IC3''. In:. 2012, pp [BBW14] Johannes Birgmeier, Aaron R. Bradley, and Georg Weissenbacher. ``Counterexample to Induction-Guided Abstraction-Refinement (CTIGAR)''.. In:. 2014, pp of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
6 Introduction Preliminaries Original IC3 Tree-IC3 IC3 on Control Flow Automata Conclusion 6 of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
7 Control Flow Automaton (CFA) A CFA A = (L, G) consists of a set of L = {0,, n} and edges in G L QF F O L labeled with quantifier-free first-order formulas. Program A program P = (A, l 0, l E ) contains a CFA A representing the control flow, an initial location l 0 and an error location l E. Transition formula Given two locations l 1, l 2 L, we define the T l1 l 2 = { (pc = l 1) t (pc = l 2 ) false, if (l 1, t, l 2 ) G, otherwise. 7 of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
8 Relative Inductiveness Given a transition formula T = to another formula ψ if is valid. Edge-Relative Inductiveness T l1 l 2, a formula φ is inductive relative (l 1,t,l 2 ) G ψ φ T φ (1) Given a CFA A and locations l 1, l 2 L, a formula φ is edge-relative inductive to another formula ψ if is valid. ψ φ T l1 l 2 φ (2) 8 of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
9 Data Region [Hen+02] A, represented by quantifier-free FO formula s over V ar is the set of all variable assignments σ satisfying s, i.e. {σ σ s}. Region Define a r = (l, s) as a pair consisting of location l and data region s. A corresponding formula for r is the formula φ = (pc = l s) and every formula ψ, s.t. φ ψ. Using correspondence, we can define the meaning of the negation of a region r by its corresponding formula φ = (pc = l s). Given two regions r 1, r 2 and their corresponding propositional formula φ 1, φ 2, then r 1 is inductive relative to r 2 iff φ 1 is inductive relative to φ 2. [Hen+02] Thomas A. Henzinger et al. ``Lazy abstraction''. In:. 2002, pp of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
10 Edge-Relative Inductive Regions Assume two regions r 1 = (l 1, s 1 ), r 2 = (l 2, s 2 ), we can reduce edge-relative inductiveness of r 2 to r 1 to s 1 T l1 l 2 s 2, if l 2 l 1 (3) s 1 s 2 T l1 l 2 s 2, if l 2 = l 1 (4) 10 of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
11 Introduction Preliminaries Original IC3 Tree-IC3 IC3 on Control Flow Automata Conclusion 11 of 22 Lifting IC3 to Control Flow Automata Tim Lange
12 Recap [Bra11] Initial checks (0- and 1-step reachable counterexamples) Find CTI (P -state with a transition to P -state) Loop: If obligation is inductive relative to F i 1 block it, otherwise new obligation Break loop if obligation at level 0 found (raise cex) or no proof obligation left If no obligation left, push clauses forward check termination proceed with k + 1 [Bra11] Aaron R. Bradley. ``SAT-Based Model Checking without Unrolling''. In:. 2011, pp of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
13 Introduction Preliminaries Original IC3 Tree-IC3 IC3 on Control Flow Automata Conclusion 13 of 22 Lifting IC3 to Control Flow Automata Tim Lange
14 ART unrolling Unroll the ART and search for abstract error path [CG12] Spurious? Procedure that mimics blocking phase of IC3 Try to produce clauses necessary for refutation Successful if empty clause created at some point Termination The algorithm terminates like standard lazy abstraction when all nodes are closed. [CG12] Alessandro Cimatti and Alberto Griggio. ``Software Model Checking via IC3''. In:. 2012, pp of 22 Lifting IC3 to Control Flow Automata Tim Lange
15 Introduction Preliminaries Original IC3 Tree-IC3 IC3 on Control Flow Automata Conclusion 15 of 22 Lifting IC3 to Control Flow Automata Tim Lange
16 Idea Encoding of control flow using special pc variable not efficient Extract control flow in form of a CFA Instead of unrolling into ART apply IC3 directly on CFA For every location in the CFA construct frames F 0,, F k Frames represent overapproximations of i-step reachability in location explicit control flow locations allow to take only single transitions into account 16 of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
17 Inner loop bool backwardblock( i: int, l : location, s: data region) Q.add( i, l, s) Q > 0 (i, l, s) = Q.pop i = 0 false each l, s.t. (l, f, l ) G l = l and sat(f (i 1,l) s ll s ) generate predecessor c of s add (i 1, l, c) and (i, l, s) to Q l l and sat(f (i 1,l) ll s ) generate predecessor c of s add (i 1, l, c) and (i, l, s) to Q block s in frames F (j,l ) for 0 j i true 17 of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
18 18 of 22 Lifting IC3 to Control Flow Automata Tim Lange
19 Introduction Preliminaries Original IC3 Tree-IC3 IC3 on Control Flow Automata Conclusion 19 of 22 Lifting IC3 to Control Flow Automata Tim Lange
20 Queries Through inspection of only specific transitions, we can use a single edge formula instead of giving the whole transition relation to the solver No unrolling By using F i frames in every location of the CFA we can operate on the CFA exclusively. Thus no need for unrolling the CFA and a truer lifting of IC3 to software model checking. Stronger relative inductiveness When considering self-loops we can use the stronger relative inductiveness that is used in the original IC3. 20 of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
21 Existing improvements Try to apply existing optimizations to IC3 on CFA, such as Triggered Clause Pushing or learning from Counterexamples to Generalization. Generalizations Generalizations are a crucial point in IC3. However, there is no real generalization for Software IC3 yet. Generalize a WP over multiple locations in CFA? Combine different forms of WP to get something like a generalization? How can generalizations be characterized? Completely new technique for generalization? 21 of 22 Lifting IC3 to Control Flow Automata Tim Lange tim.lange@cs.rwth-aachen.de
22 Johannes Birgmeier, Aaron R. Bradley, and Georg Weissenbacher. ``Counterexample to Induction-Guided Abstraction-Refinement (CTIGAR)''. In:. 2014, pp Aaron R. Bradley. ``SAT-Based Model Checking without Unrolling''. In:. 2011, pp Alessandro Cimatti and Alberto Griggio. ``Software Model Checking via IC3''. In:. 2012, pp Thomas A. Henzinger et al. ``Lazy abstraction''. In:. 2002, pp Tobias Welp and Andreas Kuehlmann. ``QF BV model checking with property directed reachability''. In:. 2013, pp of 22 Lifting IC3 to Control Flow Automata Tim Lange
Software Model Checking. Xiangyu Zhang
Software Model Checking Xiangyu Zhang Symbolic Software Model Checking CS510 S o f t w a r e E n g i n e e r i n g Symbolic analysis explicitly explores individual paths, encodes and resolves path conditions
More informationSoftware Model Checking with Abstraction Refinement
Software Model Checking with Abstraction Refinement Computer Science and Artificial Intelligence Laboratory MIT Armando Solar-Lezama With slides from Thomas Henzinger, Ranjit Jhala and Rupak Majumdar.
More informationCounterexample Guided Abstraction Refinement in Blast
Counterexample Guided Abstraction Refinement in Blast Reading: Checking Memory Safety with Blast 17-654/17-754 Analysis of Software Artifacts Jonathan Aldrich 1 How would you analyze this? * means something
More informationCS 510/13. Predicate Abstraction
CS 50/3 Predicate Abstraction Predicate Abstraction Extract a finite state model from an infinite state system Used to prove assertions or safety properties Successfully applied for verification of C programs
More informationTHE results of the last four Hardware Model Checking
.9/TCAD.205.248869, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems Comparing Different Variants of the IC3 Algorithm for Hardware Model Checking Alberto Griggio and Marco
More informationMore on Verification and Model Checking
More on Verification and Model Checking Wednesday Oct 07, 2015 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/60 Course fair! 2/60 Exam st October 21, 8:00 13:00 If you want to participate,
More informationParameter Synthesis with IC3
Parameter Synthesis with IC3 Alessandro Cimatti Email: cimatti@fbk.eu Alberto Griggio Email: griggio@fbk.eu Sergio Mover Email: mover@fbk.eu Stefano Tonetta Email: tonettas@fbk.eu Abstract Parametric systems
More informationStatic Program Analysis
Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-1617/spa/ Schedule of Lectures Jan 17/19: Interprocedural DFA
More informationInterpolation-based Software Verification with Wolverine
Interpolation-based Software Verification with Wolverine Daniel Kroening 1 and Georg Weissenbacher 2 1 Computer Science Department, Oxford University 2 Department of Electrical Engineering, Princeton University
More informationUfo: A Framework for Abstraction- and Interpolation-Based Software Verification
Ufo: A Framework for Abstraction- and Interpolation-Based Software Verification Aws Albarghouthi 1, Yi Li 1, Arie Gurfinkel 2, and Marsha Chechik 1 1 Department of Computer Science, University of Toronto,
More informationBetter Generalization in IC3
Better Generalization in IC3 Zyad Hassan Aaron R. Bradley Fabio Somenzi Department of Electrical, Computer, and Energy Engineering University of Colorado at Boulder Oct 23, 2013 Hassan, Bradley, Somenzi
More informationHaving a BLAST with SLAM
Having a BLAST with SLAM Meeting, CSCI 555, Fall 20 Announcements Homework 0 due Sat Questions? Move Tue office hours to -5pm 2 Software Model Checking via Counterexample Guided Abstraction Refinement
More informationModel Checking Parallel Programs with Inputs
Model Checking Parallel Programs with Inputs Jiří Barnat, Petr Bauch and Vojtěch Havel 12 February 2014 Barnat et. al. (ParaDiSe) Control Explicit Data Symbolic 1 / 23 Motivation: Parallel Software Verification
More informationEUForia: Uninterpreted Functions Abstraction with Incremental Induction. University of Michigan
EUForia: Uninterpreted Functions Abstraction with Incremental Induction Denis Bueno Karem A. Sakallah University of Michigan June 18, 2018 Abstract We investigate a novel algorithm for an IC3-style checker
More informationFormal Methods for Software Development
Formal Methods for Software Development Model Checking with Temporal Logic Wolfgang Ahrendt 21st September 2018 FMSD: Model Checking with Temporal Logic /GU 180921 1 / 37 Model Checking Check whether a
More informationHaving a BLAST with SLAM
Announcements Having a BLAST with SLAM Meetings -, CSCI 7, Fall 00 Moodle problems? Blog problems? Looked at the syllabus on the website? in program analysis Microsoft uses and distributes the Static Driver
More informationOn Reasoning about Finite Sets in Software Checking
On Reasoning about Finite Sets in Software Model Checking Pavel Shved Institute for System Programming, RAS SYRCoSE 2 June 2010 Static Program Verification Static Verification checking programs against
More informationBDD-based software verification
Int J Softw Tools Technol Transfer (2014) 16:507 518 DOI 10.1007/s10009-014-0334-1 RERS BDD-based software verification Applications to event-condition-action systems Dirk Beyer Andreas Stahlbauer Published
More informationWhere Can We Draw The Line?
Where Can We Draw The Line? On the Hardness of Satisfiability Problems Complexity 1 Introduction Objectives: To show variants of SAT and check if they are NP-hard Overview: Known results 2SAT Max2SAT Complexity
More informationDIPARTIMENTO DI INGEGNERIA E SCIENZA DELL INFORMAZIONE Povo Trento (Italy), Via Sommarive 14
UNIVERSITY OF TRENTO DIPARTIMENTO DI INGEGNERIA E SCIENZA DELL INFORMAZIONE 38050 Povo Trento (Italy), Via Sommarive 14 http://www.disi.unitn.it SOFTWARE MODEL CHECKING VIA LARGE-BLOCK ENCODING Dirk Beyer,
More informationDefinition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,,
CMPSCI 601: Recall From Last Time Lecture 5 Definition: A context-free grammar (CFG) is a 4- tuple, variables = nonterminals, terminals, rules = productions,,, are all finite. 1 ( ) $ Pumping Lemma for
More informationBDD-Based Software Verification
Software Tools for Technology Transfer manuscript No. (will be inserted by the editor) BDD-Based Software Verification Applications to Event-Condition-Action Systems Dirk Beyer and Andreas Stahlbauer University
More informationEngineering 9867 Advanced Computing Concepts
Engineering 9867 Advanced Computing Concepts Assignment #2 Sample solutions Due: Tuesday, April 2 at 9. [ points] Consider the following implementation of the palindrome checking problem (question 4 on
More informationSoftware Model Checking. From Programs to Kripke Structures
Software Model Checking (in (in C or or Java) Java) Model Model Extraction 1: int x = 2; int y = 2; 2: while (y
More informationKRATOS A Software Model Checker for SystemC
KRATOS A Software Model Checker for SystemC A. Cimatti, A. Griggio, A. Micheli, I. Narasamdya, and M. Roveri Fondazione Bruno Kessler Irst {cimatti,griggio,amicheli,narasamdya,roveri}@fbk.eu Abstract.
More informationDeductive Methods, Bounded Model Checking
Deductive Methods, Bounded Model Checking http://d3s.mff.cuni.cz Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Deductive methods Pavel Parízek Deductive Methods, Bounded
More informationKRATOS A Software Model Checker for SystemC
KRATOS A Software Model Checker for SystemC A. Cimatti, A. Griggio, A. Micheli, I. Narasamdya, and M. Roveri Fondazione Bruno Kessler Irst {cimatti,griggio,amicheli,narasamdya,roveri}@fbk.eu Abstract.
More informationSMT-Based Bounded Model Checking for Embedded ANSI-C Software. Lucas Cordeiro, Bernd Fischer, Joao Marques-Silva
SMT-Based Bounded Model Checking for Embedded ANSI-C Software Lucas Cordeiro, Bernd Fischer, Joao Marques-Silva b.fischer@ecs.soton.ac.uk Bounded Model Checking (BMC) Basic Idea: check negation of given
More informationProperty-Directed Shape Analysis
Property-Directed Shape Analysis S. Itzhaky 1, N. Bjørner 2, T. Reps 3,4, M. Sagiv 1, and A. Thakur 3 1 Tel Aviv University, Tel Aviv, Israel 2 Microsoft Research, USA 3 University of Wisconsin Madison,
More informationLearning Support Sets in IC3 and Quip: the Good, the Bad, and the Ugly
Learning Support Sets in IC3 and Quip: the Good, the Bad, and the Ugly Ryan Berryhill Dept. of ECE University of Toronto Toronto, Canada ryan@eecg.toronto.edu Alexander Ivrii IBM Research Haifa, Israel
More informationLecture 2: Symbolic Model Checking With SAT
Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.
More informationAlgorithms for Software Model Checking: Predicate Abstraction vs. IMPACT
Algorithms for Software Model Checking: Predicate Abstraction vs. IMPACT Dirk Beyer University of Passau, Germany Philipp Wendler University of Passau, Germany Abstract CEGAR, SMT solving, and Craig interpolation
More informationConfigurable Software Model Checking
Configurable Software Model Checking CPAchecker Dirk Beyer Dirk Beyer 1 / 26 Software Verification C Program int main() { int a = foo(); int b = bar(a); } assert(a == b); Verification Tool TRUE i.e., specification
More informationScalable Program Verification by Lazy Abstraction
Scalable Program Verification by Lazy Abstraction Ranjit Jhala U.C. Berkeley ars, July, 997 Lost contact due to real-time priority inversion bug ars, December, 999 Crashed due to uninitialized variable
More informationFinite Model Generation for Isabelle/HOL Using a SAT Solver
Finite Model Generation for / Using a SAT Solver Tjark Weber webertj@in.tum.de Technische Universität München Winterhütte, März 2004 Finite Model Generation for / p.1/21 is a generic proof assistant: Highly
More informationPredicate Abstraction with Adjustable-Block Encoding
Predicate Abstraction with Adjustable-Block Encoding Dirk Beyer Simon Fraser University / University of Passau M. Erkan Keremoglu Simon Fraser University, B.C., Canada Philipp Wendler University of Passau,
More informationAn Introduction to Satisfiability Modulo Theories
An Introduction to Satisfiability Modulo Theories Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se February 13, 2019 1/28 Outline From theory... From DPLL to DPLL(T) Slides courtesy of Alberto
More informationHaving a BLAST with SLAM
Having a BLAST with SLAM # #2 Topic: Software Model Checking via Counter-Example Guided Abstraction Refinement There are easily two dozen SLAM/BLAST/MAGIC papers; I will skim. #3 SLAM Overview INPUT: Program
More informationSymbolic and Concolic Execution of Programs
Symbolic and Concolic Execution of Programs Information Security, CS 526 Omar Chowdhury 10/7/2015 Information Security, CS 526 1 Reading for this lecture Symbolic execution and program testing - James
More informationSoftware Model Checking via Large-Block Encoding
Software Model Checking via Large-Block Encoding Dirk Beyer Simon Fraser University Alessandro Cimatti FBK-irst, Trento Alberto Griggio University of Trento & Simon Fraser University M. Erkan Keremoglu
More informationFinite State Verification. CSCE Lecture 14-02/25/2016
Finite State Verification CSCE 747 - Lecture 14-02/25/2016 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee
More informationCSE507. Practical Applications of SAT. Computer-Aided Reasoning for Software. Emina Torlak
Computer-Aided Reasoning for Software CSE507 Practical Applications of SAT courses.cs.washington.edu/courses/cse507/18sp/ Emina Torlak emina@cs.washington.edu Today Past 2 lectures The theory and mechanics
More informationInductive Invariant Generation via Abductive Inference
Inductive Invariant Generation via Abductive Inference Isil Dillig Department of Computer Science College of William & Mary idillig@cs.wm.edu Thomas Dillig Department of Computer Science College of William
More informationUnbounded, Fully Symbolic Model Checking of Timed Automata using Boolean Methods
Appeared at CAV 03 Unbounded, Fully Symbolic Model Checking of Timed Automata using Boolean Methods Sanjit A. Seshia and Randal E. Bryant School of Computer Science, Carnegie Mellon University, Pittsburgh,
More informationResolution (14A) Young W. Lim 6/14/14
Copyright (c) 2013-2014. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free
More informationOverview. Discrete Event Systems - Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?
Computer Engineering and Networks Overview Discrete Event Systems - Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two
More informationTowards a Logical Reconstruction of Relational Database Theory
Towards a Logical Reconstruction of Relational Database Theory On Conceptual Modelling, Lecture Notes in Computer Science. 1984 Raymond Reiter Summary by C. Rey November 27, 2008-1 / 63 Foreword DB: 2
More informationSymbolic Methods. The finite-state case. Martin Fränzle. Carl von Ossietzky Universität FK II, Dpt. Informatik Abt.
Symbolic Methods The finite-state case Part I Martin Fränzle Carl von Ossietzky Universität FK II, Dpt. Informatik Abt. Hybride Systeme 02917: Symbolic Methods p.1/34 What you ll learn How to use and manipulate
More informationAbstraction techniques for Floating-Point Arithmetic
Abstraction techniques for Floating-Point Arithmetic Angelo Brillout 1, Daniel Kroening 2 and Thomas Wahl 2 1 ETH Zurich, 2 Oxford University ETH Zürich Floating-Point Arithmetic (FPA) Used for embedded
More informationFinite State Verification. CSCE Lecture 21-03/28/2017
Finite State Verification CSCE 747 - Lecture 21-03/28/2017 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee
More informationMinimum Satisfying Assignments for SMT. Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U.
Minimum Satisfying Assignments for SMT Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U. 1 / 20 Satisfiability Modulo Theories (SMT) Today, SMT solvers
More informationOn Reasoning About Finite Sets in Software Model Checking
On Reasoning About Finite Sets in Software Model Checking Pavel Shved Institute for System Programming, RAS email: shved@ispras.ru Abstract A number of static checking techniques is based on constructing
More information4/6/2011. Model Checking. Encoding test specifications. Model Checking. Encoding test specifications. Model Checking CS 4271
Mel Checking LTL Property System Mel Mel Checking CS 4271 Mel Checking OR Abhik Roychoudhury http://www.comp.nus.edu.sg/~abhik Yes No, with Counter-example trace 2 Recap: Mel Checking for mel-based testing
More informationPANDA: Simultaneous Predicate Abstraction and Concrete Execution
PANDA: Simultaneous Predicate Abstraction and Concrete Execution Jakub Daniel and Pavel Parízek Charles University in Prague, Faculty of Mathematics and Physics, Department of Distributed and Dependable
More informationFormal Verification of Embedded Software in Medical Devices Considering Stringent Hardware Constraints
Formal Verification of Embedded Software in Medical Devices Considering Stringent Hardware Constraints L. Cordeiro, B. Fischer, H. Chen, J. P. Marques-Silva Lucas Cordeiro lcc08r@ecs.soton.ac.uk Agenda
More informationFrom OCL to Propositional and First-order Logic: Part I
22c181: Formal Methods in Software Engineering The University of Iowa Spring 2008 From OCL to Propositional and First-order Logic: Part I Copyright 2007-8 Reiner Hähnle and Cesare Tinelli. Notes originally
More informationFormally Certified Satisfiability Solving
SAT/SMT Proof Checking Verifying SAT Solver Code Future Work Computer Science, The University of Iowa, USA April 23, 2012 Seoul National University SAT/SMT Proof Checking Verifying SAT Solver Code Future
More informationVerifying Temporal Properties via Dynamic Program Execution. Zhenhua Duan Xidian University, China
Verifying Temporal Properties via Dynamic Program Execution Zhenhua Duan Xidian University, China Main Points Background & Motivation MSVL and Compiler PPTL Unified Program Verification Tool Demo Conclusion
More informationXuandong Li. BACH: Path-oriented Reachability Checker of Linear Hybrid Automata
BACH: Path-oriented Reachability Checker of Linear Hybrid Automata Xuandong Li Department of Computer Science and Technology, Nanjing University, P.R.China Outline Preliminary Knowledge Path-oriented Reachability
More informationAshish Sabharwal Computer Science and Engineering University of Washington, Box Seattle, Washington
MODEL CHECKING: TWO DECADES OF NOVEL TECHNIQUES AND TRENDS PHD GENERAL EXAM REPORT Ashish Sabharwal Computer Science and Engineering University of Washington, Box 352350 Seattle, Washington 98195-2350
More informationModel-Checking Concurrent Systems
Model-Checking Concurrent Systems Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang
More informationSliced Path Prefixes: An Effective Method to Enable Refinement Selection
FORTE '15 Sliced Path Prefixes: An Effective Method to Enable Refinement Selection Dirk Beyer, Stefan Löwe, Philipp Wendler SoSy-Lab Software Systems We want Refinement Selection!!! Because straight-forward
More informationUnbounded Model-Checking with Interpolation for Regular Language Constraints
Unbounded Model-Checking with Interpolation for Regular Language Constraints Graeme Gange, Jorge A. Navas, Peter J. Stuckey, Harald Søndergaard, and Peter Schachte The University of Melbourne {ggange,jnavas,pjs,harald,schachte}@csse.unimelb.edu.au
More informationHaving a BLAST with SLAM
Having a BLAST with SLAM # #2 Topic: Software Model Checking via Counter-Example Guided Abstraction Refinement There are easily two dozen SLAM/BLAST/MAGIC papers; I will skim. #3 SLAM Overview INPUT: Program
More informationCS 512, Spring 2017: Take-Home End-of-Term Examination
CS 512, Spring 2017: Take-Home End-of-Term Examination Out: Tuesday, 9 May 2017, 12:00 noon Due: Wednesday, 10 May 2017, by 11:59 am Turn in your solutions electronically, as a single PDF file, by placing
More informationThe software model checker BLAST
Int J Softw Tools Technol Transfer (2007) 9:505 525 DOI 10.1007/s10009-007-0044-z SPECIAL SECTION FASE 04/ 05 The software model checker BLAST Applications to software engineering Dirk Beyer Thomas A.
More informationLecture Notes on Real-world SMT
15-414: Bug Catching: Automated Program Verification Lecture Notes on Real-world SMT Matt Fredrikson Ruben Martins Carnegie Mellon University Lecture 15 1 Introduction In the previous lecture we studied
More informationBonsai: Cutting Models Down to Size
Bonsai: Cutting Models Down to Size Stefan Vijzelaar, Kees Verstoep, Wan Fokkink, and Henri Bal VU University Amsterdam, The Netherlands {s.j.j.vijzelaar,c.verstoep,w.j.fokkink,h.e.bal}@vu.nl Abstract
More informationBDD-Based Software Model Checking with CPAchecker
BDD-Based Software Model Checking with CPAchecker Dirk Beyer and Andreas Stahlbauer University of Passau, Germany Abstract. In symbolic software model checking, most approaches use predicates as symbolic
More informationModel-Checking Concurrent Systems. The Model Checker Spin. The Model Checker Spin. Wolfgang Schreiner
Model-Checking Concurrent Systems Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at 1.
More informationEfficiently Reasoning about Programs
Efficiently Reasoning about Programs Neil Immerman College of Computer and Information Sciences University of Massachusetts, Amherst Amherst, MA, USA people.cs.umass.edu/ immerman co-r.e. complete Halt
More informationOverview. CS389L: Automated Logical Reasoning. Lecture 6: First Order Logic Syntax and Semantics. Constants in First-Order Logic.
Overview CS389L: Automated Logical Reasoning Lecture 6: First Order Logic Syntax and Semantics Işıl Dillig So far: Automated reasoning in propositional logic. Propositional logic is simple and easy to
More informationModule 6. Knowledge Representation and Logic (First Order Logic) Version 2 CSE IIT, Kharagpur
Module 6 Knowledge Representation and Logic (First Order Logic) Lesson 15 Inference in FOL - I 6.2.8 Resolution We have introduced the inference rule Modus Ponens. Now we introduce another inference rule
More informationComplete Instantiation of Quantified Formulas in Satisfiability Modulo Theories. ACSys Seminar
Complete Instantiation of Quantified Formulas in Satisfiability Modulo Theories Yeting Ge Leonardo de Moura ACSys Seminar 2008.12 Motivation SMT solvers have been successful Quantified smt formulas are
More informationMotivation. CS389L: Automated Logical Reasoning. Lecture 17: SMT Solvers and the DPPL(T ) Framework. SMT solvers. The Basic Idea.
Motivation Lecture 17: SMT rs and the DPPL(T ) Framework şıl Dillig n previous lectures, we looked at decision procedures for conjunctive formulas in various first-order theories This lecture: How to handle
More informationIntegrity Constraints (Chapter 7.3) Overview. Bottom-Up. Top-Down. Integrity Constraint. Disjunctive & Negative Knowledge. Proof by Refutation
CSE560 Class 10: 1 c P. Heeman, 2010 Integrity Constraints Overview Disjunctive & Negative Knowledge Resolution Rule Bottom-Up Proof by Refutation Top-Down CSE560 Class 10: 2 c P. Heeman, 2010 Integrity
More informationCombining Model Checking and Data-Flow Analysis
Combining Model Checking and Data-Flow Analysis Dirk Beyer, Sumit Gulwani, and David A. Schmidt Abstract Until recently, model checking and data-flow analysis two traditional approaches to software verification
More informationPKIND: A parallel k-induction based model checker
PKIND: A parallel k-induction based model checker Temesghen Kahsai The University of Iowa temesghen-kahsaiazene@uiowa.edu Cesare Tinelli The University of Iowa cesare-tinelli@uiowa.edu PKIND is a novel
More informationIncremental Proof Development in Dafny
15-414 Lecture 17 1 Instructor: Matt Fredrikson Incremental Proof Development in Dafny TA: Ryan Wagner In this discussion, we ll see in more detail how to go about proving the total correctness of imperative
More informationFormal Verification: Practical Exercise Model Checking with NuSMV
Formal Verification: Practical Exercise Model Checking with NuSMV Jacques Fleuriot Daniel Raggi Semester 2, 2017 This is the first non-assessed practical exercise for the Formal Verification course. You
More informationEPR-based k-induction with Counterexample Guided Abstraction Refinement
EPiC Series in Computer Science Volume 36, 2015, Pages 137 150 GCAI 2015. Global Conference on Artificial Intelligence EPR-based k-induction with Counterexample Guided Abstraction Refinement Zurab Khasidashvili,
More informationNo model may be available. Software Abstractions. Recap on Model Checking. Model Checking for SW Verif. More on the big picture. Abst -> MC -> Refine
No model may be available Programmer Software Abstractions Tests Coverage Code Abhik Roychoudhury CS 5219 National University of Singapore Testing Debug Today s lecture Abstract model (Boolean pgm.) Desirable
More informationComputability Theory
CS:4330 Theory of Computation Spring 2018 Computability Theory Other NP-Complete Problems Haniel Barbosa Readings for this lecture Chapter 7 of [Sipser 1996], 3rd edition. Sections 7.4 and 7.5. The 3SAT
More informationTowards a Software Model Checker for ML. Naoki Kobayashi Tohoku University
Towards a Software Model Checker for ML Naoki Kobayashi Tohoku University Joint work with: Ryosuke Sato and Hiroshi Unno (Tohoku University) in collaboration with Luke Ong (Oxford), Naoshi Tabuchi and
More informationSeaHorn: Software Model Checking with SMT and AI
SeaHorn: Software Model Checking with SMT and AI Arie Gurfinkel Department of Electrical and Computer Engineering University of Waterloo Waterloo, Ontario, Canada http://ece.uwaterloo.ca/~agurfink based
More informationOpenNWA: A Nested-Word-Automaton Library
OpenNWA: A Nested-Word-Automaton Library Evan Driscoll 1, Aditya Thakur 1, and Thomas Reps 1,2 1 Computer Sciences Department, University of Wisconsin Madison {driscoll,adi,reps}@wisc.edu 2 GrammaTech,
More informationProof Pearl: The Termination Analysis of Terminator
Proof Pearl: The Termination Analysis of Terminator Joe Hurd Computing Laboratory Oxford University joe.hurd@comlab.ox.ac.uk Abstract. Terminator is a static analysis tool developed by Microsoft Research
More informationTRACER: A Symbolic Execution Tool for Verification
TRACER: A Symbolic Execution Tool for Verification Joxan Jaffar, Vijayaraghavan Murali, Jorge A. Navas, and Andrew E. Santosa 3 National University of Singapore The University of Melbourne 3 University
More informationIntroduction to Logic Programming
Introduction to Logic Programming Foundations, First-Order Language Temur Kutsia RISC, Johannes Kepler University Linz, Austria kutsia@risc.jku.at What is a Logic Program Logic program is a set of certain
More informationEfficiently Solving Bit-Vector Problems Using Model Checkers
Efficiently Solving Bit-Vector Problems Using Model Checkers Andreas Fröhlich, Gergely Kovásznai, Armin Biere Institute for Formal Models and Verification Johannes Kepler University, Linz, Austria Abstract
More informationAutomatic Abstraction without Counterexamples
Automatic Abstraction without Counterexamples Kenneth L. McMillan and Nina Amla Cadence Design Systems Abstract. A method of automatic abstraction is presented that uses proofs of unsatisfiability derived
More informationWhat is a Logic Program. Introduction to Logic Programming. Introductory Examples. Introductory Examples. Foundations, First-Order Language
What is a Logic Program Introduction to Logic Programming Foundations, First-Order Language Temur Kutsia Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria kutsia@risc.jku.at
More informationarxiv: v2 [cs.pl] 3 Apr 2018
1 Scheduling Constraint Based Abstraction Refinement for Multi-Threaded Program Verification arxiv:1708.08323v2 [cs.pl] 3 Apr 2018 LIANGZE YIN, School of Computer, National University of Defense Technology,
More informationMulti Domain Logic and its Applications to SAT
Multi Domain Logic and its Applications to SAT Tudor Jebelean RISC Linz, Austria Tudor.Jebelean@risc.uni-linz.ac.at Gábor Kusper Eszterházy Károly College gkusper@aries.ektf.hu Abstract We describe a new
More informationParametric Real Time System Feasibility Analysis Using Parametric Timed Automata
Parametric Real Time System Feasibility Analysis Using Parametric Timed Automata PhD Dissertation Yusi Ramadian Advisor : Luigi Palopoli Co advisor : Alessandro Cimatti 1 Real Time System Applications
More informationT Reactive Systems: Kripke Structures and Automata
Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Kripke Structures and Automata Spring 2005, Lecture 3 January 31, 2005 Tik-79.186 Reactive Systems 2 Properties of systems invariants: the system
More informationFormal Verification at Higher Levels of Abstraction
Formal Verification at Higher Levels of Abstraction Daniel Kroening Oxford University Computing Laboratory kroening@kroening.com Sanjit A. Seshia UC Berkeley sseshia@eecs.berkeley.edu Abstract Most formal
More informationResearch Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001
Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright
More informationAbstract Interpretation
Abstract Interpretation Ranjit Jhala, UC San Diego April 22, 2013 Fundamental Challenge of Program Analysis How to infer (loop) invariants? Fundamental Challenge of Program Analysis Key issue for any analysis
More informationCSC Discrete Math I, Spring Sets
CSC 125 - Discrete Math I, Spring 2017 Sets Sets A set is well-defined, unordered collection of objects The objects in a set are called the elements, or members, of the set A set is said to contain its
More information