Reading: Chapter 9.3. Carnegie Mellon
|
|
- Anthony Cannon
- 5 years ago
- Views:
Transcription
1 I II Lecture 3 Foundation of Data Flow Analysis Semi-lattice (set of values, meet operator) Transfer functions III Correctness, precision and convergence IV Meaning of Data Flow Solution Reading: Chapter 9.3
2 I. Purpose of a Framework Purpose 1 Prove properties of entire family of problems once and for all Will the program converge? What does the solution to the set of equations mean? Purpose 2: Aid in software engineering: re-use code CS243: Foundation of Data Flow 2
3 The Data-Flow Framework Data-flow problems (F, V, ) are defined by A semi-lattice domain of values V meet operator : V x V à V A family of transfer functions F: V à V CS243: Foundation of Data Flow 3
4 Semi-lattice: Structure of the Domain of Values A semi-lattice S = <a set of values V, a meet operator > Properties of the meet operator idempotent: x x = x commutative: x y = y x associative: x (y z) = (x y) z Examples of meet operators? Non-examples? CS243: Foundation of Data Flow 4
5 Example of a Semi-Lattice Diagram (V, ) : V = {x such that x {d 1,d 2,d 3 }}, = U {} (T) {d 1 } {d 2 } {d 3 } {d 1,d 2 } {d 1,d 3 } {d 2,d 3 } {d 1,d 2,d 3 } ( ) x y = first common descendant of x & y A meet semi-lattice is bounded if there exists a top element T, such that x T = x for all x. A bottom element exists, if x = for all x. important CS243: Foundation of Data Flow 5
6 Meet Semi-Lattices vs Partially Ordered Sets A meet-semilattice is a partially ordered set which has a meet (or greatest lower bound) for any nonempty finite subset. {} (T) {d 1 } {d 2 } {d 3 } {d 1,d 2 } {d 1,d 3 } {d 2,d 3 } {d 1,d 2,d 3 } ( ) Greatest lower bound: x y = First common descendant of x & y Largest: top element T, if x T = x for all x. Smallest: bottom element, if x = for all x. CS243: Foundation of Data Flow 6
7 A Meet Operator Defines a Partial Order Partial order of a meet semi-lattice : x y if and only if x y = x path y x (x y = x) ( x y ) {} (T) Meet operator: U Partial order : {d 1 } {d 2 } {d 3 } {d 1,d 2 } {d 1,d 3 } {d 2,d 3 } {d 1,d 2,d 3 } ( ) Properties of meet operator guarantee that is a partial order Reflexive: x x Antisymmetric: if x y and y x then x = y Transitive: if x y and y z then x z CS243: Foundation of Data Flow 7
8 Drawing a Semi-Lattice Diagram (x < y) (x y) (x y) A semi-lattice diagram: Set of nodes: set of values Set of edges {(y, x): x < y and z s.t. (x < z) (z < y)} CS243: Foundation of Data Flow 8
9 Summary Three ways to define a semi-lattice: Set of values + meet operator idempotent: x x = x commutative: x y = y x associative: x (y z) = (x y) z Set of values + partial order with a greatest lower bound for any nonempty subset Reflexive: x x Antisymmetric: if x y and y x then x = y Transitive: if x y and y z then x z A semi-lattice diagram CS243: Foundation of Data Flow 9
10 Another Example Semi-lattice V = {x such that x {d 1, d 2, d 3 }} = {d 1,d 2,d 3 } (T) {d 1,d 2 } {d 1,d 3 } {d 2,d 3 } {d 1 } {d 2 } {d 3 } {} ( ) is CS243: Foundation of Data Flow 10
11 One Element at a Time A semi-lattice for data flow problems can get quite large: 2 n elements for n var/definition A useful technique: define semi-lattice for 1 element product of semi-lattices for all elements Example: Union of definitions For each element def1 def2 {} {} def1 x def2 {},{} {d 1 } {d 2 } {d 1 },{} {},{d 2 } <x 1, x 2 > <y 1, y 2 > iff x 1 y 1 and x 2 y 2 {d 1 },{d 2 } CS243: Foundation of Data Flow 11
12 Descending Chain Definition The height of a lattice is the largest number of > relations that will fit in a descending chain. x 0 > x 1 > Height of values in reaching definitions? Important property: finite descending chains CS243: Foundation of Data Flow 12
13 II. Transfer Functions A family of transfer functions F Basic Properties f : V à V Has an identity function f such that f(x) = x, for all x. Closed under composition if f 1,f 2 F, f 1 f 2 F CS243: Foundation of Data Flow 13
14 Monotonicity: 2 Equivalent Definitions A framework (F, V, ) is monotone iff x y implies f(x) f(y) Equivalently, a framework (F, V, ) is monotone iff f(x y) f(x) f(y), meet inputs, then apply f apply f individually to inputs, then meet results CS243: Foundation of Data Flow 14
15 Example Reaching definitions: f(x) = Gen U (x - Kill), = U Definition 1: Let x 1 x 2, f(x 1 ): Gen U (x 1 - Kill) f(x 2 ): Gen U (x 2 - Kill) Definition 2: f(x 1 x 2 ) = (Gen U ((x 1 U x 2 ) - Kill)) f(x 1 ) f(x 2 ) = (Gen U (x 1 - Kill) ) U (Gen U (x 2 - Kill) ) CS243: Foundation of Data Flow 15
16 Distributivity A framework (F, V, ) is distributive if and only if f(x y)= f(x) f(y), meet input, then apply f is equal to apply the transfer function individually then merge result CS243: Foundation of Data Flow 16
17 Important Note Monotone framework does not mean that f(x) x e.g. Reaching definition for two definitions in program suppose: f: Gen = {d 1 } ; Kill = {d 2 } CS243: Foundation of Data Flow 17
18 III. Properties of Iterative Algorithm Given: and monotone data flow framework Finite descending chain Converges Initialization of interior points to T Maximum Fixed Point (MFP) solution of equations CS243: Foundation of Data Flow 18
19 Behavior of iterative algorithm (intuitive) For each IN/OUT of an interior program point: Invariant: new value old value in any step Start with T (largest value) Proof by induction 1st transfer function or meet operator: new value old value (T) Meet operation: Assume new inputs old inputs, new output old output Transfer function (in a monotone framework) Assume new inputs old inputs, new output old output Algorithm iterates until equations are satisfied Values do not come down unless some constraints drive them down. Therefore, finds the largest solution that satisfies the equations CS243: Foundation of Data Flow 19
20 IV. What Does the Solution Mean? IDEAL data flow solution Let f 1,..., f m : F, f i is the transfer function for node i f p = f nk f n1, p is a path through nodes n 1,..., n k f p = identify function, if p is an empty path For each node n: f pi (boundary value), for all possibly executed paths p i reaching n Example false if sqr(y) >= 0 true x = 0 x = 1 Determining all possibly executed paths is undecidable CS243: Foundation of Data Flow 20
21 Err in the conservative direction Meet-Over-Paths MOP Meet-Over-Paths MOP Assume every edge is traversed For each node n: MOP(n) = f pi (boundary value), for all paths p i reaching n Compare MOP with IDEAL MOP includes more paths than IDEAL MOP = IDEAL Result(Unexecuted-Paths) MOP IDEAL MOP is a smaller solution, more conservative, safe MOP IDEAL Goal: as close to MOP from below as possible CS243: Foundation of Data Flow 21
22 Solving Data Flow Equations What is the difference between MOP and MFP of data flow equations? F 1 F 2 F 3 Therefore FP MFP MOP IDEAL FP, MFP, MOP are safe If framework is distributive, FP MFP = MOP IDEAL CS243: Foundation of Data Flow 22
23 Summary A data flow framework Semi-lattice set of values (top) meet operator finite descending chains? Transfer functions summarizes each basic block boundary conditions Properties of data flow framework: Monotone framework and finite descending chains iterative algorithm converges finds maximum fixed point (MFP) FP MFP MOP IDEAL Distributive framework FP MFP = MOP IDEAL CS243: Foundation of Data Flow 23
CSC D70: Compiler Optimization Dataflow-2 and Loops
CSC D70: Compiler Optimization Dataflow-2 and Loops Prof. Gennady Pekhimenko University of Toronto Winter 2018 The content of this lecture is adapted from the lectures of Todd Mowry and Phillip Gibbons
More informationDataflow Analysis - 2. Monotone Dataflow Frameworks
Dataflow Analysis - 2 Monotone dataflow frameworks Definition Convergence Safety Relation of MOP to MFP Constant propagation Categorization of dataflow problems DataflowAnalysis 2, Sp06 BGRyder 1 Monotone
More informationGoal. Partially-ordered set. Game plan 2/2/2013. Solving fixpoint equations
Goal Solving fixpoint equations Many problems in programming languages can be formulated as the solution of a set of mutually recursive equations: D: set, f,g:dxd D x = f(x,y) y = g(x,y) Examples Parsing:
More informationThe Meet-Over-All-Paths Solution to Data-Flow Problems
The Meet-Over-All-Paths Solution to Data-Flow Problems Consider a monotone dataflow framework (L,,F). Assume that the functions f B F represent the effect of a basic block on the sets conatining data for
More informationDataflow Analysis. Chapter 9, Section 9.2, 9.3, 9.4
Dataflow Analysis Chapter 9, Section 9.2, 9.3, 9.4 2 Dataflow Analysis Dataflow analysis is a sub area of static program analysis Used in the compiler back end for optimizations of three address code and
More informationWe define a dataflow framework. A dataflow framework consists of:
So far been talking about various dataflow problems (e.g. reaching definitions, live variable analysis) in very informal terms. Now we will discuss a more fundamental approach to handle many of the dataflow
More informationDataflow Analysis. Dragon book, Chapter 9, Section 9.2, 9.3, 9.4
Dataflow Analysis Dragon book, Chapter 9, Section 9.2, 9.3, 9.4 2 Dataflow Analysis Dataflow analysis is a sub-area of static program analysis Used in the compiler back end for optimizations of three-address
More informationGeneralizing Data-flow Analysis
Generalizing Data-flow Analysis Announcements PA1 grades have been posted Today Other types of data-flow analysis Reaching definitions, available expressions, reaching constants Abstracting data-flow analysis
More informationSpring Based on Partee, ter Meulen, & Wall (1993), Mathematical Methods in Linguistics
1 / 17 L545 Spring 2013 Based on Partee, ter Meulen, & Wall (1993), Mathematical Methods in Linguistics 2 / 17 Why set theory? Set theory sets the foundation for much of mathematics For us: provides precise
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 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 informationAn Introduction to the Theory of Lattice
An Introduction to the Theory of Lattice Jinfang Wang Λy Graduate School of Science and Technology, Chiba University 1-33 Yayoi-cho, Inage-ku, Chiba 263-8522, Japan May 11, 2006 Λ Fax: 81-43-290-3663.
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 informationChapter 9: Relations Relations
Chapter 9: Relations 9.1 - Relations Definition 1 (Relation). Let A and B be sets. A binary relation from A to B is a subset R A B, i.e., R is a set of ordered pairs where the first element from each pair
More informationMonotone Data Flow Analysis Framework
Monotone Data Flow Analysis Framework Definition. A relation R on a set S is (a) reflexive iff ( x S)[xRx], (b) antisymmetric iff [xry yrx x=y] (c) transitive iff ( x,y,z S) [xry yrz xrz] Definition. A
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 informationLecture 1: Lattice(I)
Discrete Mathematics (II) Spring 207 Lecture : Lattice(I) Lecturer: Yi Li Lattice is a special algebra structure. It is also a part of theoretic foundation of model theory, which formalizes the semantics
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 informationCOSE312: Compilers. Lecture 14 Semantic Analysis (4)
COSE312: Compilers Lecture 14 Semantic Analysis (4) Hakjoo Oh 2017 Spring Hakjoo Oh COSE312 2017 Spring, Lecture 14 May 8, 2017 1 / 30 Denotational Semantics In denotational semantics, we are interested
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 informationDataflow analysis. Theory and Applications. cs6463 1
Dataflow analysis Theory and Applications cs6463 1 Control-flow graph Graphical representation of runtime control-flow paths Nodes of graph: basic blocks (straight-line computations) Edges of graph: flows
More informationCS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers. 1 Complete partial orders (CPOs) 2 Least fixed points of functions
CS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers We saw that the semantics of the while command are a fixed point. We also saw that intuitively, the semantics are the limit
More informationTwo Approaches to Interprocedural Data Flow Analysis
Two Approaches to Interprocedural Data Flow Analysis Micha Sharir Amir Pnueli Part one: The Functional Approach 12.06.2010 Klaas Boesche Intraprocedural analysis procedure main read a, b procedure p if
More informationAAA616: Program Analysis. Lecture 3 Denotational Semantics
AAA616: Program Analysis Lecture 3 Denotational Semantics Hakjoo Oh 2018 Spring Hakjoo Oh AAA616 2018 Spring, Lecture 3 March 28, 2018 1 / 33 Denotational Semantics In denotational semantics, we are interested
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 informationCompleteness of Star-Continuity
Introduction to Kleene Algebra Lecture 5 CS786 Spring 2004 February 9, 2004 Completeness of Star-Continuity We argued in the previous lecture that the equational theory of each of the following classes
More 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 informationAxioms for the Real Number System
Axioms for the Real Number System Math 361 Fall 2003 Page 1 of 9 The Real Number System The real number system consists of four parts: 1. A set (R). We will call the elements of this set real numbers,
More informationa + b = b + a and a b = b a. (a + b) + c = a + (b + c) and (a b) c = a (b c). a (b + c) = a b + a c and (a + b) c = a c + b c.
Properties of the Integers The set of all integers is the set and the subset of Z given by Z = {, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, }, N = {0, 1, 2, 3, 4, }, is the set of nonnegative integers (also called
More informationProperties of the Integers
Properties of the Integers The set of all integers is the set and the subset of Z given by Z = {, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, }, N = {0, 1, 2, 3, 4, }, is the set of nonnegative integers (also called
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 informationCS411 Notes 3 Induction and Recursion
CS411 Notes 3 Induction and Recursion A. Demers 5 Feb 2001 These notes present inductive techniques for defining sets and subsets, for defining functions over sets, and for proving that a property holds
More informationDiscrete Mathematics Review
CS 1813 Discrete Mathematics Discrete Mathematics Review or Yes, the Final Will Be Comprehensive 1 Truth Tables for Logical Operators P Q P Q False False False P Q False P Q False P Q True P Q True P True
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 informationKleene Algebra and Arden s Theorem. Anshul Kumar Inzemamul Haque
Kleene Algebra and Arden s Theorem Anshul Kumar Inzemamul Haque Motivation Regular Expression is a Kleene Algebra. We can use the properties and theorems of Kleene Algebra to simplify regular expressions
More informationData Cleaning and Query Answering with Matching Dependencies and Matching Functions
Data Cleaning and Query Answering with Matching Dependencies and Matching Functions Leopoldo Bertossi 1, Solmaz Kolahi 2, and Laks V. S. Lakshmanan 2 1 Carleton University, Ottawa, Canada. bertossi@scs.carleton.ca
More information(Pre-)Algebras for Linguistics
1. Review of Preorders Linguistics 680: Formal Foundations Autumn 2010 (Pre-)Orders and Induced Equivalence A preorder on a set A is a binary relation ( less than or equivalent to ) on A which is reflexive
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 informationMAD 3105 PRACTICE TEST 2 SOLUTIONS
MAD 3105 PRACTICE TEST 2 SOLUTIONS 1. Let R be the relation defined below. Determine which properties, reflexive, irreflexive, symmetric, antisymmetric, transitive, the relation satisfies. Prove each answer.
More informationWhat is SSA? each assignment to a variable is given a unique name all of the uses reached by that assignment are renamed
Another Form of Data-Flow Analysis Propagation of values for a variable reference, where is the value produced? for a variable definition, where is the value consumed? Possible answers reaching definitions,
More informationLecture 2: A crash course in Real Analysis
EE5110: Probability Foundations for Electrical Engineers July-November 2015 Lecture 2: A crash course in Real Analysis Lecturer: Dr. Krishna Jagannathan Scribe: Sudharsan Parthasarathy This lecture is
More informationToday s Topics. Methods of proof Relationships to logical equivalences. Important definitions Relationships to sets, relations Special functions
Today s Topics Set identities Methods of proof Relationships to logical equivalences Functions Important definitions Relationships to sets, relations Special functions Set identities help us manipulate
More informationMAT 570 REAL ANALYSIS LECTURE NOTES. Contents. 1. Sets Functions Countability Axiom of choice Equivalence relations 9
MAT 570 REAL ANALYSIS LECTURE NOTES PROFESSOR: JOHN QUIGG SEMESTER: FALL 204 Contents. Sets 2 2. Functions 5 3. Countability 7 4. Axiom of choice 8 5. Equivalence relations 9 6. Real numbers 9 7. Extended
More informationAxioms for Set Theory
Axioms for Set Theory The following is a subset of the Zermelo-Fraenkel axioms for set theory. In this setting, all objects are sets which are denoted by letters, e.g. x, y, X, Y. Equality is logical identity:
More informationThat is, there is an element
Section 3.1: Mathematical Induction Let N denote the set of natural numbers (positive integers). N = {1, 2, 3, 4, } Axiom: If S is a nonempty subset of N, then S has a least element. That is, there is
More informationGerwin Klein, June Andronick, Ramana Kumar S2/2016
COMP4161: Advanced Topics in Software Verification {} Gerwin Klein, June Andronick, Ramana Kumar S2/2016 data61.csiro.au Content Intro & motivation, getting started [1] Foundations & Principles Lambda
More informationREVIEW QUESTIONS. Chapter 1: Foundations: Sets, Logic, and Algorithms
REVIEW QUESTIONS Chapter 1: Foundations: Sets, Logic, and Algorithms 1. Why can t a Venn diagram be used to prove a statement about sets? 2. Suppose S is a set with n elements. Explain why the power set
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 informationA should be R-closed: R(A) A. We would like this to hold because we would like every element that the rules say should be in A to actually be in A.
CS 6110 S18 Lecture 7 Inductive Definitions and Least Fixed Points 1 Set Operators Last time we considered a set of rule instances of the form X 1 X 2... X n, (1) X where X and the X i are members of some
More information1 The Local-to-Global Lemma
Point-Set Topology Connectedness: Lecture 2 1 The Local-to-Global Lemma In the world of advanced mathematics, we are often interested in comparing the local properties of a space to its global properties.
More informationLecture 11: Data Flow Analysis III
CS 515 Programming Language and Compilers I Lecture 11: Data Flow Analysis III (The lectures are based on the slides copyrighted by Keith Cooper and Linda Torczon from Rice University.) Zheng (Eddy) Zhang
More informationMathematics Review for Business PhD Students
Mathematics Review for Business PhD Students Anthony M. Marino Department of Finance and Business Economics Marshall School of Business Lecture 1: Introductory Material Sets The Real Number System Functions,
More informationCS Lecture 3. More Bayesian Networks
CS 6347 Lecture 3 More Bayesian Networks Recap Last time: Complexity challenges Representing distributions Computing probabilities/doing inference Introduction to Bayesian networks Today: D-separation,
More informationPractice Exam 1 CIS/CSE 607, Spring 2009
Practice Exam 1 CIS/CSE 607, Spring 2009 Problem 1) Let R be a reflexive binary relation on a set A. Prove that R is transitive if, and only if, R = R R. Problem 2) Give an example of a transitive binary
More informationAppendix A. Definitions for Ordered Sets. The appendices contain all the formal definitions, propositions and proofs for
161 Appendix A Definitions for Ordered Sets The appendices contain all the formal definitions, propositions and proofs for developing a model of the display process based on lattices. Here we list some
More informationDataflow Analysis Lecture 2. Simple Constant Propagation. A sample program int fib10(void) {
-4 Lecture Dataflow Analysis Basic Blocks Related Optimizations Copyright Seth Copen Goldstein 00 Dataflow Analysis Last time we looked at code transformations Constant propagation Copy propagation Common
More informationThe integers. Chapter 3
Chapter 3 The integers Recall that an abelian group is a set A with a special element 0, and operation + such that x +0=x x + y = y + x x +y + z) =x + y)+z every element x has an inverse x + y =0 We also
More informationBernhard Nebel, Julien Hué, and Stefan Wölfl. June 27 & July 2/4, 2012
Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 27 & July 2/4, 2012 vs. complexity For some restricted constraint languages we know some polynomial time algorithms
More informationcse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska
cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska LECTURE 1 Course Web Page www3.cs.stonybrook.edu/ cse303 The webpage contains: lectures notes slides; very detailed solutions to
More informationWORKSHEET MATH 215, FALL 15, WHYTE. We begin our course with the natural numbers:
WORKSHEET MATH 215, FALL 15, WHYTE We begin our course with the natural numbers: N = {1, 2, 3,...} which are a subset of the integers: Z = {..., 2, 1, 0, 1, 2, 3,... } We will assume familiarity with their
More informationIntroduction to data-flow analysis. Data-flow analysis. Control-flow graphs. Data-flow analysis. Example: liveness. Requirements
Data-flow analysis Michel Schinz based on material by Erik Stenman and Michael Schwartzbach Introduction to data-flow analysis Data-flow analysis Example: liveness Data-flow analysis is a global analysis
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 informationMATH 202B - Problem Set 5
MATH 202B - Problem Set 5 Walid Krichene (23265217) March 6, 2013 (5.1) Show that there exists a continuous function F : [0, 1] R which is monotonic on no interval of positive length. proof We know there
More informationMATH 13 SAMPLE FINAL EXAM SOLUTIONS
MATH 13 SAMPLE FINAL EXAM SOLUTIONS WINTER 2014 Problem 1 (15 points). For each statement below, circle T or F according to whether the statement is true or false. You do NOT need to justify your answers.
More informationHomework 5. Solutions
Homework 5. Solutions 1. Let (X,T) be a topological space and let A,B be subsets of X. Show that the closure of their union is given by A B = A B. Since A B is a closed set that contains A B and A B is
More informationComplete Induction and the Well- Ordering Principle
Complete Induction and the Well- Ordering Principle Complete Induction as a Rule of Inference In mathematical proofs, complete induction (PCI) is a rule of inference of the form P (a) P (a + 1) P (b) k
More informationSeptember 14. Fall Software Foundations CIS 500
CIS 500 Software Foundations Fall 2005 September 14 CIS 500, September 14 1 Announcements I will be away September 19-October 5. I will be reachable by email. Fastest response cis500@cis.upenn.edu No office
More informationIntroduction to generalized topological spaces
@ Applied General Topology c Universidad Politécnica de Valencia Volume 12, no. 1, 2011 pp. 49-66 Introduction to generalized topological spaces Irina Zvina Abstract We introduce the notion of generalized
More information1. (B) The union of sets A and B is the set whose elements belong to at least one of A
1. (B) The union of sets A and B is the set whose elements belong to at least one of A or B. Thus, A B = { 2, 1, 0, 1, 2, 5}. 2. (A) The intersection of sets A and B is the set whose elements belong to
More informationAutomata and Languages
Automata and Languages Prof. Mohamed Hamada Software Engineering Lab. The University of Aizu Japan Mathematical Background Mathematical Background Sets Relations Functions Graphs Proof techniques Sets
More informationWell-Ordering Principle. Axiom: Every nonempty subset of Z + has a least element. That is, if S Z + and S, then S has a smallest element.
Well-Ordering Principle Axiom: Every nonempty subset of Z + has a least element. That is, if S Z + and S, then S has a smallest element. Well-Ordering Principle Example: Use well-ordering property to prove
More information0 Sets and Induction. Sets
0 Sets and Induction Sets A set is an unordered collection of objects, called elements or members of the set. A set is said to contain its elements. We write a A to denote that a is an element of the set
More informationChapter 2. Unification. Foundations of Logic Programming
Chapter 2 1 Outline Understanding the need for unification Defining alphabets, terms, and substitutions Introducing the Martelli-Montanari Algorithm for unification Proving correctness of the algorithm
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 informationIntroduction to Axiomatic Semantics
Introduction to Axiomatic Semantics Meeting 9, CSCI 5535, Spring 2009 Announcements Homework 3 is out, due Mon Feb 16 No domain theory! Homework 1 is graded Feedback attached 14.2 (mean), 13 (median),
More informationSemantics and Verification of Software
Semantics and Verification of Software Thomas Noll Software Modeling and Verification Group RWTH Aachen University http://moves.rwth-aachen.de/teaching/ws-1718/sv-sw/ Recap: The Denotational Approach Semantics
More informationData Flow Analysis. Lecture 6 ECS 240. ECS 240 Data Flow Analysis 1
Data Flow Analysis Lecture 6 ECS 240 ECS 240 Data Flow Analysis 1 The Plan Introduce a few example analyses Generalize to see the underlying theory Discuss some more advanced issues ECS 240 Data Flow Analysis
More information2MA105 Algebraic Structures I
2MA105 Algebraic Structures I Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/2ma105.html Lecture 12 Partially Ordered Sets Lattices Bounded Lattices Distributive Lattices Complemented Lattices
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 informationIntroduction. Chapter 1
Chapter 1 Introduction Logic is concerned mainly with two concepts: truth and provability. These concepts have been investigated extensively for centuries, by philosophers, linguists, and mathematicians.
More informationDiscrete Mathematics. 2. Relations
Discrete Mathematics 2. Relations Binary Relations Let A, B be any two sets. A binary relation R from A to B is a subset of A B. E.g., Let < : N N : {(n,m) n < m} The notation a R b or arb means (a,b)îr.
More informationWorksheet on Relations
Worksheet on Relations Recall the properties that relations can have: Definition. Let R be a relation on the set A. R is reflexive if for all a A we have ara. R is irreflexive or antireflexive if for all
More informationLecture 4. Algebra, continued Section 2: Lattices and Boolean algebras
V. Borschev and B. Partee, September 21-26, 2006 p. 1 Lecture 4. Algebra, continued Section 2: Lattices and Boolean algebras CONTENTS 1. Lattices.... 1 1.0. Why lattices?... 1 1.1. Posets... 1 1.1.1. Upper
More informationREVIEW FOR THIRD 3200 MIDTERM
REVIEW FOR THIRD 3200 MIDTERM PETE L. CLARK 1) Show that for all integers n 2 we have 1 3 +... + (n 1) 3 < 1 n < 1 3 +... + n 3. Solution: We go by induction on n. Base Case (n = 2): We have (2 1) 3 =
More informationDataflow Analysis. A sample program int fib10(void) { int n = 10; int older = 0; int old = 1; Simple Constant Propagation
-74 Lecture 2 Dataflow Analysis Basic Blocks Related Optimizations SSA Copyright Seth Copen Goldstein 200-8 Dataflow Analysis Last time we looked at code transformations Constant propagation Copy propagation
More informationA Tutorial on Program Analysis
A Tutorial on Program Analysis Markus Müller-Olm Dortmund University Thanks! Helmut Seidl (TU München) and Bernhard Steffen (Universität Dortmund) for discussions, inspiration, joint work,... 1 Dream of
More information1 Lattices and Tarski s Theorem
MS&E 336 Lecture 8: Supermodular games Ramesh Johari April 30, 2007 In this lecture, we develop the theory of supermodular games; key references are the papers of Topkis [7], Vives [8], and Milgrom and
More informationCS422 - Programming Language Design
1 CS422 - Programming Language Design Denotational Semantics Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign 2 Denotational semantics, also known as fix-point semantics,
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 informationAlgorithms and Theory of Computation. Lecture 22: NP-Completeness (2)
Algorithms and Theory of Computation Lecture 22: NP-Completeness (2) Xiaohui Bei MAS 714 November 8, 2018 Nanyang Technological University MAS 714 November 8, 2018 1 / 20 Set Cover Set Cover Input: a set
More informationExam Practice Problems
Math 231 Exam Practice Problems WARNING: This is not a sample test. Problems on the exams may or may not be similar to these problems. These problems are just intended to focus your study of the topics.
More informationConcrete Domains. Gilles Kahn INRIA Sophia Antipolis Gordon D. Plotkin University of Edinburgh
Concrete Domains Gilles Kahn INRIA Sophia Antipolis Gordon D. Plotkin University of Edinburgh May 21, 1993 Abstract This paper introduces the theory of a particular kind of computation domains called concrete
More informationLogical Connectives and Quantifiers
Chapter 1 Logical Connectives and Quantifiers 1.1 Logical Connectives 1.2 Quantifiers 1.3 Techniques of Proof: I 1.4 Techniques of Proof: II Theorem 1. Let f be a continuous function. If 1 f(x)dx 0, then
More information(b). Identify all basic blocks in your three address code. B1: 1; B2: 2; B3: 3,4,5,6; B4: 7,8,9; B5: 10; B6: 11; B7: 12,13,14; B8: 15;
(a). Translate the program into three address code as defined in Section 6.2, dragon book. (1) i := 2 (2) if i > n goto (7) (3) a[i] := TRUE (4) t2 := i+1 (5) i := t2 (6) goto (2) (7) count := 0 (8) s
More informationLecture 7: Relations
Lecture 7: Relations 1 Relation Relation between two objects signify some connection between them. For example, relation of one person being biological parent of another. If we take any two people at random,
More informationLecture 24 Nov. 20, 2014
CS 224: Advanced Algorithms Fall 2014 Prof. Jelani Nelson Lecture 24 Nov. 20, 2014 Scribe: Xiaoyu He Overview Today we will move to a new topic: another way to deal with NP-hard problems. We have already
More informationExercises 1 - Solutions
Exercises 1 - Solutions SAV 2013 1 PL validity For each of the following propositional logic formulae determine whether it is valid or not. If it is valid prove it, otherwise give a counterexample. Note
More information06 Recursive Definition and Inductive Proof
CAS 701 Fall 2002 06 Recursive Definition and Inductive Proof Instructor: W. M. Farmer Revised: 30 November 2002 1 What is Recursion? Recursion is a method of defining a structure or operation in terms
More informationSize-Change Termination and Transition Invariants
Size-Change Termination and Transition Invariants Matthias Heizmann 1, Neil D. Jones 2, and Andreas Podelski 1 1 University of Freiburg, Germany 2 University of Copenhagen, Denmark Abstract. Two directions
More informationLecture 2. Econ August 11
Lecture 2 Econ 2001 2015 August 11 Lecture 2 Outline 1 Fields 2 Vector Spaces 3 Real Numbers 4 Sup and Inf, Max and Min 5 Intermediate Value Theorem Announcements: - Friday s exam will be at 3pm, in WWPH
More information