Foundations of Abstract Interpretation
|
|
- Cecily Gaines
- 5 years ago
- Views:
Transcription
1 Escuela 03 II / 1 Foundations of Abstract Interpretation David Schmidt Kansas State University
2 Escuela 03 II / 2 Outline 1. Lattices and continuous functions 2. Galois connections, closures, and Moore families 3. Soundness and completeness of operations on abstract data 4. Soundness and completeness of execution trace computation
3 Escuela 03 II / 3 Data sets are complete lattices A complete lattice is a partially ordered set, with unique minimal and maximal elements, and with greatest-lower-bound and least-upper-bound operations: top all notpos notneg {notpos, notneg} = zero neg zero pos {zero, notpos, notneg} = all { } = all bottom none { } = none
4 Escuela 03 II / 4 Here is a more precise definition: A complete lattice, L = D,,,,,, consists of a set, D, and a partial ordering,, on D a smallest element, (such that d, for all d D) and a greatest element, (such that d, for all d D) a least upper bound operation,, such that, for all S D, d S, for all d S, and for all other upper bounds, c D, such that d c, for all d S, we have that S c a greatest lower bound operation,, defined dually to the above: S d, for all d S, and when c d, for all d S, we have that c S
5 Escuela 03 II / 5 The first example is the complete lattice, (Int),, { }, Int,, ; the next two are abstractions of it: {..., 1,0,1,2,... } all { 0,1,3,6,10,... } notpos notneg {..., 1,0 } { 2, 1,0,1,2,3 } { 1,3,5,... } neg zero none pos { 1,0 } { 1 } { 1,1 } { 1, 3 } { 0 } { 1 } any { } even odd none
6 Escuela 03 II / 6 Monotonic and chain-continuous functions Given complete lattices, A and B, we say that a function, f : A B, is monotonic iff for all a, a A, a A a implies f(a) B f(a ) A monotonic function preserves the precision of information in its argument. Say that we have an ω-chain, a 0 A a 1 A... A a i A a i+1 A... A function, f : A B, is ω-continuous iff i 0 f(a i ) = f( i 0 An ω-continuous function preserves the limit of information in a a i ) chain. Conventional computation employs monotonic and ω-continuous functions, so it is no restriction to use only them.
7 Escuela 03 II / 7 Galois connections Given a complete lattice of concrete (execution) data, C, and a simpler complete lattice of abstract data, A, we relate the two by α : C A that will act like a homomorphism when we study the operations on C. It will be useful that α have an inverse,, γ: Definition: For complete lattices C and A, and monotonic functions, α : C A, γ : A C, the pair, α, γ form a Galois connection, written C α, γ A, iff c C γ α(c) and α γ(a) A a. γ α
8 Escuela 03 II / 8 The maps α and γ are inverse maps on each other s image: { 0,1,2,... } γ any { 0,1,3,6,10,... } { 0,2,4,... } { 0,1,...,9 } { 1,3,5,... } α even odd { 0, 2 } { 0 } { 0, 1 } { 2 } { 1 } { 1, 3 } none { } That is, for all c γ[a], c = γ α(c); for all a α[c], a = α γ(a). α is ω-continuous (and even preserves for arbitrary sets in C); γ preserves for arbitrary sets in A. Each map uniquely defines the other: γ(a) = {c α(c) A a} and α(c) = {a c C γ(a)}
9 Escuela 03 II / 9 The previous fact suggests this alternative characterization of Galois connection: Proposition: For complete lattices C and A, the pair, α : C A, γ : A C, is a Galois connection when, for all c C and a A, c C γ(a) iff α(c) A a. γ ( a ) c iff a α (c) From this definition, we can prove that both α and γ are monotonic, that c C γ α(c), and that α γ(a) A a.
10 Escuela 03 II / 10 Galois connections are closed under composition, product, and so on: If C α, γ D and D α, γ E are Galois connections, then so is C α α, γ γ E If C i α i, γ i D i is a Galois connection, for all i I, then so is Π i I C i Π i I α i, Π i I γ i Π i I D i. If C α C, γ C C and D α D, γ D D are Galois connections, then so is C D (λf.α D f γ C ), (λf.γ D f α C ) C D. {..., 1,0,1,2,... } {..., 2, 1,0 } { 0,1,2,3,... } { 1,0,1,...,9 } { 0, 1 } { 0, 1 } { 1, 3 } { 1 } { 0 } { 1 }... { } all notpos notneg neg neg zero pos none Composition of Galois connections all none notneg
11 Escuela 03 II / 11 Why do we require the elaborate structure of a Galois connection? 1. If we are certain about the precise definition of γ : A C, we can mechanically synthesize the its adjoint, α(c) = {a c C γ(a)}. (Or, dually, if we are certain about α, we can synthesize γ as γ(a) = {c α(c) A a}. ) 2. We obtain many mathematical properties about α, expressed in terms of its adjoint, γ (and vice versa). 3. Since we intend to use α : C A as a homomorphism from C to A, we can use α and its adjoint γ to synthesize abstract operations: For each f : C C, we can synthesize f # : A A, such that α is a homomorphism with respect to f and f #. (We will see that f # = α f γ.)
12 Escuela 03 II / 12 Closure maps For C α, γ A, it is common that α is onto. This means A embeds into C as a sublattice: { 0,1,2,... } any { 0,1,3,6,10,... } { 0,2,4,... } { 0,1,...,9 } { 1,3,5,... } even odd { 0, 2 } { 0 } { 0, 1 } { 2 } { 1 } { 1, 3 } none { } A s elements are mere tokens that name distinguished sets in C. Definition: ρ : C C is a closure map if it is (i)monotonic; (ii)extensive: c C ρ(c), for all c C; (iii)idempotent: ρ ρ = ρ.
13 Escuela 03 II / 13 A closure map defines the embedding: { 0,1,2,... } { 0,1,3,6,10,... } ρ {0,2} = {0,2,4,...} { 0,2,4,... } { 0,1,...,9 } { 1,3,5,... } ρ {0,2,4,...} = {0,2,4,...} { 0, 2 } { 0, 1 } { 1, 3 }... ρ {0,1,...,9} = {0,1,2,...} { 0 } { 2 } { 1 }... { } Every Galois connection, C α, γ A, defines a closure map, γ α. Every closure map, ρ : C C, defines the Galois connection, C ρ, id ρ[c].
14 Escuela 03 II / 14 Moore families Given C, can we define a closure map on it by choosing some elements of C? The answer is yes, if the elements of C we select are closed under greatest-lower-bounds: Definition: M C is a Moore family iff for all S M, ( S) M. We can define a closure map as ρ(c) = {c M c C c }. For a closure map, ρ : C C, its image, ρ[c], is a Moore family. Given C, we can define an abstract interpretation by selecting some M C that is a Moore family!
15 Escuela 03 II / 15 Closed binary relations Often a Galois connection uses a powerset for its concrete domain, that is, (D) α, γ A. This format yields a simple characterization: Given unordered set D and complete lattice A, it is natural to relate the elements in D to those in A by a binary relation, R D A, such that (d, a) R means d has property a. We write this as d R a or as d = R a. Example: D = Int, and A = {none, neg, pos, zero, nonneg, nonpos, any}. Then, 2 R nonneg, 2 R pos, and 2 R any. (Or we write, 2 = R nonneg, 2 = R pos, and 2 = R any.) We immediately define the function, γ : A (D), as γ(a) = {d D d R a} For example, γ(nonneg) = {0, 1, 2,...}.
16 Escuela 03 II / 16 We can check if γ is the upper adjoint of a Galois connection, say, by showing that γ[a] defines a Moore family. But we can check for this directly upon R: Proposition: R D A defines a Galois connection between (D) and A iff (i) R is U-closed: c R a and a A a imply c R a ; (ii) R is G-closed: c R {a c R a}. If R defines a Galois connection, then we have this crucial property: for all a A and C (D), C γ(a) iff α(c) A a iff (c R a, for all c C). This is of course the definition of a Galois connection, and in this sense, R is a Galois connection.
17 Escuela 03 II / 17 A recipe for abstract-domain building Given an unordered set, D, of concrete data values, we might ask, What are the properties about D that I wish to calculate? Can I relate these properties, a A, to elements d D via a UG-closed binary relation, R D D A? Given a set, A, and relation, R D D A, 1. Define γ : A (D) as γ(a) = {d d R D a}. 2. Define this partial ordering on A: a a iff γ(a) γ(a ). (If there are distinct a, a A such that γ(a) = γ(a ), then merge them.) This forces U-closure. 3. Ensure that γ[a] is a Moore family by adding greatest-lower-bound elements to A as needed. This forces G-closure. 4. Use the existing machinery to define the Galois connection between (D) and A.
18 Escuela 03 II / 18 Example: Abstracting the Program State The concrete storage vector is a product, Store = Π i Identifier Data and the concrete program state is a ProgramPoint Store pair. Example: p 1, x : 3, y : 4 is a program state. Say that we have the relation, R Data Data AbsData, and we have the induced Galois connection, (Data) α Data, γ Data AbsData. Now, we can build Galois connections that abstract the store and the state. A concrete store is related to an abstract store: x i : v i i Id R Store x i : a i i Id, iff, for all i Id, v i R Data a i Example: x : 3, y : 4 R Store x : any, y : even. This produces a Galois connection, (Store) α Store, γ Store AbsStore,
19 Escuela 03 II / 19 where AbsStore = Π i Identifier AbsData and γ x i : a i i Id = { x i : v i i Id v i γ Data (a i ), for all i Id} α Store (S) = s S α(s(i)) i Id For example, γ Store x : even, y : odd = { x : 0, y : 1, x : 0, y : 3, x : 2, y : 1,...} A program point is abstracted to itself: p R PP p, suggesting that the abstract domain of program points might be merely AbsPP = ProgramPoint {, }. ( and are needed to make AbsPP a complete lattice.) Finally, we can relate a concrete state to an abstract one: p, s R State p, σ iff p R PP p and s R Store σ Hence, γ State (p i, σ) = {p i, s s γ Store (σ)}.
20 Escuela 03 II / 20 Concrete and abstract operations Now that we know how to model c C by α(c) A, we must model concrete computation steps, f : C C, by abstract computation steps, f # : A A. Example: We have concrete domain, Nat, and concrete operation, succ : Nat Nat, defined as succ(n) = n + 1. We have abstract domain, Parity, and abstract operation, succ # : Parity Parity, defined as succ # (even) = odd, succ # (any) = any, succ # (odd) = even succ # (none) = none succ # must be consistent (sound) with respect to succ: if n R Nat a, then succ(n) R Nat succ # (a) where R Nat Parity relates numbers to their parities (e.g., 2 R Nat even, 5 R Nat odd, etc.).
21 Escuela 03 II / 21 We want soundness: n R Nat a implies succ(n) R Nat succ # (a), for all n Nat and a Parity. Since we have the Galois connection, (Nat) α, γ Parity, we know that γ(a) = {n n R Nat a}. So, soundness is stated equivalently as for all a A, for all n γ(a), succ(n) γ(succ # (a)) and this is equivalent to saying, for all a A, succ (γ(a)) Nat γ(succ # (a)) that is, for all a A, (succ γ)(a) Nat (γ succ # )(a) where succ : (Nat) (Nat) is succ (S) = {succ(n) n S}. This is interesting, because it states a commutative, semi-homorphism property...
22 Escuela 03 II / 22 Definition: For Galois connection, C α, γ A, and functions f : C C, f # : A A, f # is a sound approximation of f iff (α f)(c) A (f # α)(c), for all c C iff (f γ)(a) C (γ f # )(a), for all a A This slightly abstract presentation exposes that α is a semi-homomorphism with respect to f and f # : α c α ( c ) f f # α f( c ) α ( f( c ) ) f # ( α ( c ) )
23 Escuela 03 II / 23 Example 1: n R Nat a implies succ(n) R Nat succ # (a) Galois connection: (Nat) α, γ Parity succ : (Nat) (Nat) succ (S) = {succ(n) n S} where succ(n) = n + 1 succ # : Parity Parity succ # (even) = odd, succ # (odd) = even succ # (any) = any, succ # (none) = none We have that α succ = succ # α: {2,6} α succ * {3,7} α odd even odd succ #
24 Escuela 03 II / 24 Example 2: n R Nat a implies div2(n) R Nat div2 # (a) Galois connection: (Nat) α, γ Parity div2 : (Nat) (Nat) div2 (S) = {div2(n) n S} where div2(2n + 1) = div2(2n) = n div2 # : Parity Parity div2 # (even) = div2 # (odd) = any div2 # (any) = any, div2 # (none) = none We have that α div2 Parity div2 # α: α {6} div2 * even div2 # α {3} odd any
25 Escuela 03 II / 25 Synthesizing f # from f The previous slides show how α acts as a semi-homomorphism between f and f #. Given the Galois connection, C α, γ A, and operation, f : C C, the most precise f # best : A A that is sound with respect to f is f # best = α f γ Proposition: f # is sound with respect to f iff f # best A A f #. (Note: f A A g iff for all a A, f(a) A g(a).) Of course, f # best has a mathematical definition not an algorithmic one f # best might not be finitely computable! Parity example continued: succ # best (even) = α succ (γ even) = α(succ {2n n 0}) = α{2n + 1 n 0} = odd
26 Escuela 03 II / 26 One more example: Given (Nat) α, γ Parity and div2 : Nat Nat, we have div2 : (Nat) (Nat) div2 (S) = div2[s] = {div2(n) n S} Hence, div2 # best = α div2 γ. The operation loses precision: α(div2 {4}) = α{2} = even, but div2 # best (even) = α(div2 (γ(even))) = α(div2 {0, 2, 4,...}) = α{1, 2, 3,...} = any Nonetheless, this is the best we can do, given the crude structure of the abstract domain, Parity.
27 Escuela 03 II / 27 Completeness Given C α, γ A, we state soundness of f # with respect to f as α f A A f # α iff f γ C C γ f # Definition: f # is forwards (γ) complete with respect to f iff f γ = C C γ f # Definition: f # is backwards (α) complete with respect to f iff α f = A A f # α The two completeness notions are not equivalent! For an f # to be (forwards or backwards) complete, it must equal f # best = α f γ. Indeed, the structure of the Galois connection and f : C C determines whether f # best is complete.
28 Escuela 03 II / 28 Forwards (γ) completeness: f # best is forwards-complete iff f maps image points of γ to image points of γ f(γ[a]) γ[a]. f f Backwards (α) completeness: f # best is backwards-complete iff f maps all points in the same α-equivalence class to points in the same α-equivalence class α(c) = α(c ) implies α(f(c)) = α(f(c )). f
29 Escuela 03 II / 29 Transfer functions generate computation steps Each program transition from program point p i to p j has an associated transfer function, f ij : C C (or f # ij : A A), which describes the associated computation. This defines a computation step of the form, p i, s p j, f ij (s). Example: Assignment p 0 : x = x + 1; p 1 : has the transfer function, f 01...x : n... =...x : n For example, p 0, x : 3 p 1, f 01 x : 3 = p 1, x : 4. For modelling multiple transitions in conditional/nondeterministic choice, we attach a transfer function to each possible transition. p 0 : cases x y: p 1 : y = y - x; Example: For y x: p 2 : x = x - y; end
30 Escuela 03 II / 30 For p 0 : cases x y: p 1 : y = y - x; y x: p 2 : x = x - y; end we have these functions: s if s.x s.y f 01 (s) = otherwise s if s.y s.x f 02 (s) = otherwise For example, p 0, x : 5, y : 3 p 1,, because x y, but p 0, x : 5, y : 3 p 2, x : 5, y : 3, because y x. The transfer functions filter the data that arrives at a program point. We ignore computation steps, p, s p,, that produce no data ( ). An execution trace is a (possibly infinite) sequence, p 0, s 0 p 1, s 1 p j, s j, such that, for all i 0: p i, s i p succ(i), f i,succ(i) (s i ) no s i equals.
31 Escuela 03 II / 31 Using the f # s to build sound, abstract trace trees p 0 : while (x!= 1) { p 1 : if Even(x) p 2 : then x = x div2; p 3 : else x = 3*x + 1; } p 4 : exit Note: p i, v abbreviates p i, x : v Abstract overapproximating trace: p 4, odd p 0, even p 1, even p 2, even p 0, any p 3, odd p 1, any Two concrete traces: p 0, 4 p 1, 4 p 2, 4 p 0, 2 p 1, 2 p 2, 2 p 0, 1 p 4, 1 p 0, 6 p 1, 6 p 2, 6 p 0, 3 p 1, 3 p 2, 3 p 0, 10 p 4, 1 Each concrete transition is generated by an f ij ; each abstract transition is generated by the corresponding f # ij.
32 Escuela 03 II / 32 Each concrete transition, p i, s p j, f ij (s), is reproduced by a corresponding abstract transition, p i, a p j, f # ij (a), where s γ(a). For example, p 2 : x = x div2 is interpreted concretely by f 20 (2n) = n = f 20 (2n + 1) and is interpreted abstractly by f # 20 (even) = any = f# 20 (odd) = f# 20 (any). The traces embedded in the abstract trace tree cover (simulate) the concrete traces, e.g., this concrete trace, p 0, 4 p 1, 4 p 2, 4 p 0, 2 p 1, 2 p 2, 2 p 0, 1 p 4, 1 is simulated by this abstract trace, which is extracted from the abstract computation tree: p 0, even p 1, even p 2, even p 0, any p 1, any p 2, even p 0, any p 4, odd and indeed, all concrete traces starting with p 0, 2n, n >= 0, are simulated by the abstract tree in this manner.
33 Escuela 03 II / 33 Proof of soundness of trace construction For S C and a A, say that S R a iff S C γ(a) iff α(s) A a. Lemma: α f A A f # α iff f γ C C γ f # iff S R a implies f(s) R f # (a). Theorem: For every concrete trace, (p i, s i ) i 0, there exists an abstract trace, (p i, a i ) i 0, such that for all i 0, {s i } R a i. Proof: We use the Lemma and induction to assemble this diagram: p 0, s 0 p 1, f 0 (s 0 ) = p 1, s 1 p 2, f 1 (s 1 ) = p 2, s 2 p i, s i R R R R p 0, a 0 p 1, f # 0 (a 0) = p 1, a 1 p 2, f # 1 (a 1) = p 2, a 2 p i, a i (Note: each s i in the diagram is more precisely stated as {s i }, because C = (Store).) Due to imprecision of the f # s, the abstract trace tree may possess many traces that begin with p 0, a 0, but there is always one trace in the tree that simulates the concrete trace.
34 Escuela 03 II / 34 When all the operations, f # ij, are complete with respect to the f ijs, the previous result is strengthened: Say that S R a iff α(s) = a. (Similarly, say that S R a iff S = γ(a).) In both cases, the lemma holds: Lemma: α f = A A f # α iff S R a implies f(s) R f # (a). (Similarly, f γ = C C γ f # iff S R a implies f(s) R f # (a).) Theorem (α-completeness): When S R a iff α(s) = a, then for every concrete trace, (p i, s i ) i 0, there exists an abstract trace, (p i, a i ) i 0, such that for all i 0, {s i } R a i. Theorem (γ-completeness): When S R a iff γ(a) = S, S Store, then for every trace on sets of stores, (p i, S i ) i 0, there exists an abstract trace, (p i, a i ) i 0, such that for all i 0, S i R a i.
35 Escuela 03 II / 35 References P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. ACM POPL P. Cousot and R. Cousot. Systematic design of program analysis frameworks. ACM POPL, P. Cousot. Slides for invited lecture at VMCAI 2003, New York City. R. Giacobazzi, F. Ranzato, and F. Scozzari. Making abstract interpretations complete. Journal ACM 47(2) R. Giacobazzi and E. Quinterelli. Incompleteness, counterexamples, and refinements in abstract model-checking. SAS 2001, Springer LNCS D. Schmidt. Structure-preserving binary relations for program abstraction. In The Essence of Computation: Complexity, Analysis, Transformation. Springer LNCS 2566, 2002.
Static Analysis: Applications and Logics
Escuela 03 IV / 1 Static Analysis: Applications and Logics David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Escuela 03 IV / 2 Outline 1. Applications: abstract testing and safety checking
More informationAbstract Interpretation from a Topological Perspective
(-: / 1 Abstract Interpretation from a Topological Perspective David Schmidt Kansas State University www.cis.ksu.edu/ schmidt Motivation and overview of results (-: / 2 (-: / 3 Topology studies convergent
More informationAbstract Interpretation and Static Analysis
/ 1 Abstract Interpretation and Static Analysis David Schmidt Kansas State University www.cis.ksu.edu/~schmidt Welcome! / 2 / 3 Four parts 1. Introduction to static analysis what it is and how to apply
More 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 informationAbstract Interpretation from a Topological Perspective
Abstract Interpretation from a Topological Perspective David A. Schmidt Kansas State University, Manhattan, Kansas, USA Abstract. Topology is the study of property sets (open sets) and continuous functions
More informationInternal and External Logics of Abstract Interpretations
Internal and External Logics of Abstract Interpretations David A. Schmidt Kansas State University, Manhattan, Kansas, USA Abstract. We show that every abstract interpretation possesses an internal logic,
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 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 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 informationStructure-Preserving Binary Relations for Program Abstraction
Structure-Preserving Binary Relations for Program Abstraction David A. Schmidt Computing and Information Sciences Department Kansas State University Manhattan, KS 66506 USA. Abstract. An abstraction is
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 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 informationWeak Relative Pseudo-Complements of Closure Operators
Weak Relative Pseudo-Complements of Closure Operators Roberto Giacobazzi Catuscia Palamidessi Francesco Ranzato Dipartimento di Informatica, Università di Pisa Corso Italia 40, 56125 Pisa, Italy giaco@di.unipi.it
More informationAbstract interpretation from a denotational semantics perspective
(-: / 1 Abstract interpretation from a denotational semantics perspective David Schmidt Kansas State University www.cis.ksu.edu/~schmidt (-: / 2 Thank you, Bob Tennent... for your contributions to programming-languages
More informationarxiv:cs/ v1 [cs.lo] 22 Dec 2006
Generalizing the Paige-Tarjan Algorithm by Abstract Interpretation arxiv:cs/0612120v1 [cs.lo] 22 Dec 2006 FRANCESCO RANZATO FRANCESCO TAPPARO Dipartimento di Matematica Pura ed Applicata, Università di
More informationGeneralized Strong Preservation by Abstract Interpretation
Generalized Strong Preservation by Abstract Interpretation FRANCESCO RANZATO FRANCESCO TAPPARO Dipartimento di Matematica Pura ed Applicata, Università di Padova Via Belzoni 7, 35131 Padova, Italy francesco.ranzato@unipd.it
More 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 informationNotes on Ordered Sets
Notes on Ordered Sets Mariusz Wodzicki September 10, 2013 1 Vocabulary 1.1 Definitions Definition 1.1 A binary relation on a set S is said to be a partial order if it is reflexive, x x, weakly antisymmetric,
More informationStatic Program Analysis using Abstract Interpretation
Static Program Analysis using Abstract Interpretation Introduction Static Program Analysis Static program analysis consists of automatically discovering properties of a program that hold for all possible
More 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 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 information«Specification and Abstraction of Semantics» 1. Souvenir, Souvenir. Neil D. Jones. Contents. A Tribute Workshop and Festival to Honor Neil D.
«Specification and Abstraction of Semantics» Patrick Cousot Radhia Cousot École normale supérieure CNRS & École polytechnique 45 rue d Ulm Route de Saclay 7530 Paris cedex 05, France 9118 Palaiseau Cedex,
More informationInverse-Limit and Topological Aspects of Abstract Interpretation
Inverse-Limit and Topological Aspects of Abstract Interpretation David A. Schmidt a,1 a Computing and Information Sciences Dept., Kansas State University, Manhattan, KS 66506, USA Abstract We develop abstract-interpretation
More informationEquational Logic. Chapter Syntax Terms and Term Algebras
Chapter 2 Equational Logic 2.1 Syntax 2.1.1 Terms and Term Algebras The natural logic of algebra is equational logic, whose propositions are universally quantified identities between terms built up from
More informationLogical specification and coinduction
Logical specification and coinduction Robert J. Simmons Carnegie Mellon University, Pittsburgh PA 15213, USA, rjsimmon@cs.cmu.edu, WWW home page: http://www.cs.cmu.edu/ rjsimmon Abstract. The notion of
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 informationUniversal Algebra for Logics
Universal Algebra for Logics Joanna GRYGIEL University of Czestochowa Poland j.grygiel@ajd.czest.pl 2005 These notes form Lecture Notes of a short course which I will give at 1st School on Universal Logic
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 informationClass Notes on Poset Theory Johan G. Belinfante Revised 1995 May 21
Class Notes on Poset Theory Johan G Belinfante Revised 1995 May 21 Introduction These notes were originally prepared in July 1972 as a handout for a class in modern algebra taught at the Carnegie-Mellon
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 informationComplementing Logic Program Semantics
Complementing Logic Program Semantics Roberto Giacobazzi Francesco Ranzato Dipartimento di Informatica, Università di Pisa Corso Italia 40, 56125 Pisa, Italy giaco@di.unipi.it Dipartimento di Matematica
More informationarxiv: v1 [cs.pl] 19 May 2016
arxiv:1605.05858v1 [cs.pl] 19 May 2016 Domain Theory: An Introduction Robert Cartwright Rice University Rebecca Parsons ThoughtWorks, Inc. Moez AbdelGawad SRTA-City Hunan University This monograph is an
More informationAN EXPLORATION OF THE METRIZABILITY OF TOPOLOGICAL SPACES
AN EXPLORATION OF THE METRIZABILITY OF TOPOLOGICAL SPACES DUSTIN HEDMARK Abstract. A study of the conditions under which a topological space is metrizable, concluding with a proof of the Nagata Smirnov
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 informationLattices, closure operators, and Galois connections.
125 Chapter 5. Lattices, closure operators, and Galois connections. 5.1. Semilattices and lattices. Many of the partially ordered sets P we have seen have a further valuable property: that for any two
More informationData flow analysis. DataFlow analysis
Data flow analysis DataFlow analysis compile time reasoning about the runtime flow of values in the program represent facts about runtime behavior represent effect of executing each basic block propagate
More informationFirst In-Class Exam Solutions Math 410, Professor David Levermore Monday, 1 October 2018
First In-Class Exam Solutions Math 40, Professor David Levermore Monday, October 208. [0] Let {b k } k N be a sequence in R and let A be a subset of R. Write the negations of the following assertions.
More informationCMSC 631 Program Analysis and Understanding. Spring Data Flow Analysis
CMSC 631 Program Analysis and Understanding Spring 2013 Data Flow Analysis Data Flow Analysis A framework for proving facts about programs Reasons about lots of little facts Little or no interaction between
More informationData-Flow Analysis. Compiler Design CSE 504. Preliminaries
Data-Flow Analysis Compiler Design CSE 504 1 Preliminaries 2 Live Variables 3 Data Flow Equations 4 Other Analyses Last modifled: Thu May 02 2013 at 09:01:11 EDT Version: 1.3 15:28:44 2015/01/25 Compiled
More informationMaking Abstract Interpretations Complete
Making Abstract Interpretations Complete ROBERTO GIACOBAZZI Università di Verona, Verona, Italy FRANCESCO RANZATO Università di Padova, Padova, Italy AND FRANCESCA SCOZZARI École Polytechnique, Palaiseau,
More informationThe non-logical symbols determine a specific F OL language and consists of the following sets. Σ = {Σ n } n<ω
1 Preliminaries In this chapter we first give a summary of the basic notations, terminology and results which will be used in this thesis. The treatment here is reduced to a list of definitions. For the
More informationFree and Finitely Presented Lattices
C h a p t e r 2 Free and Finitely Presented Lattices by R. Freese and J. B. Nation This is an extended version of our chapter in the book LatticeTheory: Special Topics and Applications, vol 2, edited by
More information1. The Method of Coalgebra
1. The Method of Coalgebra Jan Rutten CWI Amsterdam & Radboud University Nijmegen IMS, Singapore - 15 September 2016 Overview of Lecture one 1. Category theory (where coalgebra comes from) 2. Algebras
More informationThe role of the overlap relation in constructive mathematics
The role of the overlap relation in constructive mathematics Francesco Ciraulo Department of Mathematics and Computer Science University of PALERMO (Italy) ciraulo@math.unipa.it www.math.unipa.it/ ciraulo
More informationarxiv:math/ v1 [math.gm] 21 Jan 2005
arxiv:math/0501341v1 [math.gm] 21 Jan 2005 SUBLATTICES OF LATTICES OF ORDER-CONVEX SETS, I. THE MAIN REPRESENTATION THEOREM MARINA SEMENOVA AND FRIEDRICH WEHRUNG Abstract. For a partially ordered set P,
More informationComputational Methods in Systems and Synthetic Biology
Computational Methods in Systems and Synthetic Biology François Fages EPI Contraintes, Inria Paris-Rocquencourt, France 1 / 62 Need for Abstractions in Systems Biology Models are built in Systems Biology
More informationGödel s Completeness Theorem
A.Miller M571 Spring 2002 Gödel s Completeness Theorem We only consider countable languages L for first order logic with equality which have only predicate symbols and constant symbols. We regard the symbols
More informationA hierarchy of Constraint Systems for Data-Flow Analysis of Constraint Logic-Based Languages
A hierarchy of Constraint Systems for Data-Flow Analysis of Constraint Logic-Based Languages Roberto Bagnara Dipartimento di Informatica, Università di Pisa, Corso Italia 40, 56125 Pisa, Italy Abstract
More informationA NEW CHARACTERIZATION OF COMPLETE HEYTING AND CO-HEYTING ALGEBRAS
Logical Methods in Computer Science Vol. 13(3:252017, pp. 1 11 www.lmcs-online.org Submitted Apr. 15, 2015 Published Sep. 14, 2017 A NEW CHARACTERIZATION OF COMPLETE HEYTING AND CO-HEYTING ALGEBRAS FRANCESCO
More informationSpace-aware data flow analysis
Space-aware data flow analysis C. Bernardeschi, G. Lettieri, L. Martini, P. Masci Dip. di Ingegneria dell Informazione, Università di Pisa, Via Diotisalvi 2, 56126 Pisa, Italy {cinzia,g.lettieri,luca.martini,paolo.masci}@iet.unipi.it
More informationThe Underlying Semantics of Transition Systems
The Underlying Semantics of Transition Systems J. M. Crawford D. M. Goldschlag Technical Report 17 December 1987 Computational Logic Inc. 1717 W. 6th St. Suite 290 Austin, Texas 78703 (512) 322-9951 1
More informationIntroduction to Program Analysis and Abstract Interpretation (Part I)
Introduction to Program Analysis and Abstract Interpretation (Part I) Axel Simon Olaf Chitil Lawrence Beadle Materials: http://www.cs.kent.ac.uk/research/ groups/tcs/pgradtrain/abstract.html Acknowledgments:
More informationComputing Square Roots using the Babylonian Method
Computing Square Roots using the Babylonian Method René Thiemann February 16, 2013 Abstract We implement the Babylonian method [1] to compute square roots of numbers. We provide precise algorithms for
More informationDesign of Distributed Systems Melinda Tóth, Zoltán Horváth
Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Publication date 2014 Copyright 2014 Melinda Tóth, Zoltán Horváth Supported by TÁMOP-412A/1-11/1-2011-0052
More informationKreisel s Conjecture with minimality principle
Kreisel s Conjecture with minimality principle Pavel Hrubeš November 9, 2008 Abstract We prove that Kreisel s Conjecture is true, if Peano arithmetic is axiomatised using minimality principle and axioms
More informationA Non-Topological View of Dcpos as Convergence Spaces
A Non-Topological View of Dcpos as Convergence Spaces Reinhold Heckmann AbsInt Angewandte Informatik GmbH, Stuhlsatzenhausweg 69, D-66123 Saarbrücken, Germany e-mail: heckmann@absint.com Abstract The category
More informationTemporal logics and explicit-state model checking. Pierre Wolper Université de Liège
Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and
More informationThe State Explosion Problem
The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis
More informationIntroduction to Kleene Algebras
Introduction to Kleene Algebras Riccardo Pucella Basic Notions Seminar December 1, 2005 Introduction to Kleene Algebras p.1 Idempotent Semirings An idempotent semiring is a structure S = (S, +,, 1, 0)
More informationAbstract interpretation from a denotational-semantics perspective
MFPS 2009 Abstract interpretation from a denotational-semantics perspective David A. Schmidt Computing and Information Sciences Dept. Kansas State University Manhattan, KS 66506 USA Abstract The basic
More informationDiscrete dynamics on the real line
Chapter 2 Discrete dynamics on the real line We consider the discrete time dynamical system x n+1 = f(x n ) for a continuous map f : R R. Definitions The forward orbit of x 0 is: O + (x 0 ) = {x 0, f(x
More informationDecomposing Non-Redundant Sharing by Complementation
To appear on Theory and Practice of Logic Programming 1 Decomposing Non-Redundant Sharing by Complementation ENEA ZAFFANELLA Department of Mathematics, University of Parma, Italy e-mail: zaffanella@cs.unipr.it)
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 informationClosure operators on sets and algebraic lattices
Closure operators on sets and algebraic lattices Sergiu Rudeanu University of Bucharest Romania Closure operators are abundant in mathematics; here are a few examples. Given an algebraic structure, such
More informationLattice Theory Lecture 5. Completions
Lattice Theory Lecture 5 Completions John Harding New Mexico State University www.math.nmsu.edu/ JohnHarding.html jharding@nmsu.edu Toulouse, July 2017 Completions Definition A completion of a poset P
More informationDiskrete Mathematik Solution 6
ETH Zürich, D-INFK HS 2018, 30. October 2018 Prof. Ueli Maurer Marta Mularczyk Diskrete Mathematik Solution 6 6.1 Partial Order Relations a) i) 11 and 12 are incomparable, since 11 12 and 12 11. ii) 4
More informationBinary Decision Diagrams. Graphs. Boolean Functions
Binary Decision Diagrams Graphs Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant
More informationProbabilistic Program Analysis
Probabilistic Program Analysis Data Flow Analysis and Regression Alessandra Di Pierro University of Verona, Italy alessandra.dipierro@univr.it Herbert Wiklicky Imperial College London, UK herbert@doc.ic.ac.uk
More informationBinary Decision Diagrams
Binary Decision Diagrams Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant in 1986.
More informationA quasisymmetric function generalization of the chromatic symmetric function
A quasisymmetric function generalization of the chromatic symmetric function Brandon Humpert University of Kansas Lawrence, KS bhumpert@math.ku.edu Submitted: May 5, 2010; Accepted: Feb 3, 2011; Published:
More information10. Finite Lattices and their Congruence Lattices. If memories are all I sing I d rather drive a truck. Ricky Nelson
10. Finite Lattices and their Congruence Lattices If memories are all I sing I d rather drive a truck. Ricky Nelson In this chapter we want to study the structure of finite lattices, and how it is reflected
More informationON FIRST-ORDER CONS-FREE TERM REWRITING AND PTIME
ON FIRST-ORDER CONS-FREE TERM REWRITING AND PTIME CYNTHIA KOP Department of Computer Science, Copenhagen University e-mail address: kop@diku.dk Abstract. In this paper, we prove that (first-order) cons-free
More informationDefinitions. Notations. Injective, Surjective and Bijective. Divides. Cartesian Product. Relations. Equivalence Relations
Page 1 Definitions Tuesday, May 8, 2018 12:23 AM Notations " " means "equals, by definition" the set of all real numbers the set of integers Denote a function from a set to a set by Denote the image of
More informationA Multiplicative Operation on Matrices with Entries in an Arbitrary Abelian Group
A Multiplicative Operation on Matrices with Entries in an Arbitrary Abelian Group Cyrus Hettle (cyrus.h@uky.edu) Robert P. Schneider (robert.schneider@uky.edu) University of Kentucky Abstract We define
More informationTwo Applications of Maximum Flow
Two Applications of Maximum Flow The Bipartite Matching Problem a bipartite graph as a flow network maximum flow and maximum matching alternating paths perfect matchings 2 Circulation with Demands flows
More informationarxiv: v1 [math.lo] 30 Aug 2018
arxiv:1808.10324v1 [math.lo] 30 Aug 2018 Real coextensions as a tool for constructing triangular norms Thomas Vetterlein Department of Knowledge-Based Mathematical Systems Johannes Kepler University Linz
More informationarxiv:math/ v1 [math.oa] 9 May 2005
arxiv:math/0505154v1 [math.oa] 9 May 2005 A GENERALIZATION OF ANDÔ S THEOREM AND PARROTT S EXAMPLE DAVID OPĚLA Abstract. Andô s theorem states that any pair of commuting contractions on a Hilbert space
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 informationStatic Program Analysis
Static Program Analysis Lecture 16: Abstract Interpretation VI (Counterexample-Guided Abstraction Refinement) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de
More informationJoin Algorithms for the Theory of Uninterpreted Functions
Join Algorithms for the Theory of Uninterpreted Functions Sumit Gulwani 1, Ashish Tiwari 2, and George C. Necula 1 1 University of California, Berkeley, CA 94720, {gulwani,necula}@cs.berkeley.edu 2 SRI
More informationExtended Abstract: Reconsidering Intuitionistic Duality
Extended Abstract: Reconsidering Intuitionistic Duality Aaron Stump, Harley Eades III, Ryan McCleeary Computer Science The University of Iowa 1 Introduction This paper proposes a new syntax and proof system
More informationCompact Regions for Place/Transition Nets
Compact Regions for Place/Transition Nets Robin Bergenthum Department of Software Engineering and Theory of Programming, FernUniversität in Hagen robin.bergenthum@fernuni-hagen.de Abstract. This paper
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 informationNOTES ON PLANAR SEMIMODULAR LATTICES. IV. THE SIZE OF A MINIMAL CONGRUENCE LATTICE REPRESENTATION WITH RECTANGULAR LATTICES
NOTES ON PLANAR SEMIMODULAR LATTICES. IV. THE SIZE OF A MINIMAL CONGRUENCE LATTICE REPRESENTATION WITH RECTANGULAR LATTICES G. GRÄTZER AND E. KNAPP Abstract. Let D be a finite distributive lattice with
More informationDENSELY k-separable COMPACTA ARE DENSELY SEPARABLE
DENSELY k-separable COMPACTA ARE DENSELY SEPARABLE ALAN DOW AND ISTVÁN JUHÁSZ Abstract. A space has σ-compact tightness if the closures of σ-compact subsets determines the topology. We consider a dense
More informationAbstract Models of Shape Branching- and Linear-Time
(-: / 1 Abstract Models of Shape Branching- and Linear-Time David Schmidt Kansas State University (-: / 2 Outline 1. branching time models: graphs 2. abstraction of nodes via Galois connections; abstraction
More informationAxioms of Kleene Algebra
Introduction to Kleene Algebra Lecture 2 CS786 Spring 2004 January 28, 2004 Axioms of Kleene Algebra In this lecture we give the formal definition of a Kleene algebra and derive some basic consequences.
More informationAbstraction for Falsification
Abstraction for Falsification Thomas Ball 1, Orna Kupferman 2, and Greta Yorsh 3 1 Microsoft Research, Redmond, WA, USA. Email: tball@microsoft.com, URL: research.microsoft.com/ tball 2 Hebrew University,
More informationAlgebras. Larry Moss Indiana University, Bloomington. TACL 13 Summer School, Vanderbilt University
1/39 Algebras Larry Moss Indiana University, Bloomington TACL 13 Summer School, Vanderbilt University 2/39 Binary trees Let T be the set which starts out as,,,, 2/39 Let T be the set which starts out as,,,,
More informationAAA616: Program Analysis. Lecture 7 The Octagon Abstract Domain
AAA616: Program Analysis Lecture 7 The Octagon Abstract Domain Hakjoo Oh 2016 Fall Hakjoo Oh AAA616 2016 Fall, Lecture 7 November 3, 2016 1 / 30 Reference Antoine Miné. The Octagon Abstract Domain. Higher-Order
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 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 informationNOTES ON PLANAR SEMIMODULAR LATTICES. IV. THE SIZE OF A MINIMAL CONGRUENCE LATTICE REPRESENTATION WITH RECTANGULAR LATTICES
NOTES ON PLANAR SEMIMODULAR LATTICES. IV. THE SIZE OF A MINIMAL CONGRUENCE LATTICE REPRESENTATION WITH RECTANGULAR LATTICES G. GRÄTZER AND E. KNAPP Abstract. Let D be a finite distributive lattice with
More informationc ij x i x j c ij x i y j
Math 48A. Class groups for imaginary quadratic fields In general it is a very difficult problem to determine the class number of a number field, let alone the structure of its class group. However, in
More informationLecture Notes on DISCRETE MATHEMATICS. Eusebius Doedel
Lecture Notes on DISCRETE MATHEMATICS Eusebius Doedel c Eusebius J. Doedel, 009 Contents Logic. Introduction............................................................................... Basic logical
More information1.1 Line Reflections and Point Reflections
1.1 Line Reflections and Point Reflections Since this is a book on Transformation Geometry, we shall start by defining transformations of the Euclidean plane and giving basic examples. Definition 1. A
More informationLecture Notes 1 Basic Concepts of Mathematics MATH 352
Lecture Notes 1 Basic Concepts of Mathematics MATH 352 Ivan Avramidi New Mexico Institute of Mining and Technology Socorro, NM 87801 June 3, 2004 Author: Ivan Avramidi; File: absmath.tex; Date: June 11,
More informationFREE STEINER LOOPS. Smile Markovski, Ana Sokolova Faculty of Sciences and Mathematics, Republic of Macedonia
GLASNIK MATEMATIČKI Vol. 36(56)(2001), 85 93 FREE STEINER LOOPS Smile Markovski, Ana Sokolova Faculty of Sciences and Mathematics, Republic of Macedonia Abstract. A Steiner loop, or a sloop, is a groupoid
More informationInductive Definitions
University of Science and Technology of China (USTC) 09/26/2011 Judgments A judgment states that one or more syntactic objects have a property or stand in some relation to one another. The property or
More informationA Discrete Duality Between Nonmonotonic Consequence Relations and Convex Geometries
A Discrete Duality Between Nonmonotonic Consequence Relations and Convex Geometries Johannes Marti and Riccardo Pinosio Draft from April 5, 2018 Abstract In this paper we present a duality between nonmonotonic
More information