Simple example. Analysis of programs with pointers. Points-to relation. Program model. Points-to graph. Ordering on points-to relation
|
|
- Matthew Wilson
- 5 years ago
- Views:
Transcription
1 Simle eamle Analsis of rograms with ointers := 5 tr *tr := 9 := rogram S1 S2 S3 S4 deendences What are the deendences in this rogram? Problem: just looking at variable names will not give ou the correct information After statement S2, rogram names and *tr are both eressions that refer to the same memor location. We sa that tr oints-to after statement S2. In a C-like language that has ointers, we must know the oints-to relation to be able to determine deendences correctl Program model For now, onl tes are int and int* No hea All ointers oint to onl to stack variables No rocedure or function calls involving ointer variables: address: co: load: store: Arbitrar comutations involving ints Points-to relation Directed grah: nodes are rogram variables edge (a,b): variable a oints-to variable b tr Can use a secial node to reresent NULL Points-to relation is different at different rogram oints Points-to grah Out-degree of node ma be more than one if oints-to grah has edges (a,b) and (a,c), it means that variable a ma oint to either b or c deending on how we got to that oint, one or the other will be true ath-sensitive analses: track how ou got to a rogram oint (we will not do this) if () then else := &z.. := &z Ordering on oints-to relation Subset ordering: for a given set of variables Least element is grah with no edges 1 <= 2 if 2 has all the edges 1 has and mabe some more iven two oints-to relations 1 and 2 1 U 2: least grah that contains all the edges in 1 and in 2 What does oint to here?
2 Overview Eamle We will look at three different oints-to analses. Flow-sensitive oints-to analsis Dataflow analsis Comutes a different oints-to relation at each oint in rogram Flow-insensitive oints-to analsis Comutes a single oints-to grah for entire rogram Andersen s algorithm Natural simlification of flow-sensitive algorithm Steensgard s algorithm Nodes in tree are equivalence classes of variables if ma oint-to either or z, ut and z in the same equivalence class Points-to relation is a tree with edges from children to arents rather than a general grah Less recise than Andersen s algorithm but faster := &z tr tr tr z w tr z w Andersen s algorithm tr, Flow-sensitive algorithm z,w Steensgard s algorithm Notation Suose S and S1 are set-d variables. S! S1: strong udate set assignment S U! S1: weak udate set union: this is like S! S U S1 Flow-sensitive algorithm Dataflow equations Dataflow equations (contd.) Forward flow, an ath analsis Confluence oerator: 1 U 2 = with t ()! { = with t ()! U t(a) for all a in t() = with t ()! { = with t ()! t() = with t ()! U t(a) for all a in t() = with t (a) U! t() for all a in t() = with t ()! t() = with t (a) U! t() for all a in t() strong udates weak udate (wh?)
3 Strong vs. weak udates Strong udate: At assignment statement, ou know recisel which variable is being written to Eamle: :=. You can remove oints-to information about coming into the statement in the dataflow analsis. Weak udate: You do not know recisel which variable is being udated; onl that it is one among some set of variables. Eamle: * := Problem: at analsis time, ou ma not know which variable oints to (see slide on control-flow and out-degree of nodes) Refinement: if out-degree of in oints-to grah is 1 and is known not be nil, we can do a strong udate even for * := Structures Structure tes struct cell {int ; struct cell *left, *right; struct cell,; Use a field-sensitive model and are nodes each node has three internal fields labeled, left, right This reresentation ermits ointers into fields of structures If this is not necessar, we can siml have a node for each structure and label outgoing edges with field name Eamle int main(void) { struct cell {int ; struct cell *; ; struct cell,,z,*; int sum;. = 5;. = &;. = 6;. = &z; z. = 7; z. = NULL; = &; sum = 0; while (!= NULL) { sum = sum + (*).; = (*).; return sum; z NULL z NULL Flow-insensitive algorithms Flow-insensitive analsis Andersen s algorithm Flow-sensitive analsis comutes a different grah at each rogram oint. This can be quite eensive. One alternative: flow-insensitive analsis Intuition:comute a oints-to relation which is the least uer bound of all the oints-to relations comuted b the flowsensitive analsis Aroach: Ignore control-flow Consider all assignment statements together relace strong udates in dataflow equations with weak udates Comute a single oints-to relation that holds regardless of the order in which assignment statements are actuall eecuted = with t() U! { = with t() U! t() = with t() U! t(a) for all a in t() weak udates onl = with t(a) U! t() for all a in t()
4 int main(void) { struct cell {int ; struct cell *; ; struct cell,,z,*; int sum;. = 5;. = &;. = 6;. = &z; z. = 7; z. = NULL; = &; sum = 0; while (!= NULL) { return sum; sum = sum + (*).; = (*).; Eamle. = &;. = &z; z. = NULL; = &; = (*).; Assignments for flow-insensitive analsis... Solution to flow-insensitive equations z NULL - Comare with oints-to grahs for flow-sensitive solution - Wh does oint-to NULL in this grah? Andersen s algorithm formulated using set constraints Steensgard s algorithm Flow-insensitive Comutes a oints-to grah in which there is no fan-out In oints-to grah roduced b Andersen s algorithm, if oints-to and z, and z are collased into an equivalence class Less accurate than Andersen s but faster We can eloit this to design an O(N*!(N)) algorithm, where N is the number of statements in the rogram. Steensgard s algorithm using set constraints Trick for one-ass rocessing Consider the following equations No fan-out When first equation on left is rocessed, and are not ointing to anthing. Once second equation is rocessed, we need to go back and rerocess first equation. Trick to avoid doing this: when rocessing first equation, if and are not ointing to anthing, create a dumm node and make and oint to that this is like solving the sstem on the right It is eas to show that this avoids the need for revisiting equations.
5 Algorithm Auiliar methods Can be imlemented in single ass through rogram Algorithm uses union-find to maintain equivalence classes (sets) of nodes Points-to relation is imlemented as a ointer from a variable to a reresentative of a set Basic oerations for union find: re(v): find the node that is the reresentative of the set that v is in union(v1,v2): create a set containing elements in sets containing v1 and v2, and return reresentative of that set class var { //instance variables! oints_to: var;! name: string; //constructor; also creates singleton set in union-find data structure var(string); //class method; also creates singleton set in union-find data structure make-dumm-var():var; //instance methods! get_t(): var;! set_t(var);//udates re rec_union(var v1, var v2) {! 1 = t(re(v1));! 2 = t(re(v2));! t1 = union(re(v1), re(v2));! if (1 == 2)!! return;! else if (1!= null && 2!= null)!! t2 = rec_union(1, 2);! else if (1!= null) t2 = 1;! else if (2!= null) t2 = 2;! else t2 = null;! t1.set_t(t2);! return t1; t(var v) {! //v does not have to be reresentative! t = re(v);! return t.get_t(); Algorithm Initialization: make each rogram variable into an object of te var and enter object into union-find data structure for each statement S in the rogram do S is : {if (t() == null).set-t(re()); else rec-union(t(),); S is : {if (t() == null and t() == null).set-t(var.make-dumm-var());.set-t(rec-union(t(),t())); S is :{if (t() == null).set-t(var.make-dumm-var()); var a := t(); if(t(a) == null) a.set-t(var.make-dumm-var());.set-t(rec-union(t(),t(a))); S is :{if (t() == null).set-t(var.make-dumm-var()); var a := t(); if(t(a) == null) a.set-t(var.make-dumm-var());.set-t(rec-union(t(),t(a))); Inter-rocedural analsis What do we do if there are function calls? 1 = &a swa(1, 1) 2 = &a swa(2, 2) Two aroaches Contet-sensitive aroach: treat each function call searatel just like real rogram eecution would roblem: what do we do for recursive functions? need to aroimate Contet-insensitive aroach: merge information from all call sites of a articular function in effect, inter-rocedural analsis roblem is reduced to intra-rocedural analsis roblem Contet-sensitive aroach is obviousl more accurate but also more eensive to comute Contet-insensitive aroach 1 = &a swa(1, 1) 2 = &a swa(2, 2)
6 Contet-sensitive aroach Contet-insensitive/Flow-insensitive Analsis 1 = &a swa(1, 1) 2 = &a swa(2, 2) For now, assume we do not have function arameters this means we know all the call sites for a given function Set u equations for binding of actual and formal arameters at each call site for that function use same variables for formal arameters for all call sites Intuition: each invocation rovides a new set of constraints to formal arameters Swa eamle Hea allocation 1 = &a 1 = 1 2 = 1 2 = &a 1 = 2 2 = 2 Simlest solution: use one node in oints-to grah to reresent all hea cells More elaborate solution: use a different node for each malloc site in the rogram Even more elaborate solution: shae analsis goal: summarize otentiall infinite data structures but kee around enough information so we can disambiguate ointers from stack into the hea, if ossible Summar Less recise More recise Equalit-based Subset-based Histor of oints-to analsis Flow-insensitive Flow-sensitive Contet-insensitive Contet-sensitive No consensus about which technique to use Eerience: if ou are contet-insensitive, ou might as well be flow-insensitive from Rder and Raside
Simple example. Analysis of programs with pointers. Program model. Points-to relation
Simple eample Analsis of programs with pointers := 5 ptr := & *ptr := 9 := program S1 S2 S3 S4 What are the defs and uses of in this program? Problem: just looking at variable names will not give ou the
More informationPoints-to Analysis. Xiaokang Qiu Purdue University. November 16, ECE 468 Adapted from Kulkarni 2012
Points-to Analysis Xiaokang Qiu Purdue University ECE 468 Adapted from Kulkarni 2012 November 16, 2016 Simple example x := 5 ptr := @x *ptr := 9 y := x program S1 S2 S3 S4 dependences What are the dependences
More informationClasses. Code Generation for Objects. Compiling Methods. Dynamic Dispatch. The Need for Dispatching CS412/CS413
Classes CS4/CS43 Introduction to Comilers Tim Teitelbaum Lecture : Imlementing Objects 8 March 5 Comonents ields/instance variables values ma dier rom object to object usuall mutable methods values shared
More informationStorage Allocation CSE 143. Pointers, Arrays, and Dynamic Storage Allocation. Pointer Variables. Pointers: Review. Pointers and Types
CSE 143 Pointers, Arrays, and Dynamic Storage Allocation [Chater 4,. 148-157, 172-177] Storage Allocation Storage (memory) is a linear array of cells (bytes) Objects of different tyes often reuire differing
More informationCS 450: COMPUTER GRAPHICS 2D TRANSFORMATIONS SPRING 2016 DR. MICHAEL J. REALE
CS 45: COMUTER GRAHICS 2D TRANSFORMATIONS SRING 26 DR. MICHAEL J. REALE INTRODUCTION Now that we hae some linear algebra under our resectie belts, we can start ug it in grahics! So far, for each rimitie,
More informationLinear Data Structure Linked List
. Definition. Reresenting List in C. Imlementing the oerations a. Inserting a node b. Deleting a node c. List Traversal. Linked imlementation of Stack 5. Linked imlementation of Queue 6. Circular List
More informationPointers CMPE-013/L. Pointers. Pointers What do they do? Pointers What are pointers? Gabriel Hugh Elkaim Winter 2014
CMPE-013/L A Variable's versus A Variable's Value In some situations, we will want to work with a variable's address in memor, rather than the value it contains Gabriel Hugh Elkaim Winter 2014 Variable
More informationChapter 8: Adaptive Networks
Chater : Adative Networks Introduction (.1) Architecture (.2) Backroagation for Feedforward Networks (.3) Jyh-Shing Roger Jang et al., Neuro-Fuzzy and Soft Comuting: A Comutational Aroach to Learning and
More informationEquality-Based Translation Validator for LLVM
Equality-Based Translation Validator for LLVM Michael Ste, Ross Tate, and Sorin Lerner University of California, San Diego {mste,rtate,lerner@cs.ucsd.edu Abstract. We udated our Peggy tool, reviously resented
More informationIdentity-sensitive Points-to Analysis for the Dynamic Behavior of JavaScript Objects
Identity-sensitive Points-to Analysis for the Dynamic Behavior of JavaScrit Objects Shiyi Wei and Barbara G. Ryder Deartment of Comuter Science, Virginia Tech, Blacksburg, VA, USA. {wei,ryder}@cs.vt.edu
More informationPointer Analysis. What is Points-to Analysis? Outline. What is Points-to Analysis? What is Points-to Analysis? What is Pointer Analysis? Rupesh Nasre.
Pointer Analysis What is? Ruesh Nasre. CS6843 Analysis IIT Madras Jan 2016 = a; if ( == *) { } else { } a oints to x 4 Outline What is? Introduction Pointer analysis as a DFA rolem Design decisions analysis,
More informationIntroduction to Shape and Pointer Analysis
Introduction to Shape and Pointer Analsis CS 502 Lecture 11 10/30/08 Some slides adapted from Nielson, Nielson, Hankin Principles of Program Analsis Analsis of the Heap Thus far, we have focussed on control
More informationCS 548: COMPUTER GRAPHICS DRAWING LINES AND CIRCLES SPRING 2015 DR. MICHAEL J. REALE
CS 548: COMPUTER GRAPHICS DRAWING LINES AND CIRCLES SPRING 05 DR. MICHAEL J. REALE OPENGL POINTS AND LINES OPENGL POINTS AND LINES In OenGL, there are different constants used to indicate what ind of rimitive
More informationComputer Graphics. Computer Graphics. Lecture 3 Line & Circle Drawing
Comuter Grahics Comuter Grahics Lecture 3 Line & Circle Drawing Comuter Grahics Towards the Ideal Line We can onl do a discrete aroimation Illuminate iels as close to the true ath as ossible, consider
More informationSensitivity Analysis for an Optimal Routing Policy in an Ad Hoc Wireless Network
1 Sensitivity Analysis for an Otimal Routing Policy in an Ad Hoc Wireless Network Tara Javidi and Demosthenis Teneketzis Deartment of Electrical Engineering and Comuter Science University of Michigan Ann
More informationLecture 7: Objects (Chapter 15) CS 1110 Introduction to Computing Using Python
htt://www.cs.cornell.edu/courses/cs1110/2018s Lecture 7: Objects (Chater 15) CS 1110 Introduction to Comuting Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White]
More informationChapter 7b - Point Estimation and Sampling Distributions
Chater 7b - Point Estimation and Samling Distributions Chater 7 (b) Point Estimation and Samling Distributions Point estimation is a form of statistical inference. In oint estimation we use the data from
More informationShuigeng Zhou. May 18, 2016 School of Computer Science Fudan University
Query Processing Shuigeng Zhou May 18, 2016 School of Comuter Science Fudan University Overview Outline Measures of Query Cost Selection Oeration Sorting Join Oeration Other Oerations Evaluation of Exressions
More informationsearch(i): Returns an element in the data structure associated with key i
CS161 Lecture 7 inary Search Trees Scribes: Ilan Goodman, Vishnu Sundaresan (2015), Date: October 17, 2017 Virginia Williams (2016), and Wilbur Yang (2016), G. Valiant Adated From Virginia Williams lecture
More informationGabriel Hugh Elkaim Spring CMPE 013/L: C Programming. CMPE 013/L: C Programming
1 CMPE 013/L Gabriel Hugh Elkaim Sring 2013 2 A Variable's versus A Variable's Value In some situations, we will want to work with a variable's address in memor, rather than the value it contains Variable
More informationLecture 8: Orthogonal Range Searching
CPS234 Comutational Geometry Setember 22nd, 2005 Lecture 8: Orthogonal Range Searching Lecturer: Pankaj K. Agarwal Scribe: Mason F. Matthews 8.1 Range Searching The general roblem of range searching is
More informationDirected File Transfer Scheduling
Directed File Transfer Scheduling Weizhen Mao Deartment of Comuter Science The College of William and Mary Williamsburg, Virginia 387-8795 wm@cs.wm.edu Abstract The file transfer scheduling roblem was
More informationLecture06: Pointers 4/1/2013
Lecture06: Pointers 4/1/2013 Slides modified from Yin Lou, Cornell CS2022: Introduction to C 1 Pointers A ointer is a variable that contains the (memory) address of another variable What is a memory address?
More informationExample: Runtime Memory Allocation: Example: Dynamical Memory Allocation: Some Comments: Allocate and free dynamic memory
Runtime Memory Allocation: Examle: All external and static variables Global systemcontrol Suose we want to design a rogram for handling student information: tyedef struct { All dynamically allocated variables
More informationCascade 2.0. C static analysis tool with an SMT backend. Wei Wang, Clark Barrett, Thomas Wies
Cascade 2.0 C static analysis tool with an SMT backend Wei Wang, Clark Barrett, Thomas Wies htt://cascade.cims.nyu.edu Overview Memory models Flat memory model Burstall memory model Partition memory model
More informationCS335 Fall 2007 Graphics and Multimedia. 2D Drawings: Lines
CS335 Fall 007 Grahics and Multimedia D Drawings: Lines Primitive Drawing Oerations Digital Concets of Drawing in Raster Arras PIXEL is a single arra element at x, - No smaller drawing unit exists Px,
More informationOptimizing Dynamic Memory Management!
Otimizing Dynamic Memory Management! 1 Goals of this Lecture! Hel you learn about:" Details of K&R hea mgr" Hea mgr otimizations related to Assignment #6" Faster free() via doubly-linked list, redundant
More informationCMSC 425: Lecture 16 Motion Planning: Basic Concepts
: Lecture 16 Motion lanning: Basic Concets eading: Today s material comes from various sources, including AI Game rogramming Wisdom 2 by S. abin and lanning Algorithms by S. M. LaValle (Chats. 4 and 5).
More information1.5 Case Study. dynamic connectivity quick find quick union improvements applications
. Case Study dynamic connectivity quick find quick union imrovements alications Subtext of today s lecture (and this course) Stes to develoing a usable algorithm. Model the roblem. Find an algorithm to
More informationRemember: The equation of projection. Imaging Geometry 1. Basic Geometric Coordinate Transforms. C306 Martin Jagersand
Imaging Geometr 1. Basic Geometric Coordinate Transorms emember: The equation o rojection Cartesian coordinates: (,, z) ( z, z ) C36 Martin Jagersand How do we develo a consistent mathematical ramework
More informationSynthesis of FSMs on the Basis of Reusable Hardware Templates
Proceedings of the 6th WSEAS Int. Conf. on Systems Theory & Scientific Comutation, Elounda, Greece, August -3, 006 (09-4) Synthesis of FSMs on the Basis of Reusable Hardware Temlates VALERY SKLYAROV, IOULIIA
More informationAUTOMATIC GENERATION OF HIGH THROUGHPUT ENERGY EFFICIENT STREAMING ARCHITECTURES FOR ARBITRARY FIXED PERMUTATIONS. Ren Chen and Viktor K.
inuts er clock cycle Streaming ermutation oututs er clock cycle AUTOMATIC GENERATION OF HIGH THROUGHPUT ENERGY EFFICIENT STREAMING ARCHITECTURES FOR ARBITRARY FIXED PERMUTATIONS Ren Chen and Viktor K.
More informationExtracting Optimal Paths from Roadmaps for Motion Planning
Extracting Otimal Paths from Roadmas for Motion Planning Jinsuck Kim Roger A. Pearce Nancy M. Amato Deartment of Comuter Science Texas A&M University College Station, TX 843 jinsuckk,ra231,amato @cs.tamu.edu
More information10 File System Mass Storage Structure Mass Storage Systems Mass Storage Structure Mass Storage Structure FILE SYSTEM 1
10 File System 1 We will examine this chater in three subtitles: Mass Storage Systems OERATING SYSTEMS FILE SYSTEM 1 File System Interface File System Imlementation 10.1.1 Mass Storage Structure 3 2 10.1
More information521493S Computer Graphics Exercise 3 (Chapters 6-8)
521493S Comuter Grahics Exercise 3 (Chaters 6-8) 1 Most grahics systems and APIs use the simle lighting and reflection models that we introduced for olygon rendering Describe the ways in which each of
More informationInformation Flow Based Event Distribution Middleware
Information Flow Based Event Distribution Middleware Guruduth Banavar 1, Marc Kalan 1, Kelly Shaw 2, Robert E. Strom 1, Daniel C. Sturman 1, and Wei Tao 3 1 IBM T. J. Watson Research Center Hawthorne,
More informationOperations on Singly (Simply) Linked Lists
LEC. 4 College of Information Technology / Software Deartment.. Data Structures / Second Class / 2016-2017 InsertFirst Oerations on Singly (Simly) Linked Lists The insertfirst() method of LinkList inserts
More information10. Multiprocessor Scheduling (Advanced)
10. Multirocessor Scheduling (Advanced) Oerating System: Three Easy Pieces AOS@UC 1 Multirocessor Scheduling The rise of the multicore rocessor is the source of multirocessorscheduling roliferation. w
More informationm/c Con up Flt Chip up up Carriers (C) Modules Global-Rigorous
5 6 7 8 9 Move Fifo Elev Frisc Elli Sort Vier TMS i85 m/c on up Flt hi up up Secication Data: arriers () 6 6 6 57 6 96 Modules 7 7 5 5 5 L ma 5 5 5 6 Number of Registers Obtained: Global-Rigorous 6 8 7
More informationObject and Native Code Thread Mobility Among Heterogeneous Computers
Object and Native Code Thread Mobility Among Heterogeneous Comuters Bjarne Steensgaard Eric Jul Microsoft Research DIKU (Det. of Comuter Science) One Microsoft Way University of Coenhagen Redmond, WA 98052
More informationTo Do. Computer Graphics (Fall 2004) Course Outline. Course Outline. Motivation. Motivation
Comuter Grahics (Fall 24) COMS 416, Lecture 3: ransformations 1 htt://www.cs.columbia.edu/~cs416 o Do Start (thinking about) assignment 1 Much of information ou need is in this lecture (slides) Ask A NOW
More informationLecture 18. Today, we will discuss developing algorithms for a basic model for parallel computing the Parallel Random Access Machine (PRAM) model.
U.C. Berkeley CS273: Parallel and Distributed Theory Lecture 18 Professor Satish Rao Lecturer: Satish Rao Last revised Scribe so far: Satish Rao (following revious lecture notes quite closely. Lecture
More informationCross products Line segments The convex combination of two distinct points p
CHAPTER Comutational Geometry Is the branch of comuter science that studies algorithms for solving geometric roblems. Has alications in many fields, including comuter grahics robotics, VLSI design comuter
More informationOMNI: An Efficient Overlay Multicast. Infrastructure for Real-time Applications
OMNI: An Efficient Overlay Multicast Infrastructure for Real-time Alications Suman Banerjee, Christoher Kommareddy, Koushik Kar, Bobby Bhattacharjee, Samir Khuller Abstract We consider an overlay architecture
More informationImproved heuristics for the single machine scheduling problem with linear early and quadratic tardy penalties
Imroved heuristics for the single machine scheduling roblem with linear early and quadratic tardy enalties Jorge M. S. Valente* LIAAD INESC Porto LA, Faculdade de Economia, Universidade do Porto Postal
More informationWho. Winter Compiler Construction Generic compiler structure. Mailing list and forum. IC compiler. How
Winter 2007-2008 Comiler Construction 0368-3133 Mooly Sagiv and Roman Manevich School of Comuter Science Tel-Aviv University Who Roman Manevich Schreiber Oen-sace (basement) Tel: 640-5358 rumster@ost.tau.ac.il
More informationLecture 2: Fixed-Radius Near Neighbors and Geometric Basics
structure arises in many alications of geometry. The dual structure, called a Delaunay triangulation also has many interesting roerties. Figure 3: Voronoi diagram and Delaunay triangulation. Search: Geometric
More informationUsing Permuted States and Validated Simulation to Analyze Conflict Rates in Optimistic Replication
Using Permuted States and Validated Simulation to Analyze Conflict Rates in Otimistic Relication An-I A. Wang Comuter Science Deartment Florida State University Geoff H. Kuenning Comuter Science Deartment
More informationPREDICTING LINKS IN LARGE COAUTHORSHIP NETWORKS
PREDICTING LINKS IN LARGE COAUTHORSHIP NETWORKS Kevin Miller, Vivian Lin, and Rui Zhang Grou ID: 5 1. INTRODUCTION The roblem we are trying to solve is redicting future links or recovering missing links
More informationLecture 3: Geometric Algorithms(Convex sets, Divide & Conquer Algo.)
Advanced Algorithms Fall 2015 Lecture 3: Geometric Algorithms(Convex sets, Divide & Conuer Algo.) Faculty: K.R. Chowdhary : Professor of CS Disclaimer: These notes have not been subjected to the usual
More informationAutomatic Editing with Hard and Soft Edits Some First Experiences
WP 39 ENGLIH ONLY UNITED NATION ECONOMIC COMMIION FOR EUROPE CONFERENCE OF EUROPEAN TATITICIAN Wor ession on tatistical Data Editing (Oslo, Norway, 4-6 etember ) Toic (vi): New and emerging methods Automatic
More informationQuery-Directed Adaptive Heap Cloning for Optimizing Compilers
Query-Directed Adative Hea Cloning for Otimizing Comilers Yulei Sui Yue Li Jingling Xue Programming Languages and Comilers Grou School of Comuter Science and Engineering University of New South Wales,
More informationI ACCEPT NO RESPONSIBILITY FOR ERRORS ON THIS SHEET. I assume that E = (V ).
1 I ACCEPT NO RESPONSIBILITY FOR ERRORS ON THIS SHEET. I assume that E = (V ). Data structures Sorting Binary heas are imlemented using a hea-ordered balanced binary tree. Binomial heas use a collection
More informationStereo Disparity Estimation in Moment Space
Stereo Disarity Estimation in oment Sace Angeline Pang Faculty of Information Technology, ultimedia University, 63 Cyberjaya, alaysia. angeline.ang@mmu.edu.my R. ukundan Deartment of Comuter Science, University
More information22. Swaping: Policies
22. Swaing: Policies Oerating System: Three Easy Pieces 1 Beyond Physical Memory: Policies Memory ressure forces the OS to start aging out ages to make room for actively-used ages. Deciding which age to
More informationarxiv: v1 [cs.mm] 18 Jan 2016
Lossless Intra Coding in with 3-ta Filters Saeed R. Alvar a, Fatih Kamisli a a Deartment of Electrical and Electronics Engineering, Middle East Technical University, Turkey arxiv:1601.04473v1 [cs.mm] 18
More informationModified Bloom filter for high performance hybrid NoSQL systems
odified Bloom filter for high erformance hybrid NoSQL systems A.B.Vavrenyuk, N.P.Vasilyev, V.V.akarov, K.A.atyukhin,..Rovnyagin, A.A.Skitev National Research Nuclear University EPhI (oscow Engineering
More informationSource level Unrolling of Loops Containing Pointers and Array References
Source level Unrolling of Loos Containing Pointers and Array References Yosi Ben Asher Jawad Haj-Yihia CS deartment, Haifa University, Israel. yosi@cs.haifa.ac.il, jawad.haj-yihia@intel.com Abstract We
More informationSimulating Ocean Currents. Simulating Galaxy Evolution
Simulating Ocean Currents (a) Cross sections (b) Satial discretization of a cross section Model as two-dimensional grids Discretize in sace and time finer satial and temoral resolution => greater accuracy
More informationTRANSVERSAL LASER ROAD PROFILER
Nonconventional Technologies Review Romania, December, 014 014 Romanian Association of Nonconventional Technologies TRANSVERSAL LASER ROAD PROFILER M. N. Tautan 1, S. Miclos, D. Savastru 3 and A. Stoica
More informationReview. Type equivalence. Java declarations. Type equivalence. Declared vs. implicit subtyping. CS 412 Introduction to Compilers
CS 412 Introdution to Comilers Andrew Mers Cornell Universit Leture 21: Subting 16 Marh 01 Review Multile imlementations suorted b subting Subting harateried b new judgement: S
More informationIMS Network Deployment Cost Optimization Based on Flow-Based Traffic Model
IMS Network Deloyment Cost Otimization Based on Flow-Based Traffic Model Jie Xiao, Changcheng Huang and James Yan Deartment of Systems and Comuter Engineering, Carleton University, Ottawa, Canada {jiexiao,
More information30. Condition Variables
30. Condition Variables Oerating System: Three Easy Pieces AOS@UC 1 Condition Variables There are many cases where a thread wishes to check whether a condition is true before continuing its execution.
More informationA Concise Workbook for College Algebra
City University of New York (CUNY) CUNY Academic Works Oen Educational Resources Queensborough Community College Summer 6--08 A Concise Workbook for College Algebra Fei Ye Queensborough Community College
More informationThe Rest of the Course More DFA and Model Checking
The Rest of the Course More DFA and Model Checking Tuesday, Dec. 6: Guest Lecture Thursday, Dec. 8: Guest Lecture Final Exam Wednesday, Dec. 14 @ 10:30-12:30 Prof. Leon Osterweil CS 521-621 Fall Semester
More information11/2/2010. In the last lecture. Monte-Carlo Ray Tracing : Path Tracing. Today. Shadow ray towards the light at each vertex. Path Tracing : algorithm
Comuter Grahics Global Illumination: Monte-Carlo Ray Tracing and Photon Maing Lecture 11 In the last lecture We did ray tracing and radiosity Ray tracing is good to render secular objects but cannot handle
More informationExperimental Comparison of Shortest Path Approaches for Timetable Information
Exerimental Comarison of Shortest Path roaches for Timetable Information Evangelia Pyrga Frank Schulz Dorothea Wagner Christos Zaroliagis bstract We consider two aroaches that model timetable information
More informationComplexity Issues on Designing Tridiagonal Solvers on 2-Dimensional Mesh Interconnection Networks
Journal of Comuting and Information Technology - CIT 8, 2000, 1, 1 12 1 Comlexity Issues on Designing Tridiagonal Solvers on 2-Dimensional Mesh Interconnection Networks Eunice E. Santos Deartment of Electrical
More informationTruth Trees. Truth Tree Fundamentals
Truth Trees 1 True Tree Fundamentals 2 Testing Grous of Statements for Consistency 3 Testing Arguments in Proositional Logic 4 Proving Invalidity in Predicate Logic Answers to Selected Exercises Truth
More informationCross products. p 2 p. p p1 p2. p 1. Line segments The convex combination of two distinct points p1 ( x1, such that for some real number with 0 1,
CHAPTER 33 Comutational Geometry Is the branch of comuter science that studies algorithms for solving geometric roblems. Has alications in many fields, including comuter grahics robotics, VLSI design comuter
More informationDefinition. Pointers. Outline. Why pointers? Definition. Memory Organization Overview. by Ziad Kobti. Definition. Pointers enable programmers to:
Pointers by Ziad Kobti Deinition When you declare a variable o any tye, say: int = ; The system will automatically allocated the required memory sace in a seciic location (tained by the system) to store
More informationPerception of Shape from Shading
1 Percetion of Shae from Shading Continuous image brightness variation due to shae variations is called shading Our ercetion of shae deends on shading Circular region on left is erceived as a flat disk
More informationCASCH - a Scheduling Algorithm for "High Level"-Synthesis
CASCH a Scheduling Algorithm for "High Level"Synthesis P. Gutberlet H. Krämer W. Rosenstiel Comuter Science Research Center at the University of Karlsruhe (FZI) HaidundNeuStr. 1014, 7500 Karlsruhe, F.R.G.
More informationCOMPARING CURVATURE ESTIMATION TECHNIQUES
COMPARIG CURVATURE ESTIMATIO TECHIQUES eandro F. Estrozi, Andréa G. Camos, uiz G. Rios, Roberto M. Cesar Jr., and uciano da F. Costa - Cybernetic Vision Research Grou, IFSC-USP, Caia Postal 9, CEP 5-97
More information32. Common Concurrency Problems.
32. Common Concurrency Problems. Oerating System: Three Easy Pieces AOS@UC 1 Common Concurrency Problems More recent work focuses on studying other tyes of common concurrency bugs. w Take a brief look
More informationEfficient Parallel Hierarchical Clustering
Efficient Parallel Hierarchical Clustering Manoranjan Dash 1,SimonaPetrutiu, and Peter Scheuermann 1 Deartment of Information Systems, School of Comuter Engineering, Nanyang Technological University, Singaore
More informationSIMULATION SYSTEM MODELING FOR MASS CUSTOMIZATION MANUFACTURING
Proceedings of the 2002 Winter Simulation Conference E. Yücesan, C.-H. Chen, J. L. Snowdon, and J. M. Charnes, eds.. SIMULATION SYSTEM MODELING FOR MASS CUSTOMIATION MANUFACTURING Guixiu Qiao Charles McLean
More informationGenerating Social Network Features for Link-based Classification
Generating Social Network Features for Link-based Classification Jun Karamon 1, Yutaka Matsuo 2, Hikaru Yamamoto 3, and Mitsuru Ishizuka 1 1 The University of Tokyo, 7-3-1 Hongo Bunkyo-ku Tokyo, Jaan,
More informationEfficient Processing of Top-k Dominating Queries on Multi-Dimensional Data
Efficient Processing of To-k Dominating Queries on Multi-Dimensional Data Man Lung Yiu Deartment of Comuter Science Aalborg University DK-922 Aalborg, Denmark mly@cs.aau.dk Nikos Mamoulis Deartment of
More informationNon-Strict Independence-Based Program Parallelization Using Sharing and Freeness Information
Non-Strict Indeendence-Based Program Parallelization Using Sharing and Freeness Information Daniel Cabeza Gras 1 and Manuel V. Hermenegildo 1,2 Abstract The current ubiuity of multi-core rocessors has
More informationMatlab Virtual Reality Simulations for optimizations and rapid prototyping of flexible lines systems
Matlab Virtual Reality Simulations for otimizations and raid rototying of flexible lines systems VAMVU PETRE, BARBU CAMELIA, POP MARIA Deartment of Automation, Comuters, Electrical Engineering and Energetics
More informationSpace-efficient Region Filling in Raster Graphics
"The Visual Comuter: An International Journal of Comuter Grahics" (submitted July 13, 1992; revised December 7, 1992; acceted in Aril 16, 1993) Sace-efficient Region Filling in Raster Grahics Dominik Henrich
More informationMATHEMATICAL MODELING OF COMPLEX MULTI-COMPONENT MOVEMENTS AND OPTICAL METHOD OF MEASUREMENT
MATHEMATICAL MODELING OF COMPLE MULTI-COMPONENT MOVEMENTS AND OPTICAL METHOD OF MEASUREMENT V.N. Nesterov JSC Samara Electromechanical Plant, Samara, Russia Abstract. The rovisions of the concet of a multi-comonent
More informationsplit split (a) (b) split split (c) (d)
International Journal of Foundations of Comuter Science c World Scientic Publishing Comany ON COST-OPTIMAL MERGE OF TWO INTRANSITIVE SORTED SEQUENCES JIE WU Deartment of Comuter Science and Engineering
More informationCS 1110 Final, December 7th, 2017
CS 1110 Final, December 7th, 2017 This 150-minute exam has 8 questions worth a total of 100 oints. Scan the whole test before starting. Budget your time wisely. Use the back of the ages if you need more
More informationRaster Graphics Algorithms
Overview of Grahics Pieline Raster Grahics Algorithms D scene atabase traverse geometric moel transform to worl sace transform to ee sace scan conversion Line rasterization Bresenham s Mioint line algorithm
More informationParallel Flow-Sensitive Pointer Analysis by Graph-Rewriting
Parae Fow-Sensitive Pointer Anaysis by Grah-Rewriting Vaivaswatha Nagaraj R. Govindarajan Indian Institute of Science, Bangaore PACT 2013 2 Outine Introduction Background Fow-sensitive grah-rewriting formuation
More informationA New and Efficient Algorithm-Based Fault Tolerance Scheme for A Million Way Parallelism
A New and Efficient Algorithm-Based Fault Tolerance Scheme for A Million Way Parallelism Erlin Yao, Mingyu Chen, Rui Wang, Wenli Zhang, Guangming Tan Key Laboratory of Comuter System and Architecture Institute
More informationGrouping of Patches in Progressive Radiosity
Grouing of Patches in Progressive Radiosity Arjan J.F. Kok * Abstract The radiosity method can be imroved by (adatively) grouing small neighboring atches into grous. Comutations normally done for searate
More information10. Parallel Methods for Data Sorting
10. Parallel Methods for Data Sorting 10. Parallel Methods for Data Sorting... 1 10.1. Parallelizing Princiles... 10.. Scaling Parallel Comutations... 10.3. Bubble Sort...3 10.3.1. Sequential Algorithm...3
More information28. Locks. Operating System: Three Easy Pieces
28. Locks Oerating System: Three Easy Pieces AOS@UC 1 Locks: The Basic Idea Ensure that any critical section executes as if it were a single atomic instruction. w An examle: the canonical udate of a shared
More informationParallel Construction of Multidimensional Binary Search Trees. Ibraheem Al-furaih, Srinivas Aluru, Sanjay Goil Sanjay Ranka
Parallel Construction of Multidimensional Binary Search Trees Ibraheem Al-furaih, Srinivas Aluru, Sanjay Goil Sanjay Ranka School of CIS and School of CISE Northeast Parallel Architectures Center Syracuse
More informationCMSC 754 Computational Geometry 1
CMSC 754 Comutational Geometry 1 David M. Mount Deartment of Comuter Science University of Maryland Fall 2002 1 Coyright, David M. Mount, 2002, Det. of Comuter Science, University of Maryland, College
More informationDistributed Estimation from Relative Measurements in Sensor Networks
Distributed Estimation from Relative Measurements in Sensor Networks #Prabir Barooah and João P. Hesanha Abstract We consider the roblem of estimating vectorvalued variables from noisy relative measurements.
More informationImproving Trust Estimates in Planning Domains with Rare Failure Events
Imroving Trust Estimates in Planning Domains with Rare Failure Events Colin M. Potts and Kurt D. Krebsbach Det. of Mathematics and Comuter Science Lawrence University Aleton, Wisconsin 54911 USA {colin.m.otts,
More informationCMPE-013/L. Introduction to C Programming
CMPE-013/L Introduction to C Programming Gabriel Hugh Elkaim Winter 2015 and memory Pointer/array equivalency Pointer arithmetic and the stack and strings Arrays of ointers 1 Syntax tye *trname; How to
More informationIntroduction to Parallel Algorithms
CS 1762 Fall, 2011 1 Introduction to Parallel Algorithms Introduction to Parallel Algorithms ECE 1762 Algorithms and Data Structures Fall Semester, 2011 1 Preliminaries Since the early 1990s, there has
More information15. Address Translation
15. Address Translation Oerating System: Three Easy Pieces AOS@UC 1 Memory Virtualizing with Efficiency and Control Memory virtualizing takes a similar strategy known as limited direct execution(lde) for
More informationSource-to-Source Code Generation Based on Pattern Matching and Dynamic Programming
Source-to-Source Code Generation Based on Pattern Matching and Dynamic Programming Weimin Chen, Volker Turau TR-93-047 August, 1993 Abstract This aer introduces a new technique for source-to-source code
More informationControl plane and data plane. Computing systems now. Glacial process of innovation made worse by standards process. Computing systems once upon a time
Classical work Architecture A A A Intro to SDN A A Oerating A Secialized Packet A A Oerating Secialized Packet A A A Oerating A Secialized Packet A A Oerating A Secialized Packet Oerating Secialized Packet
More information