Basic Concepts of Abstract Interpretation

Size: px
Start display at page:

Download "Basic Concepts of Abstract Interpretation"

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 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» 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 information

Cours M.2-6 «Interprétation abstraite: applications à la vérification et à l analyse statique» Examen partiel. Patrick Cousot.

Cours 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 information

Discrete Fixpoint Approximation Methods in Program Static Analysis

Discrete 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 information

Partial model checking via abstract interpretation

Partial 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 information

Notes on Abstract Interpretation

Notes 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 information

Static Program Analysis using Abstract Interpretation

Static 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 information

Foundations of Abstract Interpretation

Foundations 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 information

CMSC 631 Program Analysis and Understanding Fall Abstract Interpretation

CMSC 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» «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 information

The Trace Partitioning Abstract Domain

The 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 information

Logical Abstract Domains and Interpretations

Logical 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 information

Verification of Real-Time Systems Numerical Abstractions

Verification 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 information

Semantics and Verification of Software

Semantics 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 information

Bi-inductive Structural Semantics

Bi-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 information

Abstracting Definitional Interpreters. David Van Horn

Abstracting 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 information

Abstraction in Program Analysis & Model Checking. Abstraction in Model Checking. Motivations & Results

Abstraction 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 information

Polynomial Precise Interval Analysis Revisited

Polynomial 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 information

Precise Relational Invariants Through Strategy Iteration

Precise 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 information

Constructive design of a hierarchy of semantics of a transition system by abstract interpretation

Constructive 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 information

An Abstract Domain to Infer Ordinal-Valued Ranking Functions

An 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 information

Introduction to Abstract Interpretation. ECE 584 Sayan Mitra Lecture 18

Introduction 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 information

Abstract Interpretation: Fixpoints, widening, and narrowing

Abstract 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 information

Model Checking & Program Analysis

Model 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 information

A Certified Denotational Abstract Interpreter (Proof Pearl)

A 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» 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 information

Abstract Interpretation from a Topological Perspective

Abstract 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 information

Abstract Interpretation: Fixpoints, widening, and narrowing

Abstract 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 information

Introduction to Kleene Algebras

Introduction 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 information

MIT Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology

MIT 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 information

Abstract Interpretation II

Abstract 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 information

Introduction to Program Analysis and Abstract Interpretation (Part I)

Introduction 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 information

Overview. 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. 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 information

An 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 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 information

Mechanics of Static Analysis

Mechanics 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 information

Reading: Chapter 9.3. Carnegie Mellon

Reading: 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 information

Semantics and Verification of Software

Semantics 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 information

Formal Methods in Software Engineering

Formal 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 information

A Semantic Basis for Specialising Domain Constraints

A 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 information

The Reachability-Bound Problem. Gulwani and Zuleger PLDI 10

The 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 information

Goal. Partially-ordered set. Game plan 2/2/2013. Solving fixpoint equations

Goal. 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 information

Abstraction for Falsification

Abstraction 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 information

Thread-Modular Verification Is Cartesian Abstract Interpretation

Thread-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 information

Space-aware data flow analysis

Space-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 information

The Abstract Domain of Segmented Ranking Functions

The 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 information

Recursion and Intro to Coq

Recursion 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 information

Data flow analysis. DataFlow analysis

Data 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 information

Program verification

Program 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 information

Warm-Up Problem. Is the following true or false? 1/35

Warm-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 information

INF3170 Logikk Spring Homework #8 For Friday, March 18

INF3170 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 information

Coinductive big-step operational semantics

Coinductive 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 information

Bi-inductive Structural Semantics

Bi-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 information

The non-logical symbols determine a specific F OL language and consists of the following sets. Σ = {Σ n } n<ω

The 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 information

Weak Relative Pseudo-Complements of Closure Operators

Weak 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 information

Order Theory, Galois Connections and Abstract Interpretation

Order 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 information

Part 1: Propositional Logic

Part 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 information

Exercises 1 - Solutions

Exercises 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 information

Automatic Generation of Polynomial Invariants for System Verification

Automatic 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 information

Introduction to Abstract Interpretation

Introduction 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 information

Extremal Solutions of Inequations over Lattices with Applications to Supervisory Control 1

Extremal 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 information

Completeness of Star-Continuity

Completeness 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 information

Design 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 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 information

Compositionality 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 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 information

Property Directed Abstract Interpretation

Property 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 information

Predicate Logic. x. x + 0 = x. Predicate logic over integer expressions: a language of logical assertions, for example. Why discuss predicate logic?

Predicate 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 information

Data-Driven Abstraction

Data-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 information

Spring 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 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 information

Groupe de travail. Analysis of Mobile Systems by Abstract Interpretation

Groupe 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 information

Abstract Interpretation and Static Analysis

Abstract 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 information

Generalized Strong Preservation by Abstract Interpretation

Generalized 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 information

The L Machines are very high-level, in two senses:

The 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 information

A SHORT AND CONSTRUCTIVE PROOF OF TARSKI S FIXED-POINT THEOREM

A 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 information

Partial, Total, and Lattice Orders in Group Theory

Partial, 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 information

MAGIC Set theory. lecture 6

MAGIC 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 information

Lecture 5: Minimizing DFAs

Lecture 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 information

Chapter 4: Computation tree logic

Chapter 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 information

Introduction to Kleene Algebra Lecture 14 CS786 Spring 2004 March 15, 2004

Introduction 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 information

Gerwin Klein, June Andronick, Ramana Kumar S2/2016

Gerwin 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 information

Axiomatisation of Hybrid Logic

Axiomatisation 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 information

Algebraic Reasoning for Probabilistic Action Systems and While-Loops

Algebraic 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 information

The following techniques for methods of proofs are discussed in our text: - Vacuous proof - Trivial proof

The 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 information

From Many Places to Few: Automatic Abstraction Refinement for Petri Nets

From 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 information

Information and Computation

Information 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 information

An Introduction to Modal Logic III

An 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 information

Denotational semantics

Denotational 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 information

Review. Principles of Programming Languages. Equality. The Diamond Property. The Church-Rosser Theorem. Corollaries. CSE 230: Winter 2007

Review. 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 information

Math 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 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 information

Predicate Logic. Xinyu Feng 09/26/2011. University of Science and Technology of China (USTC)

Predicate 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 information

Understanding Finiteness Analysis Using Abstract

Understanding 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 information

Boolean bunched logic: its semantics and completeness

Boolean 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 information

Lecture Notes on Software Model Checking

Lecture 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 information

arxiv:cs/ v1 [cs.lo] 22 Dec 2006

arxiv: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 information

A 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 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 information

3-Valued Abstraction-Refinement

3-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 information

First-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 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 information

Herbrand Theorem, Equality, and Compactness

Herbrand 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 information

A note on coinduction and weak bisimilarity for while programs

A 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 information

Truth-Functional Logic

Truth-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 information

Part II Logic and Set Theory

Part 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 information

Characterizing Fault-Tolerant Systems by Means of Simulation Relations

Characterizing 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