Verification of Real-Time Systems Numerical Abstractions

Size: px
Start display at page:

Download "Verification of Real-Time Systems Numerical Abstractions"

Transcription

1 Verification of Real-Time Systems Numerical Abstractions Jan Reineke Advanced Lecture, Summer 2015

2 Recap: From Local to Global Correctness: Kleene Iteration Abstract Domain F # F #... F # γ a γ a γ a Concrete Domain F F... F

3 >< >: Recap: Fixpoint Transfer Theorem Let (L, apple) and (L #, apple # )betwolattices, : L #! L a monotone function, and F : L! L and F #! F # two monotone functions, with 8l # 2 L # : (F # (l # )) F ( (l # )). Then:? > lfp F? apple (lfp F # ). > Local Correctness Global Correctness Fix(F) Fix(F # ) γ a lfp F lfp F # F... # F # F F F? F # F # F #?

4 Overview: Numerical Abstractions from above y f:::;h19; 77i;:::; h20; 03i;:::g x

5 Overview: Numerical Abstractions Signs (Cousot & Cousot, 1979) y ȷ x 0 y 0 x

6 Overview: Numerical Abstractions Intervals (Cousot & Cousot, 1976) y ȷ x 2 [19; 77] y 2 [20; 03] x

7 Overview: Numerical Abstractions Octagons (Mine, 2001) y 8 >< >: 1» x» 9 x + y» 77 1» y» 9 x ` y» 99 x

8 Overview: Numerical Abstractions Polyhedra (Cousot & Halbwachs, 1978) y ȷ 19x + 77y» x + 03y 0 x à Expensive

9 Overview: Numerical Abstractions Simple and Linear Congruences (Granger, ) congruences y ȷ x = 19 mod 77 y = 20 mod 99 x congruences y ȷ 1x +9y =7mod8 2x ` 1y =9mod9 x

10 Numerical Abstractions Which abstraction is the most precise? Depends on questions you want to answer! y c y x x

11 Numerical Abstractions Which abstraction is the most precise? Depends on questions you want to answer! c y y x x

12 Partial Order of Abstractions Polyhedra Octagons Linear Congruences Intervals Simple Congruences Constants Signs Parity

13 Partial Order of Abstractions Polyhedra Relational domains Octagons Linear Congruences Intervals Simple Congruences Constants Signs Parity Independent attribute/non-relational domains

14 Characteristics of Non-relational Domains Non-relational/independent attribute abstraction: l Abstract each variable separately (P(Z), )! (Numerical, v) l Maintains no relations between variable values Can be lifted to an abstraction of valuations of multiple variables in the expected way: P! v 1 (P(Vars! Z), ) 1! 2 (Vars! P(Z), apple) 2! (Vars! Numerical, v) 2 (f) := x 2 Vars. (f(x)) 2(f # ):= x 2 Vars. (f # (x))

15 ) := x 2 Vars. (f # (x)) v # 2 (f # ) := x 2 Vars. (f # (x)) terval = {[l, u] l Interval u, l 2 domain: Z[{ 1}, u 2 Z[{1}}[{?} # Interval =#{[l, u] l u, l 2 Z[{ 1}, u 2 # := x 2 Vars. (f (x)) v x 2 Vars. The Interval 2 (f ) :=Domain (f (x)) Interval domain: Z Z (Interval, ) Interval = {[l, u] l u, l 2 Z[{ 1}, u 2 Z[{1}}[{?} Z Z Abstracts sets of values by enclosing interval l u, l 2 Z[{ 1}, u 2 Z[{1}}[{?} (Interval, ) u, l 2 Z[{ 1}, u 2 Z[{1}}[{?} (Z [ { 1}) (Z [ {1}) to Interval = {[l, u] l u, l 2 Z[{ 1}, u 2 Z[{1}}[{?} (Interval, wherez ) iszappropriately extended from Z Z to (Z [ { 1}) (Z [ {1}) 2. REFERENCES to (Interval, v)2. REFERENCES Z Z Intervals ordered (Z [ { 1}) (Z [ {1}) nnection (L, )are! (M, v).by inclusion:? v[x{1}) 8x 2 Interval [ { 1}) (Z { 1}) (Z [ {1}) 2. REFERENCES emantics: [l, u] v [l, u ] if l l ^ u u (M, v).! ES \ \, 1)]]# (Reach(start)) t [[labeling(2, 1)]](Reach(2)) (Interval, v) forms \ ]]# (REFERENCES Reach(1)) \h(2)) # \ \ [[labeling(2, 1)]](Reach(2)) ]]) t(reach(1)) vx 8x 2 Interval a complete lattice.

16 Concretization and Abstraction of Intervals Concretization: (?) =; ([l, u]) = {n 2 Z l apple n apple u} Abstraction: (;) =? (S) =[infs, sup S] They form a Galois connection.

17 Interval Arithmetic Calculating with Intervals: [a, b] + [c, d] = [a + c, b + d] [a, b] [c, d] = [a d, b c] [a, b] [c, d] = [min(ac, ad, bc, bd), max(ac, ad, bc, bd] [a, b] / [c, d] = [a, b] [1/d, 1/c], 0 62 [c, d]

18 Example: Interval Analysis start x = 0 x à [0,3] y à [3,7] x à [0,2] y à [3,5] x à [0,1] y à [3,3] x à [0,0] y à bottom 1 Neg(x < 3) 5 x à [3,3] y à [3,7] Pos(x < 3) x à [0,2] y à [3,5] x à [0,1] y à [3,3] x à [0,0] y à bottom 2 y = y+1 x à [1,3] y à [3,5] x à [1,2] y à [3,3] x à [1,1] y à bottom x = x+1 3 y = 2*x Imprecise due to nonrelational analysis x à [1,3] y à [2,6] x à [1,2] y à [2,4] x à [1,1] y à [2,2] 4 Would Octagons determine that y must be 7 at program point 5?

19 Intervals, Hasse diagram Ascending chain condition is not satisfied! à Kleene iteration is not guaranteed to terminate! [-infty,1] [-infty, infty] [-1, infty] [-infty, -1] [-infty,0] [-1,1] [-2,-1] [-1,0] [0,1] [1,2] [0, infty] [1, infty] [-2,-2] [-1,-1] [0,0] [1,1] [2,2]

20 Example: Interval Analysis start 1000 iterations later x 7!? x 7! 7! [0, > 0] x 7! [0, 1] 7! x 7! [0, 1000] x = 0 1 Neg(x < 1000) 3 Pos(x < 1000) x = x+1 2

21 Solution: Widening Enforce Ascending Chain Condition Widening enforces the ascending chain condition during analysis. Accelerates termination by moving up the lattice more quickly. May yield imprecise results safe but possibly imprecise { x x lfp F } lfp F lfp F

22 Widening: Formal Requirement A widening is an operator : D x D D such that 1. Safety: x ( x y ) and y ( x y ) 2. Termination: forall ascending chains x 0 x 1... the chain y 0 = x 0 y i+1 = y i x i+1 is finite.

23 Widening Operator for Intervals Simplest solution:?rx = xr? = x "( ( [l, u]r[l 0,u 0 ]= Example: [3, 5]r[2, 5] = [ 1, 5] [3, 5]r[4, 5] = [3, 5] [3, 5]r[4, 6] = [3, 1] "( l : l 0 l 1 : l 0 <l, [3, 5]r[2, 6] = [ 1, 1] ( u # : u 0 apple u 1 : u 0 >u

24 Example Revisited: Interval Analysis with Simple Widening Standard Kleene Iteration:?appleF (?) apple F 2 (?) apple F 3 (?) apple... Kleene Iteration with Widening: F r (x) :=xrf (x)?applef r (?) apple Fr(?) 2 apple Fr(?) 3 apple... start x = 0 x 7! [0, 0] x 7! [0, 1] 1 Neg(x < 1000) 3 Pos(x < 1000) x = x+1 2 Do we need to apply widening at all program points? à Quick termination but imprecise result!

25 More Sophisticated Widening for Intervals Define set of jump points (barriers) based on constants appearing in program, e.g.: J = { 1, 0, 1, 1000, 1} Intuition: Don t jump to infty, +infty immediately but only to next jump point. [l, u]r[l 0,u 0 ]= "( l : l 0 l max{x 2 J x apple l 0 } : l 0 <l, ( u # : u 0 apple u min{x 2 J x u 0 } : u 0 >u

26 Example ( Revisited: Interval Analysis with Sophisticated Widening ( start x 7! [0, 0] x 7! [0, 1] x 7! [0, 1000] x = 0 1 Neg(x < 1000) 3 Pos(x < 1000) x = x+1 2 à More precise, potentially terminates more slowly.

27 Another ( Example: Interval Analysis with Sophisticated Widening start x 7! [0, 0] x 7! [0, 1] x 7! [0, 1000] x = 0 1 Neg(x < 1000) 5 Pos(x < 1000) y = y+1 2 x = x+1 y 7! [2, 2] y 7! [2, 1000] y 7! [2, 1] 3 y = 2*x 4 Would be [2, 2000] in least fixed point, but 2000 does not appear in the program

28 Narrowing: Recovering Precision { x x lfp F } Widening may yield imprecise results by overshooting the least fixed point. Narrowing is used to approach the least fixed point from above. Possible problem: infinite descending chains Is it really a problem? lfp F lfp F How can we safely move down the lattice?

29 Narrowing: Recovering Precision Widening terminates at a point x lfp F. We can iterate: x 0 = x x i+1 = F(x i ) x i Safety: By monotonicity we know F(x) F(lfp F) = lfp F. By induction we can easily show that x i lfp F for all i. Termination: Depends on existence of infinite descending chains.

30 Narrowing: Formal Requirement A narrowing is an operator : D x D D such that 1. Safety: l x and l y à l (x y) x 2. Termination: Is for all descending chains x 0 x 1... the chain y 0 = x 0 y i+1 = y i x i+1 is finite. F d ( meet ) a narrowing operator on intervals? >

31 ( Another Example Revisited: Interval Analysis with Widening and Narrowing Result after Widening: x 7! [0, 0] x 7! [0, 1] x 7! [0, 1000] y 7! [2, 2] y 7! [2, 1000] y 7! [2, 1] start x = 0 1 Neg(x < 1000) 5 Pos(x < 1000) y = y+1 2 x = x+1 3 y = 2*x 4 Result after Narrowing: 7! x 7! [1000, 1000] y 7! 7! [3, 2001] x 7! [0, 999] 7! x 7! [1, 1000] 7! y 7! [2, 2000] à Precisely the least fixed point!

32 Applications of Numerical Domains As input to other analyses: Cache Analysis Dependencies between memory accesses Loop Bound Analysis: Instrument program with loop iteration counters Determine maximal value of counter Requires relational analysis

33 Reduction: Loop Bound Analysis to Value Analysis start start x = x % 5 x = x % y = 42 2 Pos(x < y) Neg(x < y) 8 Instrument program with counters of loop iterations and other interesting events y = 42 2 loopc = 0 leftc = 0 rightc = Neg(x < y) 8 a = M[x] Pos(x < y) 4 4 b = M[x+1] loopc Pos(a<b) Neg(a<b) Pos(a<b) Neg(a<b) x = x+2 x = x+1 leftc++ x = x+2 rightc++ x = x+1

34 Summary Interval Analysis: A non-relational value analysis Widenings for termination in the presence of Infinite Ascending Chains Narrowings to recover precision Basic Approach to Loop Bound Analysis based on Value Analysis

35 Outlook Cache Abstractions Schedulability Analysis Cache-Related Preemption Delay Predictable Microarchitectures

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

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

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

«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

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

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

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

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

Generation of. Polynomial Equality Invariants. by Abstract Interpretation

Generation of. Polynomial Equality Invariants. by Abstract Interpretation Generation of Polynomial Equality Invariants by Abstract Interpretation Enric Rodríguez-Carbonell Universitat Politècnica de Catalunya (UPC) Barcelona Joint work with Deepak Kapur (UNM) 1 Introduction

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

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

Principles of Program Analysis: Abstract Interpretation

Principles of Program Analysis: Abstract Interpretation Principles of Program Analysis: Abstract Interpretation Transparencies based on Chapter 4 of the book: Flemming Nielson, Hanne Riis Nielson and Chris Hankin: Principles of Program Analysis. Springer Verlag

More information

An Abstract Interpretation Approach. for Automatic Generation of. Polynomial Invariants

An Abstract Interpretation Approach. for Automatic Generation of. Polynomial Invariants An Abstract Interpretation Approach for Automatic Generation of Polynomial Invariants Enric Rodríguez-Carbonell Universitat Politècnica de Catalunya Barcelona Deepak Kapur University of New Mexico Albuquerque

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

Basic Concepts of Abstract Interpretation

Basic Concepts of Abstract Interpretation Programming Research Laboratory Seoul National University Basic Concepts of Abstract Interpretation Soonho Kong http://ropas.snu.ac.kr/ soon/ May 25, 2007 Work of P. Cousot and R.Cousot Basic Concepts

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

Compilation and Program Analysis (#8) : Abstract Interpretation

Compilation and Program Analysis (#8) : Abstract Interpretation Compilation and Program Analysis (#8) : Abstract Interpretation Laure Gonnord http://laure.gonnord.org/pro/teaching/capm.html Laure.Gonnord@ens-lyon.fr Master, ENS de Lyon Nov 7 Objective Compilation vs

More information

«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 www.di.ens.fr/~cousot IFIP WCC Topical day on Abstract

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

«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

CS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers. 1 Complete partial orders (CPOs) 2 Least fixed points of functions

CS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers. 1 Complete partial orders (CPOs) 2 Least fixed points of functions CS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers We saw that the semantics of the while command are a fixed point. We also saw that intuitively, the semantics are the limit

More information

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

Static Program Analysis

Static Program Analysis Reinhard Wilhelm Universität des Saarlandes Static Program Analysis Slides based on: Beihang University June 2012 H. Seidl, R. Wilhelm, S. Hack: Compiler Design, Volume 3, Analysis and Transformation,

More information

Disjunctive relational abstract interpretation for interprocedural program analysis

Disjunctive relational abstract interpretation for interprocedural program analysis Disjunctive relational abstract interpretation for interprocedural program analysis Nicolas Halbwachs, joint work with Rémy Boutonnet Verimag/CNRS, and Grenoble-Alpes University Grenoble, France R. Boutonnet,

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

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

Computing (the smallest) fixed points of monotone maps arising in static analysis by AI

Computing (the smallest) fixed points of monotone maps arising in static analysis by AI Computing (the smallest fixed points of monotone maps arising in static analysis by AI Joint work, over the last 4 years: Stéphane Gaubert 1, Assalé Adjé, Eric Goubault 3, Sylvie Putot, Alexandru Costan,

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

Static Program Analysis

Static Program Analysis Static Program Analysis Lecture 13: Abstract Interpretation III (Abstract Interpretation of WHILE Programs) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de

More information

Static Program Analysis. Seidl/Wilhelm/Hack: Compiler Design Analysis and Transformation, Springer Verlag, 2012

Static Program Analysis. Seidl/Wilhelm/Hack: Compiler Design Analysis and Transformation, Springer Verlag, 2012 Static Program Analysis Seidl/Wilhelm/Hack: Compiler Design Analysis and Transformation, Springer Verlag, 2012 1 A Short History of Static Program Analysis Early high-level programming languages were implemented

More information

A Tutorial on Program Analysis

A Tutorial on Program Analysis A Tutorial on Program Analysis Markus Müller-Olm Dortmund University Thanks! Helmut Seidl (TU München) and Bernhard Steffen (Universität Dortmund) for discussions, inspiration, joint work,... 1 Dream of

More information

Probabilistic Model Checking and [Program] Analysis (CO469)

Probabilistic Model Checking and [Program] Analysis (CO469) Probabilistic Model Checking and [Program] Analysis (CO469) Program Analysis Herbert Wiklicky herbert@doc.ic.ac.uk Spring 208 / 64 Overview Topics we will cover in this part will include:. Language WHILE

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

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

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

Operational Semantics

Operational Semantics Operational Semantics Semantics and applications to verification Xavier Rival École Normale Supérieure Xavier Rival Operational Semantics 1 / 50 Program of this first lecture Operational semantics Mathematical

More information

Lecture Notes: Program Analysis Correctness

Lecture Notes: Program Analysis Correctness Lecture Notes: Program Analysis Correctness 15-819O: Program Analysis Jonathan Aldrich jonathan.aldrich@cs.cmu.edu Lecture 5 1 Termination As we think about the correctness of program analysis, let us

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

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

Static Analysis of Numerical Programs and Systems. Sylvie Putot

Static Analysis of Numerical Programs and Systems. Sylvie Putot Static Analysis of Numerical Programs and Systems Sylvie Putot joint work with O. Bouissou, K. Ghorbal, E. Goubault, T. Le Gall, K. Tekkal, F. Védrine Laboratoire LMEASI, CEA LIST Digicosme Spring School,

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

Precise Widening Operators for Convex Polyhedra

Precise Widening Operators for Convex Polyhedra Precise Widening Operators for Convex Polyhedra Roberto Bagnara a, Patricia M. Hill b, Elisa Ricci a, Enea Zaffanella a a Department of Mathematics, University of Parma, Italy b School of Computing, University

More information

Automatic determination of numerical properties of software and systems

Automatic determination of numerical properties of software and systems Automatic determination of numerical properties of software and systems Eric Goubault and Sylvie Putot Modelling and Analysis of Interacting Systems, CEA LIST MASCOT-NUM 2012 Meeting, March 21-23, 2012

More information

Non-arithmetic approach to dealing with uncertainty in fuzzy arithmetic

Non-arithmetic approach to dealing with uncertainty in fuzzy arithmetic Non-arithmetic approach to dealing with uncertainty in fuzzy arithmetic Igor Sokolov rakudajin@gmail.com Moscow State University Moscow, Russia Fuzzy Numbers Fuzzy logic was introduced mainly due to the

More information

Value Iteration. 1 Introduction. Krishnendu Chatterjee 1 and Thomas A. Henzinger 1,2

Value Iteration. 1 Introduction. Krishnendu Chatterjee 1 and Thomas A. Henzinger 1,2 Value Iteration Krishnendu Chatterjee 1 and Thomas A. Henzinger 1,2 1 University of California, Berkeley 2 EPFL, Switzerland Abstract. We survey value iteration algorithms on graphs. Such algorithms can

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

Smoothing a Program Soundly and Robustly

Smoothing a Program Soundly and Robustly Smoothing a Program Soundly and Robustly Swarat Chaudhuri 1 and Armando Solar-Lezama 2 1 Rice University 2 MIT Abstract. We study the foundations of smooth interpretation, a recentlyproposed program approximation

More information

Two examples of numerical domains

Two examples of numerical domains ROSAEC workshop Fourth session Two examples of numerical domains Jérôme Feret Laboratoire d Informatique de l École Normale Supérieure INRIA, ÉNS, CNRS January, 2009 ROSAEC workshop The Arithmetic-Geometric

More information

Definability in fields Lecture 2: Defining valuations

Definability in fields Lecture 2: Defining valuations Definability in fields Lecture 2: Defining valuations 6 February 2007 Model Theory and Computable Model Theory Gainesville, Florida Defining Z in Q Theorem (J. Robinson) Th(Q) is undecidable. Defining

More information

By that, every path can be analyzed :-) A given program may admit several paths :-( For any given input, another path may be chosen :-((

By that, every path can be analyzed :-) A given program may admit several paths :-( For any given input, another path may be chosen :-(( [x = M[e];] A = (A {e})\expr x [M[e 1 ] = e 2 ;] A = A {e 1,e 2 } By that, every path can be analyzed :-) A given program may admit several paths :-( For any given input, another path may be chosen :-((

More information

Static Analysis by Policy Iteration on Relational Domains

Static Analysis by Policy Iteration on Relational Domains Static Analysis by Policy Iteration on Relational Domains Stephane Gaubert 1, Eric Goubault 2, Ankur Taly 3, Sarah Zennou 2 1 INRIA Rocquencourt, stephane.gaubert@inria.fr 2 CEA-LIST, MeASI, {eric.goubault,

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-1617/spa/ Software Architektur Praxis-Workshop Bringen Sie Informatik

More information

Part IA Numbers and Sets

Part IA Numbers and Sets Part IA Numbers and Sets Definitions Based on lectures by A. G. Thomason Notes taken by Dexter Chua Michaelmas 2014 These notes are not endorsed by the lecturers, and I have modified them (often significantly)

More information

A Few Graph-Based Relational Numerical Abstract Domains

A Few Graph-Based Relational Numerical Abstract Domains A Few Graph-Based Relational Numerical Abstract Domains Antoine Miné École Normale Supérieure de Paris, France, mine@di.ens.fr, http://www.di.ens.fr/~mine Abstract This article presents the systematic

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

The Octagon Abstract Domain

The Octagon Abstract Domain The Octagon Abstract Domain Antoine Miné (mine@di.ens.fr) Département d Informatique, École Normale Supérieure Abstract. This article presents the octagon abstract domain, a relational numerical abstract

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

Dataflow analysis. Theory and Applications. cs6463 1

Dataflow analysis. Theory and Applications. cs6463 1 Dataflow analysis Theory and Applications cs6463 1 Control-flow graph Graphical representation of runtime control-flow paths Nodes of graph: basic blocks (straight-line computations) Edges of graph: flows

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

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

MA257: INTRODUCTION TO NUMBER THEORY LECTURE NOTES

MA257: INTRODUCTION TO NUMBER THEORY LECTURE NOTES MA257: INTRODUCTION TO NUMBER THEORY LECTURE NOTES 2018 57 5. p-adic Numbers 5.1. Motivating examples. We all know that 2 is irrational, so that 2 is not a square in the rational field Q, but that we can

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

arxiv: v1 [cs.pl] 5 Apr 2012

arxiv: v1 [cs.pl] 5 Apr 2012 Numerical Invariants through Convex Relaxation and Max-Strategy Iteration Thomas Martin Gawlitza 1 and Helmut Seidl 2 arxiv:1204.1147v1 [cs.pl] 5 Apr 2012 1 VERIMAG, Grenoble, France Thomas.Gawlitza@imag.fr

More information

Extending abstract acceleration methods to data-flow programs with numerical inputs

Extending abstract acceleration methods to data-flow programs with numerical inputs Extending abstract acceleration methods to data-flow programs with numerical inputs Article (Published Version) Schrammel, Peter and Jeannet, Bertrand (200) Extending abstract acceleration methods to data-flow

More information

The algorithmic analysis of hybrid system

The algorithmic analysis of hybrid system The algorithmic analysis of hybrid system Authors: R.Alur, C. Courcoubetis etc. Course teacher: Prof. Ugo Buy Xin Li, Huiyong Xiao Nov. 13, 2002 Summary What s a hybrid system? Definition of Hybrid Automaton

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

Approximation Metrics for Discrete and Continuous Systems

Approximation Metrics for Discrete and Continuous Systems University of Pennsylvania ScholarlyCommons Departmental Papers (CIS) Department of Computer & Information Science May 2007 Approximation Metrics for Discrete Continuous Systems Antoine Girard University

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem

More information

Timed Automata VINO 2011

Timed Automata VINO 2011 Timed Automata VINO 2011 VeriDis Group - LORIA July 18, 2011 Content 1 Introduction 2 Timed Automata 3 Networks of timed automata Motivation Formalism for modeling and verification of real-time systems.

More information

LECTURE 2. Hilbert Symbols

LECTURE 2. Hilbert Symbols LECTURE 2 Hilbert Symbols Let be a local field over Q p (though any local field suffices) with char() 2. Note that this includes fields over Q 2, since it is the characteristic of the field, and not the

More information

Lecture Notes: Selected Topics in Discrete Structures. Ulf Nilsson

Lecture Notes: Selected Topics in Discrete Structures. Ulf Nilsson Lecture Notes: Selected Topics in Discrete Structures Ulf Nilsson Dept of Computer and Information Science Linköping University 581 83 Linköping, Sweden ulfni@ida.liu.se 2004-03-09 Contents Chapter 1.

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-1617/spa/ Software Architektur Praxis-Workshop Bringen Sie Informatik

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-18/spa/ Recap: Interprocedural Dataflow Analysis Outline of

More information

Optimization of Submodular Functions Tutorial - lecture I

Optimization of Submodular Functions Tutorial - lecture I Optimization of Submodular Functions Tutorial - lecture I Jan Vondrák 1 1 IBM Almaden Research Center San Jose, CA Jan Vondrák (IBM Almaden) Submodular Optimization Tutorial 1 / 1 Lecture I: outline 1

More information

Design and Analysis of Time-Critical Systems Cache Analysis and Predictability

Design and Analysis of Time-Critical Systems Cache Analysis and Predictability esign and nalysis of Time-ritical Systems ache nalysis and Predictability Jan Reineke @ saarland university ES Summer School 2017 Fiuggi, Italy computer science n nalogy alvin and Hobbes by Bill Watterson

More information

The Lebesgue Integral

The Lebesgue Integral The Lebesgue Integral Brent Nelson In these notes we give an introduction to the Lebesgue integral, assuming only a knowledge of metric spaces and the iemann integral. For more details see [1, Chapters

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

Worst-Case Execution Time Analysis. LS 12, TU Dortmund

Worst-Case Execution Time Analysis. LS 12, TU Dortmund Worst-Case Execution Time Analysis Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 09/10, Jan., 2018 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 43 Most Essential Assumptions for Real-Time Systems Upper

More information

Quick Tour of the Topology of R. Steven Hurder, Dave Marker, & John Wood 1

Quick Tour of the Topology of R. Steven Hurder, Dave Marker, & John Wood 1 Quick Tour of the Topology of R Steven Hurder, Dave Marker, & John Wood 1 1 Department of Mathematics, University of Illinois at Chicago April 17, 2003 Preface i Chapter 1. The Topology of R 1 1. Open

More information

Software Verification

Software Verification Software Verification Grégoire Sutre LaBRI, University of Bordeaux, CNRS, France Summer School on Verification Technology, Systems & Applications September 2008 Grégoire Sutre Software Verification VTSA

More information

CDS 270 (Fall 09) - Lecture Notes for Assignment 8.

CDS 270 (Fall 09) - Lecture Notes for Assignment 8. CDS 270 (Fall 09) - Lecture Notes for Assignment 8. ecause this part of the course has no slides or textbook, we will provide lecture supplements that include, hopefully, enough discussion to complete

More information

Lecture Notes on Loop Variants and Convergence

Lecture Notes on Loop Variants and Convergence 15-414: Bug Catching: Automated Program Verification Lecture Notes on Loop Variants and Convergence Matt Fredrikson Ruben Martins Carnegie Mellon University Lecture 9 1 Introduction The move to total correctness

More information

Evaluation and Validation

Evaluation and Validation Evaluation and Validation Jian-Jia Chen (Slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2016 年 01 月 05 日 These slides use Microsoft clip arts. Microsoft copyright

More information

Relative Completeness of Abstraction Refinement for Software Model Checking

Relative Completeness of Abstraction Refinement for Software Model Checking Relative Completeness of Abstraction Refinement for Software Model Checking Thomas Ball 1, Andreas Podelski 2, and Sriram K. Rajamani 1 1 Microsoft Research 2 Max-Planck-Institut für Informatik Abstract.

More information

Accelerated Data-Flow Analysis

Accelerated Data-Flow Analysis Accelerated Data-Flow Analysis Jérôme Leroux, Grégoire Sutre To cite this version: Jérôme Leroux, Grégoire Sutre. Accelerated Data-Flow Analysis. Springer Berlin. Static Analysis, 2007, Kongens Lyngby,

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

A Logic for Information Flow Analysis with an Application to Forward Slicing of Simple Imperative Programs

A Logic for Information Flow Analysis with an Application to Forward Slicing of Simple Imperative Programs A Logic for Information Flow Analysis with an Application to Forward Slicing of Simple Imperative Programs Torben Amtoft and Anindya Banerjee a,1,2 a Department of Computing and Information Sciences Kansas

More information

A New Numerical Abstract Domain Based on Difference-Bound Matrices

A New Numerical Abstract Domain Based on Difference-Bound Matrices A New Numerical Abstract Domain Based on Difference-Bound Matrices Antoine Miné École Normale Supérieure de Paris, France, mine@di.ens.fr, http://www.di.ens.fr/~mine Abstract. This paper presents a new

More information

Higher-Order Chaotic Iteration Sequences

Higher-Order Chaotic Iteration Sequences Higher-Order Chaotic Iteration Sequences Mads Rosendahl DIKU, University of Copenhagen Universitetsparken 1, DK-2100 Copenhagen Ø, Denmark E-mail rose@diku.dk 1993 Abstract Chaotic iteration sequences

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

IC3, PDR, and Friends

IC3, PDR, and Friends IC3, PDR, and Friends Arie Gurfinkel Department of Electrical and Computer Engineering University of Waterloo arie.gurfinkel@uwaterloo.ca Abstract. We describe the IC3/PDR algorithms and their various

More information

Computing Discrete Logarithms. Many cryptosystems could be broken if we could compute discrete logarithms quickly.

Computing Discrete Logarithms. Many cryptosystems could be broken if we could compute discrete logarithms quickly. Computing Discrete Logarithms Many cryptosystems could be broken if we could compute discrete logarithms quickly. The first discrete logarithm algorithms below apply in any group. They are about the best

More information

Abstract Interpretation, or Non-Standard Semantics, or Picking the Right Abstraction

Abstract Interpretation, or Non-Standard Semantics, or Picking the Right Abstraction Abstract Interpretation, or NonStandard Semantics, or Picking the Right Abstraction Meeting 14, SI 5535, Spring 29 Announcements Homework 3 is graded Graded out of 19, out of 38 on moodle because of.5

More information

CS611 Lecture 18 Fixed Points and CPOs

CS611 Lecture 18 Fixed Points and CPOs CS611 Lecture 18 Fixed Points and CPOs 9-18-00 Scribe: Chris Hardin, Michael Clarkson Lecturer: Andrew Myers 1 Trouble with while If we try to define C [while b do c] in the obvious manner, we get C [while

More information

Factorization in Domains

Factorization in Domains Last Time Chain Conditions and s Uniqueness of s The Division Algorithm Revisited in Domains Ryan C. Trinity University Modern Algebra II Last Time Chain Conditions and s Uniqueness of s The Division Algorithm

More information

Abstract Acceleration in Linear Relation Analysis

Abstract Acceleration in Linear Relation Analysis Abstract Acceleration in Linear Relation Analysis Laure Gonnord, Peter Schrammel To cite this version: Laure Gonnord, Peter Schrammel. Abstract Acceleration in Linear Relation Analysis. Science of Computer

More information

Precise Program Analysis through (Linear) Algebra

Precise Program Analysis through (Linear) Algebra Precise Program Analysis through (Linear) Algebra Markus Müller-Olm FernUniversität Hagen (on leave from Universität Dortmund) Joint work with Helmut Seidl (TU München) CP+CV 4, Barcelona, March 8, 4 Overview

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

The Octagon Abstract Domain

The Octagon Abstract Domain 1 The Octagon Abstract Domain Antoine Miné École Normale Supérieure de Paris, France, mine@di.ens.fr, http://www.di.ens.fr/~mine arxiv:cs/0703084v2 cs.pl] 16 Mar 2007 Abstract This article presents a new

More information