Interval Polyhedra: An Abstract Domain to Infer Interval Linear Relationships

Size: px
Start display at page:

Download "Interval Polyhedra: An Abstract Domain to Infer Interval Linear Relationships"

Transcription

1 Interval Polyhedra: An Abstract Domain to Infer Interval Linear Relationships Liqian Chen 1,2 Antoine Miné 3,2 Ji Wang 1 Patrick Cousot 2,4 1 National Lab. for Parallel and Distributed Processing, Changsha, China 2 École Normale Supérieure, Paris, France 3 CNRS, France 4 CIMS, New York University, New York, NY, USA 11/08/2009 SAS 2009 L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 1 / 25

2 Overview Interval polyhedra domain of interval polyhedra domain Conclusion L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 2 / 25

3 L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 3 / 25

4 Goal: numerical static analysis discover statically and automatically numerical properties on the (abstract) variables of a program : program analysis and verification infer numerical relationships check for runtime errors: array out-of-bounds, arithmetic overflows, division by zero,... check for user provided assertions, contracts optimize programs... L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 4 / 25

5 Numerical abstract domains An abstract domain in the framework of abstract interpretation a specific kind of computer-representable properties e.g., a family of constraints sound (but maybe incomplete) algorithms for abstract operations e.g., join, meet, widening,... Numerical abstract domains infer relationships among numerical variables examples Intervals (a x b) [Cousot Cousot 76] Octagons (±x ± y c) [Miné 01] Convex Polyhedra (Σ k a k x k b) [Cousot Halbwachs 78]... L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 5 / 25

6 with inexact data: only known to lie in certain intervals uncertainty from modelling physical objects interval-based abstractions for programs non-linear operations: x y [x, x] y floating-point arithmetic: x f,r y [1 ɛ, 1 + ɛ] x + [1 ɛ, 1 + ɛ] y + [ ε, ε] program analysis using floating-point implementations real/rational numbers in the analyzed program: 1 10 [ , ] e.g., floating-point convex polyhedra [Chen Miné Cousot 08] Intervals appear naturally in real-life! L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 6 / 25

7 Idea Main idea: Interval polyhedra a new numerical abstract domain to infer interval linear relationships constraint representation: Σ k [a k, a k ] x k b intuition: interval version of convex polyhedra (Σ k a k x k b) core domain operations interval variant of Fourier-Motzkin variable elimination interval linear programming L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 7 / 25

8 L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 8 / 25

9 Preliminaries Interval Linear Algebra interval matrix A = [A, A] = {A R m n : A A A} center matrix: A c = 1 2 (A + A) radius matrix: A = 1 2 (A A) interval linear system: Ax b x R n is a weak solution of Ax b, if it satisfies Ax b for some A A Theorem ([Gerlach 81]) A vector x R n is a weak solution of Ax b iff it satisfies A c x A x b. L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 9 / 25

10 Interval Polyhedra (itvpol) An interval polyhedron P representation: an interval linear system Ax b semantics: γ(p) = {x R n : A A. Ax b} Topological properties: can be non-convex, even unconnected a (possibly empty) convex polyhedron in each orthant k [a k, a k ] x k b k a k x k b, where An example: a k = { ak if x k 0, a k if x k 0 P = { [ 1, 0]x + y 1, [0, 1]x y 0 } (++) { 1 x + y 1, 0 x y 0 } (+ ) { 1 x + y 1, 0 x y 0 } ( ) { 0 x + y 1, 1 x y 0 } ( +) { 0 x + y 1, 1 x y 0 } y x L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 10 / 25

11 Interval Linear Programming (ILP) Interval linear programming: max{c T x : Ax b} max{c T x : Ax b} sup{f (A, b, c): A A, c c} where f (A, b, c) = max{c T x : Ax b} with data satisfying A A, c c Note: we use ILP as a black box here.[chineck Ramadan 00][Jansson 04] e.g., one LP for each orthant : given ϕ=( k [a k, a k ] x k c) and P=(Ax b) entailment check: P = ϕ? (max{ k [a k, a k ] x k : Ax b} c?) redundancy removal: ϕ redundant w.r.t. P? (P\{ϕ} = ϕ?) inclusion test: P P? ( ϕ P.P = ϕ?) L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 11 / 25

12 Projection Classic Fourier-Motzkin elimination: eliminate x i FM(P, x i ) = { k i a kx k β) P a i = 0 } { ( ) ( ) ak k i a a k i a i x k b a b ( i a i k a } kx k b) P, a i > 0 ( k a k x k b ) P, a i < 0 Interval Fourier-Motzkin elimination: eliminate x i IFM(P, x i ) = {( k i [a k, a k ]x k b) ˆP [a i, a i ] = [0, 0] } { ( [ak, a k ] k i [a i, a i ] [a k, a k ] ) [a i, a x k b ( k [a k, a k ]x k b) ˆP, a i > 0 i] ( k [a k, a k ]x k b ) ˆP, a i < 0 ( ) where ˆP = {ι(ϕ, x i ) ϕ P} and b = sup b [a i, a i ] b [a i, a. i] } Note: IFM is sound but not necessarily exact (independently from ι) L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 12 / 25

