Basic Concepts of Abstract Interpretation
|
|
- Charleen Houston
- 5 years ago
- Views:
Transcription
1 Programming Research Laboratory Seoul National University Basic Concepts of Abstract Interpretation Soonho Kong soon/ May 25, 2007 Work of P. Cousot and R.Cousot Basic Concepts of Abstract Interpretation, 1 / 35
2 P. Cousot and R. Cousot. Basic Concepts of Abstract Interpretation. In Building the Information Society, R. Jacquard (Ed.), pages Kluwer Academic Publishers Basic Concepts of Abstract Interpretation, 2 / 35
3 Overview Goal To Understand basic concepts of abstract interpretation. Basic Concepts of Abstract Interpretation, 3 / 35
4 Overview Contents Overview Introduction Transition Systems Partial Trace Semantics The Reflexive Transitive Closure Semantics The Reachability Semantics The Interval Semantics Convergence Acceleration Conclusion Basic Concepts of Abstract Interpretation, 4 / 35
5 Introduction Introduction Abstract Interpretation: a theory of approximation of mathematical structures, in particular those involved in the semantic models of computer systems. Basic Concepts of Abstract Interpretation, 5 / 35
6 Transition Systems Transition Systems Programs are formalized as transition systems : = Σ, Σ i, t Σ : a set of states Σ i Σ : the set of initial states t Σ Σ : a transition relation between a state and its possible successors. Example, the transition system Z, {0}, { x, x x = x + 1} of program x := 0; while true do x := x + 1. Basic Concepts of Abstract Interpretation, 6 / 35
7 Partial Trace Semantics Partial Trace Semantics A finite partial execution trace : σ = s 0 s 1... s n s 0 Σ For all i < n, s i, s i+1 t Partial traces of length 0 : φ Partial traces of length 1 : Σ 1 = {s s Σ} Partial traces of length n + 1 : Σ n+1 = {σss σs Σ n s, s t} Collecting semantics of : all partial traces of all finite lengths Σ = n 0 Σ n Basic Concepts of Abstract Interpretation, 7 / 35
8 Partial Trace Semantics Partial Trace Semantics in Fixpoint Form For the function F Σ F (X) = {s s Σ} {σss σs X s, s t} is the least fixpoint of F, that is F (Σ ) = Σ For all X such that F (X) = X, Σ Therefore, Σ = lfp F = n 0 X F n (φ) Basic Concepts of Abstract Interpretation, 8 / 35
9 Partial Trace Semantics Partial Trace Semantics in Fixpoint Form - Proof I F (Σ ) = Σ The proof is as follows: F (Σ ) = F ( Σ n ) n 0 = {s s Σ} {σss σs ( n 0 Σ n ) s, s t} def.σ def. F = {s s Σ} n 0{σss σs (Σ n ) s, s t} set theory = Σ 1 n 0 = n 1 Σ n+1 def. Σ 1 and Σ n+1 Σ n = n 0 Σ n by letting n = n + 1 and since Σ n = φ Basic Concepts of Abstract Interpretation, 9 / 35
10 Partial Trace Semantics Partial Trace Semantics in Fixpoint Form - Proof II For all X such that F (X) = X, Σ X We prove by induction that n 0 : Σ n X 1. Base Case : Σ 0 = φ X 2. Inductive Hypothesis : Σ n X Since σs Σ n σs X, {σss σs Σ n s, s t} {σss σs X s, s t} Therefore, Σ n+1 F (Σ n ) F (X) = X Basic Concepts of Abstract Interpretation, 10 / 35
11 The Reflexive Transitive Closure Semantics The Reflexive Transitive Closure Semantics as an Abstraction Abstraction of the partial trace semantics α (X) = { α (σ) σ X} where α (s 0 s 1... s n ) = s 0, s n α (Σ ) is the reflexive transitive closure t of the transition relation t. Concretization γ (Y) = {σ α (σ) Y} = {s 0 s 1... s n s 0, s n Y} X γ (α (X)) Basic Concepts of Abstract Interpretation, 11 / 35
12 The Reflexive Transitive Closure Semantics Answering Concrete Questions in the Abstract Answering concrete question about X using a simpler abstract question on α (X). Example : s... s... s X? s, s α (X)? Basic Concepts of Abstract Interpretation, 12 / 35
13 The Reflexive Transitive Closure Semantics Galois Connections Given any set X of partial traces and Y of pair of states, α (X) Y X γ (Y) which is a characteristic property of Galois connections. Proof. α (X) Y { α (σ) σ X} Y σ X : α (σ) Y X {σ α (σ) Y} X γ (Y) def. α def. def. γ Basic Concepts of Abstract Interpretation, 13 / 35
14 The Reflexive Transitive Closure Semantics Galois Connections Galois connections preserve joins. α ( X i ) = α (X i ) i I i I Proof. α ( X i ) = { α (σ) σ X i } i I i I = i I{ α (σ) σ X i } = i I α (X i ) Basic Concepts of Abstract Interpretation, 14 / 35
15 The Reflexive Transitive Closure Semantics The Reflexive Transitive Closure Semantics in Fixpoint Form * General Principle in Abstract Interpretation. 1. The concrete(partial trace) semantics is expressed in fixpoint form. Σ = lfp F 2. The abstract(reflexive transitive closure) semantics is an abstraction of the concrete semantics by a Galois connections and it can be expressed in fixpoint form, too. α (Σ ) = lfp F 3. 2 can be generalized to order theory, and is known as the fixpoint transfer theorem. Basic Concepts of Abstract Interpretation, 15 / 35
16 The Reflexive Transitive Closure Semantics The Reflexive Transitive Closure Semantics in Fixpoint Form - Propositions & Definitions 1. Proposition 1. α (φ) = φ φ γ (φ) α (φ) φ. Therefore α (φ) = φ. 2. Propostion 2. Commutation Property: α (F (X)) = F(α (X)) 2.1 Definition 1. I Σ = { s, s s Σ} 2.2 Definition 2. F(Y) = I Σ Y t α (F (X)) = α ({s s Σ} {σss σs X s, s t}) def. F = { α (s) s Σ} { α (σss ) σs X s, s t}) def. α = { s, s s Σ} { σ 0, s s : σs X s, s t}) def. α = I Σ { σ 0, s s : σ 0, s α (X) s, s t}) def.i Σ,α = I Σ α (X) t = F (α (X)) Basic Concepts of Abstract Interpretation, 16 / 35
17 The Reflexive Transitive Closure Semantics The Reflexive Transitive Closure Semantics in Fixpoint Form - Proof Showing is equivalent to prove that Using induction on α ( n 0 α (Σ ) = lfp F F n (φ)) = n 0 F n (φ) n : α (F n (φ)) = F n (φ) Basic Concepts of Abstract Interpretation, 17 / 35
18 The Reflexive Transitive Closure Semantics The Reflexive Transitive Closure Semantics in Fixpoint Form - Proof n : α (F n (φ)) = F n (φ) 1. Base Case: α (F 0 (φ)) = φ = F 0 (φ) 2. Inductive Hypothesis: α (F n (φ)) = F n (φ) α (F n+1 (φ)) = α (F (F n (φ))) = F(α (F n (φ))) commutative = FF n (φ) inductive hypothesis = F n+1 (φ) Basic Concepts of Abstract Interpretation, 18 / 35
19 The Reachability Semantics The Reachability Semantics as an Abstraction The reachability semantics of the transition system = Σ, Σ i, t {s s Σ i : s, s t } is the set of states that are reachable from the initial states Σ i. Basic Concepts of Abstract Interpretation, 19 / 35
20 The Reachability Semantics The Reachability Semantics as an Abstraction Definition post[r]z: The right-image of the set Z by relation r post[r]z = {s s Z : s, s r} Basic Concepts of Abstract Interpretation, 20 / 35
21 The Reachability Semantics The Reachability Semantics as an Abstraction Abstraction of the reflexive transitive closure semantics Y is defined as α (Y) = {s s Σ i : s, s Y} = post[y]σ i Concretization of the reachability semantics Z is defined as γ (Z) = { s, s s Σ i = s Z} Basic Concepts of Abstract Interpretation, 21 / 35
22 The Reachability Semantics Galois Connection We have the Galois Connection: α (Y) Z Y γ (Z) Proof. α (Y) Z {s s Σ i : s, s Y} Z def. α s : s Σ i : s, s Y = s Z def. s, s Y : s Σ i = s Z} def. = Y { s, s s Σ i = s Z} def. Y γ (Z) def. γ Basic Concepts of Abstract Interpretation, 22 / 35
23 The Reachability Semantics The Reachability Semantics in fixpoint form 1. Define F (Z) = Σ i post[t]z. 2. Establish commutation property α (F (Y)) = α (F (Y)) α (F (Y)) = {s s Σ i : s, s (I Σ Y t)} def. α &F = {s s Σ i : s = s} {s s Σ i : s : s, s Y s, s t} def. I Σ & = Σ i {s s α (Y) s, s t} def. α = α (F (Y)) def F (Z) 3. By the fixpoint transfer theorem, α (t ) = α (lfp F ) = lfp F Basic Concepts of Abstract Interpretation, 23 / 35
24 The Interval Semantics The Interval Semantics as an Abstraction The set of states of a transtion system = Σ, Σ i, t is totally ordered Σ, < with extrema and +, the interval semantics α H (α (t )) of provides bounds on its reachable states α (t ): α H (Z) = [min Z, max Z] Concretization: min(φ) = max(φ) = Abstract implication: γ H ([l, h]) = {s Σ l s h} [l, h] [l, h ] (l l h h ) Basic Concepts of Abstract Interpretation, 24 / 35
25 The Interval Semantics Galois Connection We have the Galois Connection: α H (Z) [l, h] Z γ H ([l, h]) Proof. α H (Z) [l, h] [min Z, max Z] [l, h] def. α H l min Z max Z h def. Z {s Σ l s h} def. min&max Z γ H ([l, h]) def. γ H By defining [l i, h i ] = [min i I l i, max i I h i ] i I, Galois connection preserves least upper bounds α H ( Z i ) = i ) ı I i I(Z Basic Concepts of Abstract Interpretation, 25 / 35
26 The Interval Semantics The Interval Semantics in Fixpoint Form 1. Define [min Σ i, max Σ i ] α H post[t] γ H (I) F H (I) 2. Establish semi-commutation property α H (F (Z)) F H (α H (Z)) α H (F (Z)) = α H (Σ i post[t]z) def F = α H (Σ i ) α H (post[t][z]) Galois Connection [min Σ i, max Σ i ] α H (post[t](γ H (α H (Z)))) F H (α H (Z)) 3. By the fixpoint approximation: α H (F (t )) = α H (lfp F ) lfp F H Basic Concepts of Abstract Interpretation, 26 / 35
27 Convergence Acceleration Convergence Acceleration In general, lfp F H = n 0 FH (φ = [+, ]) diverge. Example, the transition system Z, {0}, { x, x x = x + 1} of program x := 0; while true do x := x + 1. F H ([l, h]) = [0, 0] [l + 1, h + 1] It diverges: [+, ], [0, 0], [0, 1], [0, 2],... Basic Concepts of Abstract Interpretation, 27 / 35
28 Convergence Acceleration Widening To accelerate convergence, introduce a widening such that, (X X Y) (Y X Y) I 0 = φ = [+, ] I n+1 = I n if F H (I n ) I n = I n F H (I n ) otherwise. limit I λ is finite(λ N) and is a fixpoint overapproximation lfp F H I λ Basic Concepts of Abstract Interpretation, 28 / 35
29 Convergence Acceleration Example of Widening An example of interval widening 1. choosing finite sequence = r 0 < r 1 < < r k = + 2. [+, ] [l, h] = [l, h] [l, h] [l, h ] = [if l > l then max{r i r i l } else l, if h < h then min{r i h r i } else h] Basic Concepts of Abstract Interpretation, 29 / 35
30 Convergence Acceleration Example of Widening Example, the transition system Z, {0}, { x, x x = x + 1} of program x := 0; while x < 100 do x := x + 1. F H ([l, h]) = [0, 0] [l + 1, min(99, h) + 1] 1. Sequence r = < 1 < 0 < 1 < 2. I 0 = [+, ] I 1 = [0, 0] [1, 1] = [0, 1] I 2 = [0, 1] [0, 2] = [0, + ] I 3 = [0, + ] Basic Concepts of Abstract Interpretation, 30 / 35
31 Convergence Acceleration Narrowing The limit of an iteration with widening can be improved by a narrowing, such that X Y = X (X Y) Y All terms in the iterates with narrowing J 0 = I λ J n+1 = J n F H (J 0 ) improve the result obtained by widening. lfp F H J n I λ Basic Concepts of Abstract Interpretation, 31 / 35
32 Convergence Acceleration Example of Narrowing [l, h] [l, h ] = [if i : l = r i then l else l, if j : h = r j then h else h] Example, the transition system Z, {0}, { x, x x = x + 1} of program x := 0; while x < 100 do x := x + 1. J 0 = [0, + ] J 1 = [0, + ] [0, 100] = [0, 100] J 2 = [0, 100] [0, 100] = [0, 100] Basic Concepts of Abstract Interpretation, 32 / 35
33 Conclusion Composition of Abstractions The design of three abstractions of the partial trace semantics Σ of a transition system was compositional. Composition of Galois connections is a Galois connection so the successive arguments on sound approximation do compose nicely. α H α α, γ γ γ H Basic Concepts of Abstract Interpretation, 33 / 35
34 Conclusion Hierarchy of Semantics The four semantics of a transition system = Σ, Σ i, t form a hierarchy 1. Partial traces Σ 2. Reflexive transitive closure α (Σ ) 3. Reachability α α (Σ ) 4. Interval semantics α H α α (Σ ) Basic Concepts of Abstract Interpretation, 34 / 35
35 Conclusion Thanks Thank you for listening. Basic Concepts of Abstract Interpretation, 35 / 35
BASIC CONCEPTS OF ABSTRACT INTERPRETATION
BASIC CONCEPTS OF ABSTRACT INTERPRETATION Patrick Cousot École Normale Supérieure 45 rue d Ulm 75230 Paris cedex 05, France Patrick.Cousot@ens.fr Radhia Cousot CNRS & École Polytechnique 91128 Palaiseau
More information«Mathematical foundations: (6) Abstraction Part II» Exact fixpoint abstraction. Property transformer abstraction
«Mathematical foundations: (6) Abstraction Part II» Patrick Cousot Jerome C. Hunsaker Visiting Professor Massachusetts Instite of Technology Department of Aeronaics and Astronaics cousot mit edu www.mit.edu/~cousot
More informationCours M.2-6 «Interprétation abstraite: applications à la vérification et à l analyse statique» Examen partiel. Patrick Cousot.
Master Parisien de Recherche en Informatique École normale supérieure Année scolaire 2010/2011 Cours M.2-6 «Interprétation abstraite: applications à la vérification et à l analyse statique» Examen partiel
More informationDiscrete Fixpoint Approximation Methods in Program Static Analysis
Discrete Fixpoint Approximation Methods in Program Static Analysis P. Cousot Département de Mathématiques et Informatique École Normale Supérieure Paris
More informationPartial model checking via abstract interpretation
Partial model checking via abstract interpretation N. De Francesco, G. Lettieri, L. Martini, G. Vaglini Università di Pisa, Dipartimento di Ingegneria dell Informazione, sez. Informatica, Via Diotisalvi
More informationNotes on Abstract Interpretation
Notes on Abstract Interpretation Alexandru Sălcianu salcianu@mit.edu November 2001 1 Introduction This paper summarizes our view of the abstract interpretation field. It is based on the original abstract
More informationStatic Program Analysis using Abstract Interpretation
Static Program Analysis using Abstract Interpretation Introduction Static Program Analysis Static program analysis consists of automatically discovering properties of a program that hold for all possible
More informationFoundations of Abstract Interpretation
Escuela 03 II / 1 Foundations of Abstract Interpretation David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Escuela 03 II / 2 Outline 1. Lattices and continuous functions 2. Galois connections,
More informationCMSC 631 Program Analysis and Understanding Fall Abstract Interpretation
Program Analysis and Understanding Fall 2017 Abstract Interpretation Based on lectures by David Schmidt, Alex Aiken, Tom Ball, and Cousot & Cousot What is an Abstraction? A property from some domain Blue
More information«ATutorialon Abstract Interpretation»
«ATutorialon Abstract Interpretation» Patrick Cousot École normale supérieure 45 rue d Ulm 75230 Paris cedex 05, France Patrick.Cousot@ens.fr www.di.ens.fr/~cousot VMCAI 05 Industrial Day VMCAI 05 Industrial
More informationThe Trace Partitioning Abstract Domain
The Trace Partitioning Abstract Domain XAVIER RIVAL and LAURENT MAUBORGNE École Normale Supérieure In order to achieve better precision of abstract interpretation based static analysis, we introduce a
More informationLogical Abstract Domains and Interpretations
Logical Abstract Domains and Interpretations Patrick Cousot 2,3, Radhia Cousot 3,1, and Laurent Mauborgne 3,4 1 Centre National de la Recherche Scientifique, Paris 2 Courant Institute of Mathematical Sciences,
More informationVerification of Real-Time Systems Numerical Abstractions
Verification of Real-Time Systems Numerical Abstractions Jan Reineke Advanced Lecture, Summer 2015 Recap: From Local to Global Correctness: Kleene Iteration Abstract Domain F # F #... F # γ a γ a γ a Concrete
More informationSemantics and Verification of Software
Semantics and Verification of Software Thomas Noll Software Modeling and Verification Group RWTH Aachen University http://moves.rwth-aachen.de/teaching/ss-15/sv-sw/ The Denotational Approach Denotational
More informationBi-inductive Structural Semantics
Bi-inductive Structural Semantics Patrick Cousot Département d informatique, École normale supérieure, 45 rue d Ulm, 75230 Paris cedex 05, France Radhia Cousot CNRS & École polytechnique, 91128 Palaiseau
More informationAbstracting Definitional Interpreters. David Van Horn
Abstracting Definitional Interpreters David Van Horn Abstracting Definitional Interpreters David Van Horn Northeastern University Definitional interpreters written in monadic style can express a wide variety
More informationAbstraction in Program Analysis & Model Checking. Abstraction in Model Checking. Motivations & Results
On Completeness in Abstract Model Checking from the Viewpoint of Abstract Interpretation Abstraction in Program Analysis & Model Checking Abstract interpretation has been successfully applied in: static
More informationPolynomial Precise Interval Analysis Revisited
Polynomial Precise Interval Analysis Revisited Thomas Gawlitza 1, Jérôme Leroux 2, Jan Reineke 3, Helmut Seidl 1, Grégoire Sutre 2, and Reinhard Wilhelm 3 1 TU München, Institut für Informatik, I2 80333
More informationPrecise Relational Invariants Through Strategy Iteration
Precise Relational Invariants Through Strategy Iteration Thomas Gawlitza and Helmut Seidl TU München, Institut für Informatik, I2 85748 München, Germany {gawlitza, seidl}@in.tum.de Abstract. We present
More informationConstructive design of a hierarchy of semantics of a transition system by abstract interpretation
Theoretical Computer Science 277 (2002) 47 103 www.elsevier.com/locate/tcs Constructive design of a hierarchy of semantics of a transition system by abstract interpretation Patrick Cousot 1 Departement
More informationAn Abstract Domain to Infer Ordinal-Valued Ranking Functions
An Abstract Domain to Infer Ordinal-Valued Ranking Functions Caterina Urban and Antoine Miné ÉNS & CNRS & INRIA, Paris, France urban@di.ens.fr, mine@di.ens.fr Abstract. The traditional method for proving
More informationIntroduction to Abstract Interpretation. ECE 584 Sayan Mitra Lecture 18
Introduction to Abstract Interpretation ECE 584 Sayan Mitra Lecture 18 References Patrick Cousot,RadhiaCousot:Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction
More informationAbstract Interpretation: Fixpoints, widening, and narrowing
Abstract Interpretation: Fixpoints, widening, and narrowing CS252r Fall 2015 Slides from Principles of Program Analysis by Nielson, Nielson, and Hankin http://www2.imm.dtu.dk/~riis/ppa/ppasup2004.html
More informationModel Checking & Program Analysis
Model Checking & Program Analysis Markus Müller-Olm Dortmund University Overview Introduction Model Checking Flow Analysis Some Links between MC and FA Conclusion Apology for not giving proper credit to
More informationA Certified Denotational Abstract Interpreter (Proof Pearl)
A Certified Denotational Abstract Interpreter (Proof Pearl) David Pichardie INRIA Rennes David Cachera IRISA / ENS Cachan (Bretagne) Static Analysis Static Analysis Static analysis by abstract interpretation
More information«Specification and Abstraction of Semantics» 1. Souvenir, Souvenir. Neil D. Jones. Contents. A Tribute Workshop and Festival to Honor Neil D.
«Specification and Abstraction of Semantics» Patrick Cousot Radhia Cousot École normale supérieure CNRS & École polytechnique 45 rue d Ulm Route de Saclay 7530 Paris cedex 05, France 9118 Palaiseau Cedex,
More informationAbstract Interpretation from a Topological Perspective
(-: / 1 Abstract Interpretation from a Topological Perspective David Schmidt Kansas State University www.cis.ksu.edu/ schmidt Motivation and overview of results (-: / 2 (-: / 3 Topology studies convergent
More informationAbstract Interpretation: Fixpoints, widening, and narrowing
Abstract Interpretation: Fixpoints, widening, and narrowing CS252r Spring 2011 Slides from Principles of Program Analysis by Nielson, Nielson, and Hankin http://www2.imm.dtu.dk/~riis/ppa/ppasup2004.html
More informationIntroduction to Kleene Algebras
Introduction to Kleene Algebras Riccardo Pucella Basic Notions Seminar December 1, 2005 Introduction to Kleene Algebras p.1 Idempotent Semirings An idempotent semiring is a structure S = (S, +,, 1, 0)
More informationMIT Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology
MIT 6.035 Foundations of Dataflow Analysis Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology Dataflow Analysis Compile-Time Reasoning About Run-Time Values of Variables
More informationAbstract Interpretation II
Abstract Interpretation II Semantics and Application to Program Verification Antoine Miné École normale supérieure, Paris year 2015 2016 Course 11 13 May 2016 Course 11 Abstract Interpretation II Antoine
More informationIntroduction to Program Analysis and Abstract Interpretation (Part I)
Introduction to Program Analysis and Abstract Interpretation (Part I) Axel Simon Olaf Chitil Lawrence Beadle Materials: http://www.cs.kent.ac.uk/research/ groups/tcs/pgradtrain/abstract.html Acknowledgments:
More informationOverview. I Review of natural deduction. I Soundness and completeness. I Semantics of propositional formulas. I Soundness proof. I Completeness proof.
Overview I Review of natural deduction. I Soundness and completeness. I Semantics of propositional formulas. I Soundness proof. I Completeness proof. Propositional formulas Grammar: ::= p j (:) j ( ^ )
More informationAn Algorithm Inspired by Constraint Solvers to Infer Inductive Invariants in Numeric Programs
An Algorithm Inspired by Constraint Solvers to Infer Inductive Invariants in Numeric Programs Antoine Miné 1, Jason Breck 2, and Thomas Reps 2,3 1 LIP6, Paris, France 2 University of Wisconsin; Madison,
More informationMechanics of Static Analysis
Escuela 03 III / 1 Mechanics of Static Analysis David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Escuela 03 III / 2 Outline 1. Small-step semantics: trace generation 2. State generation and
More informationReading: Chapter 9.3. Carnegie Mellon
I II Lecture 3 Foundation of Data Flow Analysis Semi-lattice (set of values, meet operator) Transfer functions III Correctness, precision and convergence IV Meaning of Data Flow Solution Reading: Chapter
More informationSemantics and Verification of Software
Semantics and Verification of Software Thomas Noll Software Modeling and Verification Group RWTH Aachen University http://moves.rwth-aachen.de/teaching/ws-1718/sv-sw/ Recap: The Denotational Approach Semantics
More informationFormal Methods in Software Engineering
Formal Methods in Software Engineering An Introduction to Model-Based Analyis and Testing Vesal Vojdani Department of Computer Science University of Tartu Fall 2014 Vesal Vojdani (University of Tartu)
More informationA Semantic Basis for Specialising Domain Constraints
A Semantic Basis for Specialising Domain Constraints Jacob M. Howe 1 and Andy King 2 Computing Laboratory, University of Kent, Canterbury, CT2 7NF, UK Abstract This paper formalises an analysis of finite
More informationThe Reachability-Bound Problem. Gulwani and Zuleger PLDI 10
The Reachability-Bound Problem Gulwani and Zuleger PLDI 10 CS252r Spring 2011 The Reachability-Bound problem Find a symbolic worst case bound on the number of times a program point is reached Intra-procedural:
More informationGoal. Partially-ordered set. Game plan 2/2/2013. Solving fixpoint equations
Goal Solving fixpoint equations Many problems in programming languages can be formulated as the solution of a set of mutually recursive equations: D: set, f,g:dxd D x = f(x,y) y = g(x,y) Examples Parsing:
More informationAbstraction for Falsification
Abstraction for Falsification Thomas Ball 1, Orna Kupferman 2, and Greta Yorsh 3 1 Microsoft Research, Redmond, WA, USA. Email: tball@microsoft.com, URL: research.microsoft.com/ tball 2 Hebrew University,
More informationThread-Modular Verification Is Cartesian Abstract Interpretation
Thread-Modular Verification Is Cartesian Abstract Interpretation Alexander Malkis 1, Andreas Podelski 1,2, and Andrey Rybalchenko 1,3 1 Max-Planck Institut für Informatik, Saarbrücken 2 Albert-Ludwigs-Universität
More informationSpace-aware data flow analysis
Space-aware data flow analysis C. Bernardeschi, G. Lettieri, L. Martini, P. Masci Dip. di Ingegneria dell Informazione, Università di Pisa, Via Diotisalvi 2, 56126 Pisa, Italy {cinzia,g.lettieri,luca.martini,paolo.masci}@iet.unipi.it
More informationThe Abstract Domain of Segmented Ranking Functions
The Abstract Domain of Segmented Ranking Functions Caterina Urban To cite this version: Caterina Urban. The Abstract Domain of Segmented Ranking Functions. Logozzo, Francesco and Fähndrich, Manuel. Static
More informationRecursion and Intro to Coq
L02-1 Recursion and Intro to Coq Armando Solar Lezama Computer Science and Artificial Intelligence Laboratory M.I.T. With content from Arvind and Adam Chlipala. Used with permission. September 21, 2015
More informationData flow analysis. DataFlow analysis
Data flow analysis DataFlow analysis compile time reasoning about the runtime flow of values in the program represent facts about runtime behavior represent effect of executing each basic block propagate
More informationProgram verification
Program verification Data-flow analyses, numerical domains Laure Gonnord and David Monniaux University of Lyon / LIP September 29, 2015 1 / 75 Context Program Verification / Code generation: Variables
More informationWarm-Up Problem. Is the following true or false? 1/35
Warm-Up Problem Is the following true or false? 1/35 Propositional Logic: Resolution Carmen Bruni Lecture 6 Based on work by J Buss, A Gao, L Kari, A Lubiw, B Bonakdarpour, D Maftuleac, C Roberts, R Trefler,
More informationINF3170 Logikk Spring Homework #8 For Friday, March 18
INF3170 Logikk Spring 2011 Homework #8 For Friday, March 18 Problems 2 6 have to do with a more explicit proof of the restricted version of the completeness theorem: if = ϕ, then ϕ. Note that, other than
More informationCoinductive big-step operational semantics
Coinductive big-step operational semantics Xavier Leroy a, Hervé Grall b a INRIA Paris-Rocquencourt Domaine de Voluceau, B.P. 105, 78153 Le Chesnay, France b École des Mines de Nantes La Chantrerie, 4,
More informationBi-inductive Structural Semantics
SOS 2007 Bi-inductive Structural Semantics (Extended Abstract) Patrick Cousot 1 Département d informatique, École normale supérieure, 45 rue d Ulm, 75230 Paris cedex 05, France Radhia Cousot 2 CNRS & École
More informationThe non-logical symbols determine a specific F OL language and consists of the following sets. Σ = {Σ n } n<ω
1 Preliminaries In this chapter we first give a summary of the basic notations, terminology and results which will be used in this thesis. The treatment here is reduced to a list of definitions. For the
More informationWeak Relative Pseudo-Complements of Closure Operators
Weak Relative Pseudo-Complements of Closure Operators Roberto Giacobazzi Catuscia Palamidessi Francesco Ranzato Dipartimento di Informatica, Università di Pisa Corso Italia 40, 56125 Pisa, Italy giaco@di.unipi.it
More informationOrder Theory, Galois Connections and Abstract Interpretation
Order Theory, and Abstract Interpretation David Henriques Carnegie Mellon University November 7th 2011 David Henriques Order Theory 1/ 40 Order Theory David Henriques Order Theory 2/ 40 Orders are everywhere
More informationPart 1: Propositional Logic
Part 1: Propositional Logic Literature (also for first-order logic) Schöning: Logik für Informatiker, Spektrum Fitting: First-Order Logic and Automated Theorem Proving, Springer 1 Last time 1.1 Syntax
More informationExercises 1 - Solutions
Exercises 1 - Solutions SAV 2013 1 PL validity For each of the following propositional logic formulae determine whether it is valid or not. If it is valid prove it, otherwise give a counterexample. Note
More informationAutomatic Generation of Polynomial Invariants for System Verification
Automatic Generation of Polynomial Invariants for System Verification Enric Rodríguez-Carbonell Technical University of Catalonia Talk at EPFL Nov. 2006 p.1/60 Plan of the Talk Introduction Need for program
More informationIntroduction to Abstract Interpretation
Introduction to Abstract Interpretation Bruno Blanchet Département d Informatique École Normale Supérieure, Paris and Max-Planck-Institut für Informatik Bruno.Blanchet@ens.fr November 29, 2002 Abstract
More informationExtremal Solutions of Inequations over Lattices with Applications to Supervisory Control 1
Extremal Solutions of Inequations over Lattices with Applications to Supervisory Control 1 Ratnesh Kumar Department of Electrical Engineering University of Kentucky Lexington, KY 40506-0046 Email: kumar@engr.uky.edu
More informationCompleteness of Star-Continuity
Introduction to Kleene Algebra Lecture 5 CS786 Spring 2004 February 9, 2004 Completeness of Star-Continuity We argued in the previous lecture that the equational theory of each of the following classes
More informationDesign of Distributed Systems Melinda Tóth, Zoltán Horváth
Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Publication date 2014 Copyright 2014 Melinda Tóth, Zoltán Horváth Supported by TÁMOP-412A/1-11/1-2011-0052
More informationCompositionality in SLD-derivations and their abstractions Marco Comini, Giorgio Levi and Maria Chiara Meo Dipartimento di Informatica, Universita di
Compositionality in SLD-derivations and their abstractions Marco Comini Giorgio Levi and Maria Chiara Meo Dipartimento di Informatica Universita di Pisa Corso Italia 40 56125 Pisa Italy fcomini levi meog@di.unipi.it
More informationProperty Directed Abstract Interpretation
Property Directed Abstract Interpretation Noam Rinetzky 1 and Sharon Shoham 2 1 Tel Aviv University, Israel 2 The Academic College of Tel Aviv Yaffo, Israel Abstract. Recently, Bradley proposed the PDR/IC3
More informationPredicate Logic. x. x + 0 = x. Predicate logic over integer expressions: a language of logical assertions, for example. Why discuss predicate logic?
Predicate Logic Predicate logic over integer expressions: a language of logical assertions, for example x. x + 0 = x Why discuss predicate logic? It is an example of a simple language It has simple denotational
More informationData-Driven Abstraction
Louisiana State University LSU Digital Commons LSU Master's Theses Graduate School 8-20-2017 Data-Driven Abstraction Vivian Mankau Ho Louisiana State University and Agricultural and Mechanical College,
More informationSpring 2015 Program Analysis and Verification. Lecture 4: Axiomatic Semantics I. Roman Manevich Ben-Gurion University
Spring 2015 Program Analysis and Verification Lecture 4: Axiomatic Semantics I Roman Manevich Ben-Gurion University Agenda Basic concepts of correctness Axiomatic semantics (pages 175-183) Hoare Logic
More informationGroupe de travail. Analysis of Mobile Systems by Abstract Interpretation
Groupe de travail Analysis of Mobile Systems by Abstract Interpretation Jérôme Feret École Normale Supérieure http://www.di.ens.fr/ feret 31/03/2005 Introduction I We propose a unifying framework to design
More informationAbstract Interpretation and Static Analysis
/ 1 Abstract Interpretation and Static Analysis David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Welcome! / 2 / 3 Four parts 1. Introduction to static analysis what it is and how to apply
More informationGeneralized Strong Preservation by Abstract Interpretation
Generalized Strong Preservation by Abstract Interpretation FRANCESCO RANZATO FRANCESCO TAPPARO Dipartimento di Matematica Pura ed Applicata, Università di Padova Via Belzoni 7, 35131 Padova, Italy francesco.ranzato@unipd.it
More informationThe L Machines are very high-level, in two senses:
What is a Computer? State of the machine. CMPSCI 630: Programming Languages An Abstract Machine for Control Spring 2009 (with thanks to Robert Harper) Internal registers, memory, etc. Initial and final
More informationA SHORT AND CONSTRUCTIVE PROOF OF TARSKI S FIXED-POINT THEOREM
Published in the International Journal of Game Theory Volume 33(2), June 2005, pages 215 218. A SHORT AND CONSTRUCTIVE PROOF OF TARSKI S FIXED-POINT THEOREM FEDERICO ECHENIQUE Abstract. I give short and
More informationPartial, Total, and Lattice Orders in Group Theory
Partial, Total, and Lattice Orders in Group Theory Hayden Harper Department of Mathematics and Computer Science University of Puget Sound April 23, 2016 Copyright c 2016 Hayden Harper. Permission is granted
More informationMAGIC Set theory. lecture 6
MAGIC Set theory lecture 6 David Asperó Delivered by Jonathan Kirby University of East Anglia 19 November 2014 Recall: We defined (V : 2 Ord) by recursion on Ord: V 0 = ; V +1 = P(V ) V = S {V : < } if
More informationLecture 5: Minimizing DFAs
6.45 Lecture 5: Minimizing DFAs 6.45 Announcements: - Pset 2 is up (as of last night) - Dylan says: It s fire. - How was Pset? 2 DFAs NFAs DEFINITION Regular Languages Regular Expressions 3 4 Some Languages
More informationChapter 4: Computation tree logic
INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification
More informationIntroduction to Kleene Algebra Lecture 14 CS786 Spring 2004 March 15, 2004
Introduction to Kleene Algebra Lecture 14 CS786 Spring 2004 March 15, 2004 KAT and Hoare Logic In this lecture and the next we show that KAT subsumes propositional Hoare logic (PHL). Thus the specialized
More informationGerwin Klein, June Andronick, Ramana Kumar S2/2016
COMP4161: Advanced Topics in Software Verification {} Gerwin Klein, June Andronick, Ramana Kumar S2/2016 data61.csiro.au Content Intro & motivation, getting started [1] Foundations & Principles Lambda
More informationAxiomatisation of Hybrid Logic
Imperial College London Department of Computing Axiomatisation of Hybrid Logic by Louis Paternault Submitted in partial fulfilment of the requirements for the MSc Degree in Advanced Computing of Imperial
More informationAlgebraic Reasoning for Probabilistic Action Systems and While-Loops
Algebraic Reasoning for Probabilistic Action Systems and While-Loops Larissa Meinicke Ian J. Hayes September 006 Technical Report SSE-006-05 Division of Systems and Software Engineering Research School
More informationThe following techniques for methods of proofs are discussed in our text: - Vacuous proof - Trivial proof
Ch. 1.6 Introduction to Proofs The following techniques for methods of proofs are discussed in our text - Vacuous proof - Trivial proof - Direct proof - Indirect proof (our book calls this by contraposition)
More informationFrom Many Places to Few: Automatic Abstraction Refinement for Petri Nets
Fundamenta Informaticae 88 (2008) 1 27 1 IOS Press From Many Places to Few: Automatic Abstraction Refinement for Petri Nets Pierre Ganty, Jean-François Raskin, Laurent Van Begin Département d Informatique
More informationInformation and Computation
Information and Computation 211 2012) 49 76 Contents lists available at SciVerse ScienceDirect Information and Computation www.elsevier.com/locate/yinco Control-flow analysis of function calls and returns
More informationAn Introduction to Modal Logic III
An Introduction to Modal Logic III Soundness of Normal Modal Logics Marco Cerami Palacký University in Olomouc Department of Computer Science Olomouc, Czech Republic Olomouc, October 24 th 2013 Marco Cerami
More informationDenotational semantics
Denotational semantics Semantics and Application to Program Verification Antoine Miné École normale supérieure, Paris year 2015 2016 Course 4 4 March 2016 Course 4 Denotational semantics Antoine Miné p.
More informationReview. Principles of Programming Languages. Equality. The Diamond Property. The Church-Rosser Theorem. Corollaries. CSE 230: Winter 2007
CSE 230: Winter 2007 Principles of Programming Languages Lecture 12: The λ-calculus Ranjit Jhala UC San Diego Review The lambda calculus is a calculus of functions: e := x λx. e e 1 e 2 Several evaluation
More informationMath 541 Fall 2008 Connectivity Transition from Math 453/503 to Math 541 Ross E. Staffeldt-August 2008
Math 541 Fall 2008 Connectivity Transition from Math 453/503 to Math 541 Ross E. Staffeldt-August 2008 Closed sets We have been operating at a fundamental level at which a topological space is a set together
More informationPredicate Logic. Xinyu Feng 09/26/2011. University of Science and Technology of China (USTC)
University of Science and Technology of China (USTC) 09/26/2011 Overview Predicate logic over integer expressions: a language of logical assertions, for example x. x + 0 = x Why discuss predicate logic?
More informationUnderstanding Finiteness Analysis Using Abstract
Understanding Finiteness Analysis Using Abstract Interpretation (Extended Abstract) 1 Peter A. Bigot Saumya Debray Department of Computer Science The University of Arizona Tucson, AZ 85721 fpab, debrayg@cs.arizona.edu
More informationBoolean bunched logic: its semantics and completeness
Boolean bunched logic: its semantics and completeness James Brotherston Programming Principles, Logic and Verification Group Dept. of Computer Science University College London, UK J.Brotherston@ucl.ac.uk
More informationLecture Notes on Software Model Checking
15-414: Bug Catching: Automated Program Verification Lecture Notes on Software Model Checking Matt Fredrikson André Platzer Carnegie Mellon University Lecture 19 1 Introduction So far we ve focused on
More informationarxiv:cs/ v1 [cs.lo] 22 Dec 2006
Generalizing the Paige-Tarjan Algorithm by Abstract Interpretation arxiv:cs/0612120v1 [cs.lo] 22 Dec 2006 FRANCESCO RANZATO FRANCESCO TAPPARO Dipartimento di Matematica Pura ed Applicata, Università di
More informationA hierarchy of Constraint Systems for Data-Flow Analysis of Constraint Logic-Based Languages
A hierarchy of Constraint Systems for Data-Flow Analysis of Constraint Logic-Based Languages Roberto Bagnara Dipartimento di Informatica, Università di Pisa, Corso Italia 40, 56125 Pisa, Italy Abstract
More information3-Valued Abstraction-Refinement
3-Valued Abstraction-Refinement Sharon Shoham Academic College of Tel-Aviv Yaffo 1 Model Checking An efficient procedure that receives: A finite-state model describing a system A temporal logic formula
More informationFirst-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig
First-Order Logic First-Order Theories Roopsha Samanta Partly based on slides by Aaron Bradley and Isil Dillig Roadmap Review: propositional logic Syntax and semantics of first-order logic (FOL) Semantic
More informationHerbrand Theorem, Equality, and Compactness
CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Herbrand Theorem, Equality, and Compactness The Herbrand Theorem We now consider a complete method for proving the unsatisfiability of sets of first-order
More informationA note on coinduction and weak bisimilarity for while programs
Centrum voor Wiskunde en Informatica A note on coinduction and weak bisimilarity for while programs J.J.M.M. Rutten Software Engineering (SEN) SEN-R9826 October 31, 1998 Report SEN-R9826 ISSN 1386-369X
More informationTruth-Functional Logic
Truth-Functional Logic Syntax Every atomic sentence (A, B, C, ) is a sentence and are sentences With ϕ a sentence, the negation ϕ is a sentence With ϕ and ψ sentences, the conjunction ϕ ψ is a sentence
More informationPart II Logic and Set Theory
Part II Logic and Set Theory Theorems Based on lectures by I. B. Leader Notes taken by Dexter Chua Lent 2015 These notes are not endorsed by the lecturers, and I have modified them (often significantly)
More informationCharacterizing Fault-Tolerant Systems by Means of Simulation Relations
Characterizing Fault-Tolerant Systems by Means of Simulation Relations TECHNICAL REPORT Ramiro Demasi 1, Pablo F. Castro 2,3, Thomas S.E. Maibaum 1, and Nazareno Aguirre 2,3 1 Department of Computing and
More information