Verification of Real-Time Systems Numerical Abstractions
|
|
- Joy Bradley
- 5 years ago
- Views:
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 Introduction Static Program Analysis Static program analysis consists of automatically discovering properties of a program that hold for all possible
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 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 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 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 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 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 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 informationGeneration 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 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 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 informationPrinciples 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 informationAn 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 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 informationBasic 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 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 informationCompilation 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» 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 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 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 informationCS 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 informationBASIC 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 informationStatic 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 informationDisjunctive 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 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 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 informationComputing (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 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 informationStatic 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 informationStatic 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 informationA 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 informationProbabilistic 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 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 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 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 informationOperational 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 informationLecture 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 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 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 informationStatic 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 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 informationPrecise 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 informationAutomatic 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 informationNon-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 informationValue 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 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 informationSmoothing 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 informationTwo 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 informationDefinability 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 informationBy 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 informationStatic 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 informationStatic Program Analysis
Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-1617/spa/ Software Architektur Praxis-Workshop Bringen Sie Informatik
More informationPart 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 informationA 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 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 informationThe 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 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 informationDataflow 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 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 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 informationMA257: 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 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 informationarxiv: 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 informationExtending 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 informationThe 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 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 informationApproximation 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 informationStatic 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 informationTimed 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 informationLECTURE 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 informationLecture 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 informationStatic Program Analysis
Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ws-1617/spa/ Software Architektur Praxis-Workshop Bringen Sie Informatik
More informationStatic 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 informationOptimization 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 informationDesign 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 informationThe 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 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 informationWorst-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 informationQuick 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 informationSoftware 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 informationCDS 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 informationLecture 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 informationEvaluation 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 informationRelative 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 informationAccelerated 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 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 informationA 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 informationA 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 informationHigher-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 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 informationIC3, 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 informationComputing 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 informationAbstract 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 informationCS611 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 informationFactorization 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 informationAbstract 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 informationPrecise 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 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 informationThe 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