13 Projection (cont.) Goal: linearize non-zero interval coefficients containing 0 into scalars Partial linearization: ϕ = ( k [a k, a k ]x k b) { ϕ if ai ι(ϕ, x i ) def =a i =0 or a i >0 or a i <0 = c x i + [a k, a k ]x k b otherwise k i where c can be any real number and b = sup(b [a i c, a i c] [x i, x i ]). Soundness: x.(x i [x i, x i ] x γ(ϕ)) x γ(ι(ϕ, x i )) Example ϕ : ([0, 2]x + y 2) w.r.t. x, y [ 2, 4] c=1 = ι(ϕ, x) = (x + y 6) L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 13 / 25

14 Projection (cont.) Application of projection assignment [[x j := k [a k, a k ]x k + [c, c]]] # add the constraint x j k [a k, a k]x k [c, c] = 0 (x j is fresh) project out x j rename x j into x j E.g., perform assignment transfer function [[x := [ 3, 1]x + 1]] # on P = {[ 1, 0]x + y = [0, 1], x = [ 2, 2]} x + [ 1, 3]x = 1 x + x = [ 3, 5] [ 1, 0]x + y = [0, 1] 0.5x + y = [ 1, 2] x = [ 2, 2] {x + 2y = [ 5, 9], x = [5, 7], y = [ 2, 3]} {x + 2y = [ 5, 9], x = [5, 7], y = [ 2, 3]} L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 14 / 25

15 Join Definition (Interval Combination ) Given ϕ : ( k [a k, a k ] x k b ) and ϕ : ( k [a k, a k ] x k b ), their interval combination is defined as ϕ ϕ def = ( k [a k, a k ] x k b), where b = max(b, b ) and [a k, a k ] = [min(a k, a k ), max(a k, a k )]. P P def = {ϕ ϕ ϕ P ϕ P } y Example Given P = {y 1, y 1}(i.e., {y = 1}) and P = { x + y 0, x y 0}(i.e., {x y = 0}), P = P P = {[ 1, 0]x + y = [0, 1]} (best!) x L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 15 / 25

16 Join (cont.) Definition (Envelope) The envelope of P 1 and P 2 is defined as env(p 1, P 2 ) def = S 1 S 2 where S 1 = { ϕ 1 P 1 P 2 = ϕ 1 }, S 2 = { ϕ 2 P 2 P 1 = ϕ 2 }. env(p i ):the set of nonenvelope constraints in P i BB(P): the bounding box of P Definition (Weak Join) We define a weak join operation for the itvpol domain as P 1 w P 2 def = env(p 1, P 2 ) (env(p 1 ) env(p 2 )) (BB(P 1 ) itv BB(P 2 )). L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 16 / 25

17 Join (cont.) Example: weak join P 1 = {[ 1, 1]x + 2y 2, 2x y 2, x y 1, y 0} P 2 = {[ 1, 1]x 2y 2, 2x + y 2, x + y 1, y 0} y x env(p 1, P 2 ) = {[ 1, 1]x + 2y 2, [ 1, 1]x 2y 2} = {[ 1, 1]x + 2y = [ 2, 2]}. env(p 1 ) env(p 2 ) = { 2x y 2, x y 1, y 0} {2x + y 2, x + y 1, y 0} = {2x + [ 2, 1]y = [ 2, 2]} P 1 w P 2 = {[ 1, 1]x + 2y = [ 2, 2], 2x + [ 2, 1]y = [ 2, 2]} exact! L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 17 / 25

18 Widening Definition (Widening of itvpol) Given a threshold k and two interval polyhedra P 1 P 2 in the i-th iteration, we define the widening in the i-th iteration as { P 1 [k] def S1 S i P 2 = 2 if i k otherwise S 1 where S 1 = {ϕ 1 P 1 P 2 = ϕ 1 }, S 2 = {ϕ 2 P 2 ϕ 1 P 1, γ(p 1 ) = γ((p 1 \ {ϕ 1 }) {ϕ 2 })}. {(Q n ) n N }, the sequence P n+1 = P n Q n converges in finite time. L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 18 / 25

19 of the L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 19 / 25

20 Handling Disjunctions Interval-linear-algebra based abstraction for disjunctions a CNF(Conjunctive Normal Form) formula each CNF-term: abstracted as an interval linear inequality the whole CNF formula: as an interval polyhedron a DNF(Disjunctive Normal Form) formula each DNF-term: a convex polyhedron the whole DNF formula: as an interval polyhedron using w Example int x, y; if (x 1 and x 1) then 1 y := x 1; else 2 y := x; endif; 3 Loc Pol itvpol 1 1 x 1 1 x 1 2 [ 1, 1]x x y 1 0 x y 1 [ 1, 1]x + [0, 1]y 1 x + [ 1, 0]y 1 L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 20 / 25

21 Handling Non-Linear Expressions Interval-linear-algebra based abstraction for nonlinearity Example linearization [Miné 06]: abstract arbitrary expressions e into interval linear form Σ k [a k, a k ] x k + [c, c]. int x, y, z; assume 5 z 5; assume x 2; y := z x + 1; 1 assume y == 14; 2 Loc Pol itvpol 1 5 z 5 x 2 5 z 5 x 2 5x + y 21 [ 5, 5]x + y = 1 5x y 19 2 y = 14 5 z 5 y = 14 5 z 5 x 1 x 3 L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 21 / 25

22 Handling Floating-Point Arithmetic How to deal with rounding errors in the program? Interval-linear-algebra based abstraction for floating-point arithmetic Example make rounding explicit as intervals [Miné 04]: X Y Z X [1 ɛ, 1 + ɛ](y + Z) + [ ε, ε] real x, y; if random() then y := 2 r x r 1; else y := x r 1; endif; 1 assume y == 0; 2 x := x r 1; Loc Pol itvpol 1 [ , ]x + y [ , ]x + y y = 0 y = x L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 22 / 25

23 Prototype Prototype implementation using: interval arithmetic based on double-precision floating-point numbers (64 bits) GNU Linear Programming Kit (GLPK) for simplex solving to implement an interval linear programming solver rigorous linear programming technique for soundness [Chen Miné Cousot APLAS 08] Interface: plugged into the Apron library programs analyzed with Interproc Comparison with FPPol (floating-point convex polyhedra) [Chen Miné Cousot APLAS 08] L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 23 / 25

24 Early Experimental Results Program itvpol FPPol Result name #vars(#±) #iter. time(ms) #iter. time(ms) Invar. program1 2(2) > program2 3(3) > program3 2(2) > program4 1(1) > program5 2(1) > sequencewhiles 3(1) > ratelimiter f 5(4) > bubblesort 4(4) > maccarthy91 3(2) > heapsort 7(7) < symmetricalstairs 2(1) < ackerman 4(2) < itvpol can often find some interesting non-convex invariants without much overhead. L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 24 / 25

25 Conclusion Summary: a new numerical abstract domain: interval polyhedra (itvpol) introduce interval linear algebra to static analysis manipulate interval linear constraints k [a k, b k ]x k c attractive features: natively allows expressing certain non-convex (even unconnected) properties possible applications: for programs affected by interval uncertainty programs involving disjunctive constraints programs involving non-linear expressions floating-point programs Future Work: more precise abstractions for the join test itvpol on large realistic programs L. Chen, A. Miné, J. Wang, P. Cousot The Interval Polyhedra Abstract Domain p. 25 / 25

The Apron Library. Bertrand Jeannet and Antoine Miné. CAV 09 conference 02/07/2009 INRIA, CNRS/ENS

The Apron Library. Bertrand Jeannet and Antoine Miné. CAV 09 conference 02/07/2009 INRIA, CNRS/ENS The Apron Library Bertrand Jeannet and Antoine Miné INRIA, CNRS/ENS CAV 09 conference 02/07/2009 Context : Static Analysis What is it about? Discover properties of a program statically and automatically.

More information

Relational Abstract Domains for the Detection of Floating-Point Run-Time Errors

Relational Abstract Domains for the Detection of Floating-Point Run-Time Errors ESOP 2004 Relational Abstract Domains for the Detection of Floating-Point Run-Time Errors Antoine Miné École Normale Supérieure Paris FRANCE This work was partially supported by the ASTRÉE RNTL project

More information

The Apron Library. Antoine Miné. CEA Seminar December the 10th, CNRS, École normale supérieure

The Apron Library. Antoine Miné. CEA Seminar December the 10th, CNRS, École normale supérieure Antoine Miné CNRS, École normale supérieure CEA Seminar December the 10th, 2007 CEA December the 10th, 2007 Antoine Miné p. 1 / 64 Outline Introduction Introduction Main goals Theoretical background The

More information

InterprocStack analyzer for recursive programs with finite-type and numerical variables

InterprocStack analyzer for recursive programs with finite-type and numerical variables InterprocStack analyzer for recursive programs with finite-type and numerical variables Bertrand Jeannet Contents 1 Invoking InterprocStack 1 2 The Simple language 2 2.1 Syntax and informal semantics.........................

More information

Algebraic Program Analysis

Algebraic Program Analysis Introduction to Algebraic Program Analysis Zachary Kincaid 1 Thomas Reps 2,3 1 Princeton University 2 University of Wisconsin-Madison 3 GrammaTech, Inc. January 8, 2018 1 Program analysis Design algorithms

More information

Static Analysis of List-Manipulating Programs via Bit-Vectors and Numerical Abstractions

Static Analysis of List-Manipulating Programs via Bit-Vectors and Numerical Abstractions Static Analysis of List-Manipulating Programs via Bit-Vectors and Numerical Abstractions Liqian Chen 1,2 Renjian Li 1 Xueguang Wu 1 Ji Wang 1 1 National University of Defense Technology, Changsha, China

More information

Widening Operator. Fixpoint Approximation with Widening. A widening operator 2 L ˆ L 7``! L is such that: Correctness: - 8x; y 2 L : (y) v (x y)

Widening Operator. Fixpoint Approximation with Widening. A widening operator 2 L ˆ L 7``! L is such that: Correctness: - 8x; y 2 L : (y) v (x y) EXPERIENCE AN INTRODUCTION WITH THE DESIGN TOF A SPECIAL PURPOSE STATIC ANALYZER ABSTRACT INTERPRETATION P. Cousot Patrick.Cousot@ens.fr http://www.di.ens.fr/~cousot Biarritz IFIP-WG 2.3 2.4 meeting (1)

More information

Splitting the Control Flow with Boolean Flags

Splitting the Control Flow with Boolean Flags École Normale Supérieure, Paris, France A.Simon@ens.fr July 2008 Good States are Usually Convex Declare C variable int array[12];. 0 1 2 3 4 5 6 7 8 9 10 11 i Access array[i] within bound if 0 i and i

More information

Static Analysis by A. I. of Embedded Critical Software

Static Analysis by A. I. of Embedded Critical Software Static Analysis by Abstract Interpretation of Embedded Critical Software Julien Bertrane ENS, Julien.bertrane@ens.fr Patrick Cousot ENS & CIMS, Patrick.Cousot@ens.fr Radhia Cousot CNRS & ENS, Radhia.Cousot@ens.fr

More information

Block-wise abstract interpretation by combining abstract domains with SMT

Block-wise abstract interpretation by combining abstract domains with SMT Block-wise abstract interpretation by combining abstract domains with SMT Jiahong Jiang, Liqian Chen, Xueguang Wu, Ji Wang National University of Defense Technology, China 01/16/2017 VMCAI 2017 Overview

More information

Relational Abstract Domains for the Detection of Floating-Point Run-Time Errors

Relational Abstract Domains for the Detection of Floating-Point Run-Time Errors Relational Abstract Domains for the Detection of Floating-Point Run-Time Errors Antoine Miné To cite this version: Antoine Miné. Relational Abstract Domains for the Detection of Floating-Point Run-Time

More information

Functor abstract domain by example

Functor abstract domain by example A Parametric Segmentation Functor for Fully Automatic and Scalable Array Content Analysis Scalability Patrick Cousot, NYU & ENS Radhia Cousot, CNRS & ENS & MSR Francesco Logozzo, MSR Precision // here:

More information

CS671 Parallel Programming in the Many-Core Era

CS671 Parallel Programming in the Many-Core Era 1 CS671 Parallel Programming in the Many-Core Era Polyhedral Framework for Compilation: Polyhedral Model Representation, Data Dependence Analysis, Scheduling and Data Locality Optimizations December 3,

More information

SMT-Style Program Analysis with Value-based Refinements

SMT-Style Program Analysis with Value-based Refinements SMT-Style Program Analysis with Value-based Refinements Vijay D Silva Leopold Haller Daniel Kröning NSV-3 July 15, 2010 Outline Imprecision and Refinement in Abstract Interpretation SAT Style Abstract

More information

Simplifying Loop Invariant Generation Using Splitter Predicates. Rahul Sharma Işil Dillig, Thomas Dillig, and Alex Aiken Stanford University

Simplifying Loop Invariant Generation Using Splitter Predicates. Rahul Sharma Işil Dillig, Thomas Dillig, and Alex Aiken Stanford University Simplifying Loop Invariant Generation Using Splitter Predicates Rahul Sharma Işil Dillig, Thomas Dillig, and Alex Aiken Stanford University Loops and Loop Invariants Loop Head x = 0; while( x

More information

Linear programming and duality theory

Linear programming and duality theory Linear programming and duality theory Complements of Operations Research Giovanni Righini Linear Programming (LP) A linear program is defined by linear constraints, a linear objective function. Its variables

More information

Embedded Software Verification Challenges and Solutions. Static Program Analysis

Embedded Software Verification Challenges and Solutions. Static Program Analysis Embedded Software Verification Challenges and Solutions Static Program Analysis Chao Wang chaowang@nec-labs.com NEC Labs America Princeton, NJ ICCAD Tutorial November 11, 2008 www.nec-labs.com 1 Outline

More information

Building a specialized static analyzer

Building a specialized static analyzer Building a specialized static analyzer The Astrée experience Antoine Miné CNRS, École Normale Supérieure Security and Reliability of Software Systems 12 December 2008 Antoine Miné Building a specialized

More information

Abstract Acceleration of General Linear Loops

Abstract Acceleration of General Linear Loops Abstract Acceleration of General Linear Loops Bertrand Jeannet, Peter Schrammel, Sriram Sankaranarayanan Principles of Programming Languages, POPL 14 San Diego, CA Motivation and Challenge Motivation Inferring

More information

State of Practice. Automatic Verification of Embedded Control Software with ASTRÉE and beyond

State of Practice. Automatic Verification of Embedded Control Software with ASTRÉE and beyond Automatic Verification of Embedded Control Software with ASTRÉE and beyond Patrick Cousot Jerome C. Hunsaker Visiting Professor Department of Aeronautics and Astronautics, MIT cousot mit edu www.mit.edu/~cousot

More information

Lecture 6. Abstract Interpretation

Lecture 6. Abstract Interpretation Lecture 6. Abstract Interpretation Wei Le 2014.10 Outline Motivation History What it is: an intuitive understanding An example Steps of abstract interpretation Galois connection Narrowing and Widening

More information

Numerical Static Analysis of Interrupt-Driven Programs via Sequentialization

Numerical Static Analysis of Interrupt-Driven Programs via Sequentialization Numerical Static Analysis of Interrupt-Driven Programs via Sequentialization Xueguang Wu Liqian Chen Antoine Miné Wei Dong Ji Wang {xueguangwu, lqchen}@nudt.edu.cn Mine@di.ens.fr {wdong, wj}@nudt.edu.cn

More information

Integer Programming ISE 418. Lecture 1. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 1. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 1 Dr. Ted Ralphs ISE 418 Lecture 1 1 Reading for This Lecture N&W Sections I.1.1-I.1.4 Wolsey Chapter 1 CCZ Chapter 2 ISE 418 Lecture 1 2 Mathematical Optimization Problems

More information

Robustness Analysis of Floating-Point Programs by Self-Composition

Robustness Analysis of Floating-Point Programs by Self-Composition Robustness Analysis of Floating-Point Programs by Self-Composition Liqian Chen, Jiahong Jiang, Banghu Yin, Wei Dong, and Ji Wang National Laboratory for Parallel and Distributed Processing, National University

More information

Sendmail crackaddr - Static Analysis strikes back

Sendmail crackaddr - Static Analysis strikes back Sendmail crackaddr - Static Analysis strikes back Bogdan Mihaila Technical University of Munich, Germany December 6, 2014 Name Lastname < name@mail.org > ()()()()()()()()()... ()()() 1 / 25 Abstract Interpretation

More information

Enclosures of Roundoff Errors using SDP

Enclosures of Roundoff Errors using SDP Enclosures of Roundoff Errors using SDP Victor Magron, CNRS Jointly Certified Upper Bounds with G. Constantinides and A. Donaldson Metalibm workshop: Elementary functions, digital filters and beyond 12-13

More information

Finite Math Linear Programming 1 May / 7

Finite Math Linear Programming 1 May / 7 Linear Programming Finite Math 1 May 2017 Finite Math Linear Programming 1 May 2017 1 / 7 General Description of Linear Programming Finite Math Linear Programming 1 May 2017 2 / 7 General Description of

More information

Automated Precision Tuning using Semidefinite Programming

Automated Precision Tuning using Semidefinite Programming Automated Precision Tuning using Semidefinite Programming Victor Magron, RA Imperial College joint work with G. Constantinides and A. Donaldson British-French-German Conference on Optimization 15 June

More information

A New Abstraction Framework for Affine Transformers

A New Abstraction Framework for Affine Transformers A New Abstraction Framework for Affine Transformers Tushar Sharma and Thomas Reps SAS 17 Motivations Prove Program Assertions Function and loop summaries Sound with respect to bitvectors A NEW ABSTRACTION

More information

Fast Algorithms for Octagon Abstract Domain

Fast Algorithms for Octagon Abstract Domain Research Collection Master Thesis Fast Algorithms for Octagon Abstract Domain Author(s): Singh, Gagandeep Publication Date: 2014 Permanent Link: https://doi.org/10.3929/ethz-a-010154448 Rights / License:

More information

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x

More information

Symbolic Methods to Enhance the Precision of Numerical Abstract Domains

Symbolic Methods to Enhance the Precision of Numerical Abstract Domains Symbolic Methods to Enhance the Precision of Numerical Abstract Domains Antoine Miné École Normale Supérieure, Paris, France, mine@di.ens.fr, http://www.di.ens.fr/ mine Abstract We present lightweight

More information

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity Marc Uetz University of Twente m.uetz@utwente.nl Lecture 5: sheet 1 / 26 Marc Uetz Discrete Optimization Outline 1 Min-Cost Flows

More information

Abstract Interpretation of Floating-Point. Computations. Interaction, CEA-LIST/X/CNRS. February 20, Presentation at the University of Verona

Abstract Interpretation of Floating-Point. Computations. Interaction, CEA-LIST/X/CNRS. February 20, Presentation at the University of Verona 1 Laboratory for ModElling and Analysis of Systems in Interaction, Laboratory for ModElling and Analysis of Systems in Interaction, Presentation at the University of Verona February 20, 2007 2 Outline

More information

Finite Model Generation for Isabelle/HOL Using a SAT Solver

Finite Model Generation for Isabelle/HOL Using a SAT Solver Finite Model Generation for / Using a SAT Solver Tjark Weber webertj@in.tum.de Technische Universität München Winterhütte, März 2004 Finite Model Generation for / p.1/21 is a generic proof assistant: Highly

More information

Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers

Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers Isil Dillig, Thomas Dillig, and Alex Aiken Computer Science Department Stanford University Linear Arithmetic

More information

Weakly Relational Domains for Floating-Point Computation Analysis

Weakly Relational Domains for Floating-Point Computation Analysis Weakly Relational Domains for Floating-Point Computation Analysis Eric Goubault, Sylvie Putot CEA Saclay, F91191 Gif-sur-Yvette Cedex, France {eric.goubault,sylvie.putot}@cea.fr 1 Introduction We present

More information

Design and Implementation of a Special-Purpose Static Program Analyzer for Safety-Critical Real-Time Embedded Software

Design and Implementation of a Special-Purpose Static Program Analyzer for Safety-Critical Real-Time Embedded Software Design and Implementation of a Special-Purpose Static Program Analyzer for Safety-Critical Real-Time Embedded Software Bruno Blanchet 1, Patrick Cousot 1, Radhia Cousot 2, Jérôme Feret 1, Laurent Mauborgne

More information

Linear Optimization. Andongwisye John. November 17, Linkoping University. Andongwisye John (Linkoping University) November 17, / 25

Linear Optimization. Andongwisye John. November 17, Linkoping University. Andongwisye John (Linkoping University) November 17, / 25 Linear Optimization Andongwisye John Linkoping University November 17, 2016 Andongwisye John (Linkoping University) November 17, 2016 1 / 25 Overview 1 Egdes, One-Dimensional Faces, Adjacency of Extreme

More information

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if POLYHEDRAL GEOMETRY Mathematical Programming Niels Lauritzen 7.9.2007 Convex functions and sets Recall that a subset C R n is convex if {λx + (1 λ)y 0 λ 1} C for every x, y C and 0 λ 1. A function f :

More information

Array Dependence Analysis as Integer Constraints. Array Dependence Analysis Example. Array Dependence Analysis as Integer Constraints, cont

Array Dependence Analysis as Integer Constraints. Array Dependence Analysis Example. Array Dependence Analysis as Integer Constraints, cont Theory of Integers CS389L: Automated Logical Reasoning Omega Test Işıl Dillig Earlier, we talked aout the theory of integers T Z Signature of T Z : Σ Z : {..., 2, 1, 0, 1, 2,..., 3, 2, 2, 3,..., +,, =,

More information

Static Analysis and Verification of Aerospace Software

Static Analysis and Verification of Aerospace Software Static Analysis and Verification of Aerospace Software by Abstract Interpretation joint work with: Patrick Cousot Julien Bertrane and Radhia Cousot École normale supérieure, Paris Patrick Cousot, Courant

More information

COMP331/557. Chapter 2: The Geometry of Linear Programming. (Bertsimas & Tsitsiklis, Chapter 2)

COMP331/557. Chapter 2: The Geometry of Linear Programming. (Bertsimas & Tsitsiklis, Chapter 2) COMP331/557 Chapter 2: The Geometry of Linear Programming (Bertsimas & Tsitsiklis, Chapter 2) 49 Polyhedra and Polytopes Definition 2.1. Let A 2 R m n and b 2 R m. a set {x 2 R n A x b} is called polyhedron

More information

Solving Linear Constraints over Real. German Vitaliy Jr. Researcher Glushkov Institute of Cybernetic NAS Ukraine

Solving Linear Constraints over Real. German Vitaliy Jr. Researcher Glushkov Institute of Cybernetic NAS Ukraine Solving Linear Constraints over Real German Vitaliy Jr. Researcher Glushkov Institute of Cybernetic NAS Ukraine Email: novaua@ukr.net Talk outline Introduction Fourier-Motzkin elimination The main algorithm

More information

Lesson 17. Geometry and Algebra of Corner Points

Lesson 17. Geometry and Algebra of Corner Points SA305 Linear Programming Spring 2016 Asst. Prof. Nelson Uhan 0 Warm up Lesson 17. Geometry and Algebra of Corner Points Example 1. Consider the system of equations 3 + 7x 3 = 17 + 5 = 1 2 + 11x 3 = 24

More information

16.410/413 Principles of Autonomy and Decision Making

16.410/413 Principles of Autonomy and Decision Making 16.410/413 Principles of Autonomy and Decision Making Lecture 17: The Simplex Method Emilio Frazzoli Aeronautics and Astronautics Massachusetts Institute of Technology November 10, 2010 Frazzoli (MIT)

More information

Verasco: a Formally Verified C Static Analyzer

Verasco: a Formally Verified C Static Analyzer Verasco: a Formally Verified C Static Analyzer Jacques-Henri Jourdan Joint work with: Vincent Laporte, Sandrine Blazy, Xavier Leroy, David Pichardie,... June 13, 2017, Montpellier GdR GPL thesis prize

More information

A Static Analyzer for Large Safety-Critical Software

A Static Analyzer for Large Safety-Critical Software A Static Analyzer for Large Safety-Critical Software (Extended Abstract) Bruno Blanchet Patrick Cousot Radhia Cousot Jérôme Feret Laurent Mauborgne Antoine Miné David Monniaux Xavier Rival ABSTRACT We

More information

Lecture Notes 2: The Simplex Algorithm

Lecture Notes 2: The Simplex Algorithm Algorithmic Methods 25/10/2010 Lecture Notes 2: The Simplex Algorithm Professor: Yossi Azar Scribe:Kiril Solovey 1 Introduction In this lecture we will present the Simplex algorithm, finish some unresolved

More information

Numerical Static Analysis of Interrupt-Driven Programs via Sequentialization

Numerical Static Analysis of Interrupt-Driven Programs via Sequentialization Numerical Static Analysis of Interrupt-Driven Programs via Sequentialization Xueguang Wu 1 Liqian Chen 1 Antoine Miné 2 Wei Dong 1 Ji Wang 1 1 National University of Defense Technology, Changsha, China

More information

Lecture 2 - Introduction to Polytopes

Lecture 2 - Introduction to Polytopes Lecture 2 - Introduction to Polytopes Optimization and Approximation - ENS M1 Nicolas Bousquet 1 Reminder of Linear Algebra definitions Let x 1,..., x m be points in R n and λ 1,..., λ m be real numbers.

More information

Iteratively Re-weighted Least Squares for Sums of Convex Functions

Iteratively Re-weighted Least Squares for Sums of Convex Functions Iteratively Re-weighted Least Squares for Sums of Convex Functions James Burke University of Washington Jiashan Wang LinkedIn Frank Curtis Lehigh University Hao Wang Shanghai Tech University Daiwei He

More information

Interprocedurally Analysing Linear Inequality Relations

Interprocedurally Analysing Linear Inequality Relations Interprocedurally Analysing Linear Inequality Relations Helmut Seidl, Andrea Flexeder and Michael Petter Technische Universität München, Boltzmannstrasse 3, 85748 Garching, Germany, {seidl, flexeder, petter}@cs.tum.edu,

More information

Capabilities and limits of CP in Global Optimization

Capabilities and limits of CP in Global Optimization Capabilities and limits of CP in RUEHER Université de Nice Sophia-Antipolis / CNRS - I3S, France CPAIOR Workshop on Hybrid Methods for NLP 15/06/10 A 1 Outline A A 2 The Problem We consider the continuous

More information

arxiv: v1 [cs.pl] 1 Dec 2016

arxiv: v1 [cs.pl] 1 Dec 2016 NSAD 2016 arxiv:1612.00277v1 [cs.pl] 1 Dec 2016 Sparsity Preserving Algorithms for Octagons Abstract Jacques-Henri Jourdan MPI-SWS, Inria Paris Known algorithms for manipulating octagons do not preserve

More information

A Combination Framework for Tracking Partition Sizes

A Combination Framework for Tracking Partition Sizes A Combination Framework for Tracking Partition Sizes Sumit Gulwani Microsoft Research sumitg@microsoft.com Tal Lev-Ami Tel-Aviv University tla@post.tau.ac.il Mooly Sagiv Tel-Aviv University msagiv@post.tau.ac.il

More information

Spark verification features

Spark verification features Spark verification features Paul Jackson School of Informatics University of Edinburgh Formal Verification Spring 2018 Adding specification information to programs Verification concerns checking whether

More information

A Gentle Introduction to Program Analysis

A Gentle Introduction to Program Analysis A Gentle Introduction to Program Analysis Işıl Dillig University of Texas, Austin January 21, 2014 Programming Languages Mentoring Workshop 1 / 24 What is Program Analysis? Very broad topic, but generally

More information

Loop Nest Optimizer of GCC. Sebastian Pop. Avgust, 2006

Loop Nest Optimizer of GCC. Sebastian Pop. Avgust, 2006 Loop Nest Optimizer of GCC CRI / Ecole des mines de Paris Avgust, 26 Architecture of GCC and Loop Nest Optimizer C C++ Java F95 Ada GENERIC GIMPLE Analyses aliasing data dependences number of iterations

More information

Language Overview for PHAVer version 0.35

Language Overview for PHAVer version 0.35 Language Overview for PHAVer version 0.35 Goran Frehse June 22, 2006 We have tried to construct a textual input language that is as user friendly as possible, while keeping the parser simple. In the syntax,

More information

Monte Carlo Simulation for Computing the Worst Value of the Objective Function in the Interval Linear Programming

Monte Carlo Simulation for Computing the Worst Value of the Objective Function in the Interval Linear Programming Int. J. Appl. Comput. Math (216) 2:59 518 DOI 1.17/s4819-15-74-2 ORIGINAL PAPER Monte Carlo Simulation for Computing the Worst Value of the Objective Function in the Interval Linear Programming M. Allahdadi

More information

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017 Section Notes 5 Review of Linear Programming Applied Math / Engineering Sciences 121 Week of October 15, 2017 The following list of topics is an overview of the material that was covered in the lectures

More information

Abstract Interpretation of Floating-Point Computations

Abstract Interpretation of Floating-Point Computations Abstract Interpretation of Floating-Point Computations Sylvie Putot Laboratory for ModElling and Analysis of Systems in Interaction, CEA-LIST/X/CNRS Session: Static Analysis for Safety and Performance

More information

ORIE 6300 Mathematical Programming I September 2, Lecture 3

ORIE 6300 Mathematical Programming I September 2, Lecture 3 ORIE 6300 Mathematical Programming I September 2, 2014 Lecturer: David P. Williamson Lecture 3 Scribe: Divya Singhvi Last time we discussed how to take dual of an LP in two different ways. Today we will

More information

Robotics 2 Iterative Learning for Gravity Compensation

Robotics 2 Iterative Learning for Gravity Compensation Robotics 2 Iterative Learning for Gravity Compensation Prof. Alessandro De Luca Control goal! regulation of arbitrary equilibium configurations in the presence of gravity! without explicit knowledge of

More information

Numerical Optimization: Introduction and gradient-based methods

Numerical Optimization: Introduction and gradient-based methods Numerical Optimization: Introduction and gradient-based methods Master 2 Recherche LRI Apprentissage Statistique et Optimisation Anne Auger Inria Saclay-Ile-de-France November 2011 http://tao.lri.fr/tiki-index.php?page=courses

More information

AMS : Combinatorial Optimization Homework Problems - Week V

AMS : Combinatorial Optimization Homework Problems - Week V AMS 553.766: Combinatorial Optimization Homework Problems - Week V For the following problems, A R m n will be m n matrices, and b R m. An affine subspace is the set of solutions to a a system of linear

More information

IE 5531: Engineering Optimization I

IE 5531: Engineering Optimization I IE 5531: Engineering Optimization I Lecture 3: Linear Programming, Continued Prof. John Gunnar Carlsson September 15, 2010 Prof. John Gunnar Carlsson IE 5531: Engineering Optimization I September 15, 2010

More information

PAGAI: a path sensitive static analyzer

PAGAI: a path sensitive static analyzer PAGAI: a path sensitive static analyzer Julien Henry 1 Université Joseph Fourier, VERIMAG Grenoble, France David Monniaux 1 CNRS, VERIMAG Grenoble, France Matthieu Moy 1 Grenoble-INP, VERIMAG Grenoble,

More information

THEORY OF LINEAR AND INTEGER PROGRAMMING

THEORY OF LINEAR AND INTEGER PROGRAMMING THEORY OF LINEAR AND INTEGER PROGRAMMING ALEXANDER SCHRIJVER Centrum voor Wiskunde en Informatica, Amsterdam A Wiley-Inter science Publication JOHN WILEY & SONS^ Chichester New York Weinheim Brisbane Singapore

More information

The Challenges of Non-linear Parameters and Variables in Automatic Loop Parallelisation

The Challenges of Non-linear Parameters and Variables in Automatic Loop Parallelisation The Challenges of Non-linear Parameters and Variables in Automatic Loop Parallelisation Armin Größlinger December 2, 2009 Rigorosum Fakultät für Informatik und Mathematik Universität Passau Automatic Loop

More information

Verification of Parameterized Concurrent Programs By Modular Reasoning about Data and Control

Verification of Parameterized Concurrent Programs By Modular Reasoning about Data and Control Verification of Parameterized Concurrent Programs By Modular Reasoning about Data and Control Zachary Kincaid Azadeh Farzan University of Toronto January 18, 2013 Z. Kincaid (U. Toronto) Modular Reasoning

More information

Constraint solving on modular integers

Constraint solving on modular integers Constraint solving on modular integers Arnaud Gotlieb*, Michel Leconte**, Bruno Marre*** * INRIA Research center of Bretagne Rennes Atlantique ** ILOG Lab, IBM France *** CEA List ModRef 10 Workshop, 6/09/10

More information

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize. Cornell University, Fall 2017 CS 6820: Algorithms Lecture notes on the simplex method September 2017 1 The Simplex Method We will present an algorithm to solve linear programs of the form maximize subject

More information

Program Analysis using Symbolic Ranges

Program Analysis using Symbolic Ranges Program Analysis using Symbolic Ranges Sriram Sankaranarayanan, Franjo Ivančić, Aarti Gupta NEC Laboratories America, {srirams,ivancic,agupta}@nec-labs.com Abstract. Interval analysis seeks static lower

More information

CS 6110 S14 Lecture 38 Abstract Interpretation 30 April 2014

CS 6110 S14 Lecture 38 Abstract Interpretation 30 April 2014 CS 6110 S14 Lecture 38 Abstract Interpretation 30 April 2014 1 Introduction to Abstract Interpretation At this point in the course, we have looked at several aspects of programming languages: operational

More information

Why does ASTRÉE scale up?

Why does ASTRÉE scale up? Form Methods Syst Des (2009) 35: 229 264 DOI 10.1007/s10703-009-0089-6 Why does ASTRÉE scale up? Patrick Cousot Radhia Cousot Jérôme Feret Laurent Mauborgne Antoine Miné Xavier Rival Published online:

More information

Lecture VIII. Global Approximation Methods: I

Lecture VIII. Global Approximation Methods: I Lecture VIII Global Approximation Methods: I Gianluca Violante New York University Quantitative Macroeconomics G. Violante, Global Methods p. 1 /29 Global function approximation Global methods: function

More information

Boolean Functions (Formulas) and Propositional Logic

Boolean Functions (Formulas) and Propositional Logic EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part I: Basics Sanjit A. Seshia EECS, UC Berkeley Boolean Functions (Formulas) and Propositional Logic Variables: x 1, x 2, x 3,, x

More information

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 19 Tuesday, April 3, 2018 1 Introduction to axiomatic semantics The idea in axiomatic semantics is to give specifications

More information

Convexity: an introduction

Convexity: an introduction Convexity: an introduction Geir Dahl CMA, Dept. of Mathematics and Dept. of Informatics University of Oslo 1 / 74 1. Introduction 1. Introduction what is convexity where does it arise main concepts and

More information

Logic-Flow Analysis of Higher-Order Programs

Logic-Flow Analysis of Higher-Order Programs Logic-Flow Analysis of Higher-Order Programs Matt Might http://matt.might.net/ POPL 2007 Why? Tim Sweeney, POPL 2006 Static array-bounds checking. Example... a[i]... Will 0 i < a.length always hold? 3

More information

RATCOP: Relational Analysis Tool for Concurrent Programs

RATCOP: Relational Analysis Tool for Concurrent Programs RATCOP: Relational Analysis Tool for Concurrent Programs Suvam Mukherjee 1, Oded Padon 2, Sharon Shoham 2, Deepak D Souza 1, and Noam Rinetzky 2 1 Indian Institute of Science, India 2 Tel Aviv University,

More information

Combinatorial Optimization and Integer Linear Programming

Combinatorial Optimization and Integer Linear Programming Combinatorial Optimization and Integer Linear Programming 3 Combinatorial Optimization: Introduction Many problems arising in practical applications have a special, discrete and finite, nature: Definition.

More information

Experimental Evaluation of Numerical Domains for Inferring Ranges

Experimental Evaluation of Numerical Domains for Inferring Ranges Available online at www.sciencedirect.com Electronic Notes in Theoretical Computer Science 334 (2018) 3 16 www.elsevier.com/locate/entcs Experimental Evaluation of Numerical Domains for Inferring Ranges

More information

STATIC ANALYSIS OF RUN-TIME ERRORS IN EMBEDDED REAL-TIME PARALLEL C PROGRAMS ANTOINE MINÉ

STATIC ANALYSIS OF RUN-TIME ERRORS IN EMBEDDED REAL-TIME PARALLEL C PROGRAMS ANTOINE MINÉ Logical Methods in Computer Science Vol. 8 (1:26) 2012, pp. 1 63 www.lmcs-online.org Submitted Sep. 7, 2011 Published Mar. 23, 2012 STATIC ANALYSIS OF RUN-TIME ERRORS IN EMBEDDED REAL-TIME PARALLEL C PROGRAMS

More information

Formalization of Incremental Simplex Algorithm by Stepwise Refinement

Formalization of Incremental Simplex Algorithm by Stepwise Refinement Formalization of Incremental Simplex Algorithm by Stepwise Refinement Mirko Spasić, Filip Marić Faculty of Mathematics, University of Belgrade FM2012, 30. August 2012. Overview 1 Introduction 2 Approach

More information

Reducing Clocks in Timed Automata while Preserving Bisimulation

Reducing Clocks in Timed Automata while Preserving Bisimulation Reducing Clocks in Timed Automata while Preserving Bisimulation Shibashis Guha Chinmay Narayan S. Arun-Kumar Indian Institute of Technology Delhi {shibashis, chinmay, sak}@cse.iitd.ac.in arxiv:1404.6613v2

More information

Verification Conditions. Juan Pablo Galeotti, Alessandra Gorla, Andreas Rau Saarland University, Germany

Verification Conditions. Juan Pablo Galeotti, Alessandra Gorla, Andreas Rau Saarland University, Germany Verification Conditions Juan Pablo Galeotti, Alessandra Gorla, Andreas Rau Saarland University, Germany 30% projects (10% each) At least 50% threshold for exam admittance Groups of 2 70% final exam (see

More information

Termination Analysis of C Programs Using Compiler Intermediate Languages

Termination Analysis of C Programs Using Compiler Intermediate Languages Karlsruhe Reports in Informatics 2011,6 Edited by Karlsruhe Institute of Technology, Faculty of Informatics ISSN 2190-4782 Termination Analysis of C Programs Using Compiler Intermediate Languages Stephan

More information

Modeling with Uncertainty Interval Computations Using Fuzzy Sets

Modeling with Uncertainty Interval Computations Using Fuzzy Sets Modeling with Uncertainty Interval Computations Using Fuzzy Sets J. Honda, R. Tankelevich Department of Mathematical and Computer Sciences, Colorado School of Mines, Golden, CO, U.S.A. Abstract A new method

More information

Iterative Program Analysis Abstract Interpretation

Iterative Program Analysis Abstract Interpretation Iterative Program Analysis Abstract Interpretation Summary by Ben Riva & Ofri Ziv Soundness Theorem Theorem: If a computation fixed-point is sound, then its least-fixed-point is sound. More precisely,

More information

60 2 Convex sets. {x a T x b} {x ã T x b}

60 2 Convex sets. {x a T x b} {x ã T x b} 60 2 Convex sets Exercises Definition of convexity 21 Let C R n be a convex set, with x 1,, x k C, and let θ 1,, θ k R satisfy θ i 0, θ 1 + + θ k = 1 Show that θ 1x 1 + + θ k x k C (The definition of convexity

More information

Advanced Programming Methods. Introduction in program analysis

Advanced Programming Methods. Introduction in program analysis Advanced Programming Methods Introduction in program analysis What is Program Analysis? Very broad topic, but generally speaking, automated analysis of program behavior Program analysis is about developing

More information

Structuring an Abstract Interpreter through Value and State Abstractions: EVA, an Evolved Value Analysis for Frama C

Structuring an Abstract Interpreter through Value and State Abstractions: EVA, an Evolved Value Analysis for Frama C Structuring an Abstract Interpreter through Value and State Abstractions: EVA, an Evolved Value Analysis for Frama C David Bühler CEA LIST, Software Safety Lab Frama-C & SPARK Day 2017 May 30th, 2017 David

More information

Chapter 4 Concepts from Geometry

Chapter 4 Concepts from Geometry Chapter 4 Concepts from Geometry An Introduction to Optimization Spring, 2014 Wei-Ta Chu 1 Line Segments The line segment between two points and in R n is the set of points on the straight line joining

More information

LP Geometry: outline. A general LP. minimize x c T x s.t. a T i. x b i, i 2 M 1 a T i x = b i, i 2 M 3 x j 0, j 2 N 1. where

LP Geometry: outline. A general LP. minimize x c T x s.t. a T i. x b i, i 2 M 1 a T i x = b i, i 2 M 3 x j 0, j 2 N 1. where LP Geometry: outline I Polyhedra I Extreme points, vertices, basic feasible solutions I Degeneracy I Existence of extreme points I Optimality of extreme points IOE 610: LP II, Fall 2013 Geometry of Linear

More information

Hoare Logic: Proving Programs Correct

Hoare Logic: Proving Programs Correct Hoare Logic: Proving Programs Correct 17-654/17-765 Analysis of Software Artifacts Jonathan Aldrich Reading: C.A.R. Hoare, An Axiomatic Basis for Computer Programming Some presentation ideas from a lecture

More information

The ASTRÉE Analyzer Patrick Cousot 2, Radhia Cousot 1,3, Jerôme Feret 2, Laurent Mauborgne 2, Antoine Miné 2, David Monniaux 1,2, and Xavier Rival 2 1 CNRS 2 École Normale Supérieure, Paris, France Firstname.Lastname@ens.fr

More information

Convex Optimization CMU-10725

Convex Optimization CMU-10725 Convex Optimization CMU-10725 Ellipsoid Methods Barnabás Póczos & Ryan Tibshirani Outline Linear programs Simplex algorithm Running time: Polynomial or Exponential? Cutting planes & Ellipsoid methods for

More information