Flow Propagation Algorithm
|
|
- Cynthia Ray
- 6 years ago
- Views:
Transcription
1 SOMA Flow Propagation Algorithm Univ.Prof. Dr. Franz Wotawa, Birgit Hofer Institut für Softwaretechnologie {wotawa, Institute for Software Technology
2 Agenda Flow Propagation Algorithm Forward Slicing Outlook: Object Flow Graphs Assignment 4 Programming Assignment Birgit Hofer Roxane Koitz Institute for Software Technology VU Software Maintenance 2
3 Up to now: Backward slicing Motivation Computation of statements influencing the value of a variable Identification of faulty statements Now: Correction of the fault Identification of side-effectseffects Compute the statements/variables which are influenced by a statement Institute for Software Technology VU Software Maintenance 3
4 Slicing Backward Computation of statements influencing the value of a variable upwards Forward Computation of statements influenced by a statement downwards Institute for Software Technology VU Software Maintenance 4
5 How to compute forward slices? Reuse backward algorithm? Compute slice for each successor Too time consuming New approach well-known Construct CFG Flow propagation algorithm new Institute for Software Technology VU Software Maintenance 5
6 Flow Propagation Algorithm Graph g Each node n in g consists of 4 sets: in(n) out(n) gen(n) kill(n) determined by the algorithm application specific Institute for Software Technology VU Software Maintenance 6
7 Flow Propagation Algorithm Institute for Software Technology VU Software Maintenance 7
8 Example Institute for Software Technology VU Software Maintenance 8
9 FPA for forward slicing Definitions of application specific sets inslice Initial: false for all nodes slicing criterion Set inslice(n) to true for all nodes n where Set inslice(m) to true for all nodes m where Institute for Software Technology VU Software Maintenance 9
10 Example Forward slice for statement in line 3 Institute for Software Technology VU Software Maintenance 10
11 Application areas of the flow propagation algorithm Forward slicing Backward slicing Compiler optimization Improvement of class diagrams Institute for Software Technology VU Software Maintenance 11
12 Class diagram recovery Institute for Software Technology VU Software Maintenance 12
13 Problems with class diagram recovery Containers Member of type Object Association/dependency in diagram is inaccurate Mismatch between declared type and actual type of objects super classes interfaces Institute for Software Technology VU Software Maintenance 13
14 public class ToyCollection{ static BinaryTreeNode toys = new BinaryTreeNode(); public static addtoy(toy t) { BinaryTreeNode n = new BinaryTreeNode(t); toys.insert(n); } public static void main (String args[]) { Toy t = new Toy("PS2"); addtoy(t); } } class Toy implements Comparable { Object id; public Toy () { id = null; } public void name (Object name) { id = name; } } public class BinaryTreeNode{ BinaryTreeNode left,right; Comparable obj; public BinaryTreeNode(Comparable x) { obj = x; } Example Missing connection! BinaryTreeNode ToyCollection String Comparable Toy Object } Institute for Software Technology VU Software Maintenance 14
15 How can we improve the class diagram? next week Institute for Software Technology VU Software Maintenance 15
16 SOMA Assignment 4 Roxane Koitz Institute for Software Technology
17 1. begin 2. s =5; 3. r = 2 * x; 4. if((s + 1 ) >= 6 ) then 5. begin Calculate the relevant slice for 6. while( r > 10) do 7. begin the slicing criterion: 8. s = r * 2; 5 9. r = r 2; 10. end; 11. od; 12. end; 13. else 14. begin 15. s = s+1; 16. r = 2 + s; 17. end; 18. fi; end; Institute for Software Technology Relevant Slicing ( x = 5,19,{ s})
18 1. begin 2. b= a * 3; 3. k = 2/k; 4. if( k > b ) then 5. begin 6. k = 2 * b; 7. b = 3; 8. end; 9. else 10. begin 11. while( k < 5 ) do 12. begin 13. k = k + b; 14. end; 15. od; 16. end; 17. fi; 18. write(b); 19. end; Relevant Slicing Calculate the relevant slice for the slicing criterion: 7 ( a = 2, k = 2,18,{ b }) Institute for Software Technology
19 Delta Debugging Input: c = 1234abcd Function test: test(x) = iff a2 x c test(x) =, otherwise Institute for Software Technology
20 Questions? Institute for Software Technology VU Software Maintenance 20
Object Flow Graphs (Part II)
Object Flow Graphs (Part II) soma@ist.tugraz.at 1 Outline Repetition Program abstraction Graph creation Containers NEW Object sensitivity Improvement of class diagrams 2 Outline Repetition Program abstraction
More informationWe can express this in dataflow equations using gen and kill sets, where the sets are now sets of expressions.
Available expressions Suppose we want to do common-subexpression elimination; that is, given a program that computes x y more than once, can we eliminate one of the duplicate computations? To find places
More informationClass 6. Review; questions Assign (see Schedule for links) Slicing overview (cont d) Problem Set 3: due 9/8/09. Program Slicing
Class 6 Review; questions Assign (see Schedule for links) Slicing overview (cont d) Problem Set 3: due 9/8/09 1 Program Slicing 2 1 Program Slicing 1. Slicing overview 2. Types of slices, levels of slices
More informationCSCE 548 Building Secure Software Data Flow Analysis
CSCE 548 Building Secure Software Data Flow Analysis Professor Lisa Luo Spring 2018 Previous Class Why we need reverse engineering? Tools for reverse engineering Debugger Disassembler System monitoring
More informationWe can express this in dataflow equations using gen and kill sets, where the sets are now sets of expressions.
Available expressions Suppose we want to do common-subexpression elimination; that is, given a program that computes x y more than once, can we eliminate one of the duplicate computations? To find places
More informationCompiler Design. Fall Data-Flow Analysis. Sample Exercises and Solutions. Prof. Pedro C. Diniz
Compiler Design Fall 2015 Data-Flow Analysis Sample Exercises and Solutions Prof. Pedro C. Diniz USC / Information Sciences Institute 4676 Admiralty Way, Suite 1001 Marina del Rey, California 90292 pedro@isi.edu
More informationStatic Slicing. Software Maintenance
soma@ist.tugraz.at 1 Outline Basics Control flow graphs Slicing Motivation Static slicing with relevant variables table Static slicing with program dependency graphs Summary & Outline 2 Outline Basics
More informationData Flow Analysis. CSCE Lecture 9-02/15/2018
Data Flow Analysis CSCE 747 - Lecture 9-02/15/2018 Data Flow Another view - program statements compute and transform data So, look at how that data is passed through the program. Reason about data dependence
More informationProgram Optimizations using Data-Flow Analysis
Program Optimizations using Data-Flow Analysis!Last time! Lattice theoretic framework for data-flow analysis!today! Dead-code elimination! Common sub-expression elimination (CSE)! Copy propagation! Constant
More informationStatic Detection of Access Anomalies in Ada95
Static Detection of Access Anomalies in Ada95 Bernd Burgstaller, University of Sydney Johann Blieberger, Vienna University of Technology Robert Mittermayr, ARC Seibersdorf research GmbH Static Detection
More informationMIT Introduction to Dataflow Analysis. Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology
MIT 6.035 Introduction to Dataflow Analysis Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology Dataflow Analysis Used to determine properties of program that involve multiple
More informationData Flow Information. already computed
Data Flow Information Determine if Determine if a constant in loop modifies Determine if expression already computed Determine if not used later in program Data Flow Equations Local Information: Gen(B):
More informationFoundations of Dataflow Analysis
Foundations of Dataflow Analysis 15-745 Optimizing Compilers Spring 2006 Peter Lee Ingredients of a dataflow analysis direction: forward or backward flow/transfer function combining ( meet ) operator dataflow
More informationOn the Empirical Evaluation of Fault Localization Techniques for Spreadsheets
On the Empirical Evaluation of Fault Localization Techniques for Spreadsheets Birgit Hofer, Franz Wotawa, Elisabeth Getzner André Riboira, Rui Abreu 1 Spreadsheet Debugging Spreadsheet users outnumber
More informationRegister allocation. Register allocation: ffl have value in a register when used. ffl limited resources. ffl changes instruction choices
Register allocation IR instruction selection register allocation machine code errors Register allocation: have value in a register when used limited resources changes instruction choices can move loads
More informationDebugging Program Slicing
Debugging Franz Wotawa Institut für Informationssysteme, Database and Artificial Intelligence Group, Technische Universität Wien Email: wotawa@dbai.tuwien.ac.at 1 What is a Slice? A Slice is a reduced
More informationDEBUGGING: STATIC ANALYSIS
DEBUGGING: STATIC ANALYSIS WS 2017/2018 Martina Seidl Institute for Formal Models and Verification Deduction Techniques (1/2) basic idea: reasoning from abstract program to concrete program runs (program
More informationObject Oriented Programming. Week 7 Part 1 Exceptions
Object Oriented Programming Week 7 Part 1 Exceptions Lecture Overview of Exception How exceptions solve unexpected occurrences Catching exceptions Week 7 2 Exceptions Overview Week 7 3 Unexpected Occurances
More informationSample Questions for Midterm Exam 2
Sample Questions for Midterm Exam 2 The following are meant to give you some examples of questions that might be asked on the second midterm exam. The sample exam questions do not represent the length
More informationCS553 Lecture Generalizing Data-flow Analysis 3
Generalizing Data-flow Analysis Announcements Project 2 writeup is available Read Stephenson paper Last Time Control-flow analysis Today C-Breeze Introduction Other types of data-flow analysis Reaching
More informationCOE318 Lecture Notes Week 10 (Nov 7, 2011)
COE318 Software Systems Lecture Notes: Week 10 1 of 5 COE318 Lecture Notes Week 10 (Nov 7, 2011) Topics More about exceptions References Head First Java: Chapter 11 (Risky Behavior) The Java Tutorial:
More informationKU Compilerbau - Programming Assignment
716.077 KU Compilerbau - Programming Assignment Dr. Birgit Hofer, Univ.-Prof. Dr. Franz Wotawa Institute for Software Technology, Graz University of Technology March 11, 2014 Introduction During this semester
More informationCS 2230 CS II: Data structures. Meeting 21: trees Brandon Myers University of Iowa
CS 2230 CS II: Data structures Meeting 21: trees Brandon Myers University of Iowa Today s learning objectives Define tree (a data structure that can store data hierarchically) and describe trees in terms
More informationCompiler Construction. (1 Design practical)
S C I E N C E n P A S S I O N n T E C H N O L O G Y (1 ) 716.077 SS 2017 Univ.-Prof. Dr. Franz Wotawa, DI Roxane Koitz Martin Zimmermann, Christopher Liebmann, Stephan Frühwirt Institute for Software Technology
More informationdata_type variable_name = value; Here value is optional because in java, you can declare the variable first and then later assign the value to it.
Introduction to JAVA JAVA is a programming language which is used in Android App Development. It is class based and object oriented programming whose syntax is influenced by C++. The primary goals of JAVA
More informationYou have seen abstractions in many places, lets consider them from the ground up.
CS1706 Intro to Object Oriented Dev II - Fall 04 Announcements Week 10 Project 2 due 11/01 Material Interfaces Anonymous classes Lets see abstractions... You have seen abstractions in many places, lets
More informationLocating Faults Through Automated Predicate Switching
Locating Faults Through Automated Predicate Switching Authored by Xiangyu Zhang, Neelam Gupta, Rajiv Gupta The University of Arizona ICSE 2006 Presented by Jing Pu Authors 1 Neelam Gupta The University
More informationVU. Software-Maintenance. Lecture Notes. Prof. Dr. Franz Wotawa Dipl.-Ing. Dipl.-Ing. Roxane Koitz Dr. Birgit Hofer
716.064 VU Software-Maintenance Lecture Notes Prof. Dr. Franz Wotawa Dipl.-Ing. Dipl.-Ing. Roxane Koitz Dr. Birgit Hofer WS 2016/17 October 31, 2016 Institut für Softwaretechnologie, Inffeldgasse 16b/2,
More informationWhy does my spreadsheet compute wrong values?
S C I E N C E P A S S I O N T E C H N O L O G Y Why does my spreadsheet compute wrong values? Birgit Hofer, and Franz Wotawa Graz University of Technology, Austria 25th 1 IEEE Int. Symposium on Software
More informationCIS 341 Final Examination 4 May 2017
CIS 341 Final Examination 4 May 2017 1 /14 2 /15 3 /12 4 /14 5 /34 6 /21 7 /10 Total /120 Do not begin the exam until you are told to do so. You have 120 minutes to complete the exam. There are 14 pages
More informationcontrol edge synchronization edge MGOTO COEND
and Optimization of Explicitly Analysis Programs using the Parallel Parallel Program Graph Representation Vivek Sarkar MIT Laboratory for Computer Science (vivek@lcs.mit.edu) 1 Motivation Current sequence
More informationSlicing. Rupesh Nasre. CS6843 Program Analysis IIT Madras Jan 2016
Slicing Rupesh Nasre. CS6843 Program Analysis IIT Madras Jan 2016 Outline Introduction and applications Application time static dynamic Direction forward backward 2 Definition A slice is a subset of program
More informationTrees Chapter 19, 20. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013
Trees Chapter 19, 20 Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 2 Scope Trees: Trees as data structures Tree terminology Tree implementations Analyzing tree efficiency Tree traversals
More informationData Flow Analysis. Suman Jana. Adopted From U Penn CIS 570: Modern Programming Language Implementa=on (Autumn 2006)
Data Flow Analysis Suman Jana Adopted From U Penn CIS 570: Modern Programming Language Implementa=on (Autumn 2006) Data flow analysis Derives informa=on about the dynamic behavior of a program by only
More informationModel-based Software Debugging
S C I E N C E P A S S I O N T E C H N O L O G Y Birgit Hofer Institute for Software Technology 1 u www.tugraz.at 2 Visualization Design & Maintenance Support Static Analysis Modeling Spreadsheet Quality
More informationPractice Questions for Chapter 9
Practice Questions for Chapter 9 MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) An object is an instance of a. 1) A) program B) method C) class
More informationRules and syntax for inheritance. The boring stuff
Rules and syntax for inheritance The boring stuff The compiler adds a call to super() Unless you explicitly call the constructor of the superclass, using super(), the compiler will add such a call for
More informationConditioned Slicing. David Jong-hoon An. May 23, Abstract
Conditioned Slicing David Jong-hoon An May 23, 2007 Abstract Program debugging is often a tedious and difficult process that requires programmers to inspect complicated code to understand and analyze the
More informationData-flow Analysis. Y.N. Srikant. Department of Computer Science and Automation Indian Institute of Science Bangalore
Department of Computer Science and Automation Indian Institute of Science Bangalore 560 012 NPTEL Course on Compiler Design Data-flow analysis These are techniques that derive information about the flow
More informationKU Compilerbau - Programming Assignment
716.077 KU Compilerbau - Programming Assignment Univ.-Prof. Dr. Franz Wotawa, Birgit Hofer Institute for Software Technology, Graz University of Technology April 20, 2011 Introduction During this semester
More informationModel-based Software Debugging. Part III
S C I E N C E P A S S I O N T E C H N O L O G Y Part III Birgit Hofer Institute for Software Technology 60 u www.tugraz.at Outline Model-based debugging for Spreadsheets o Dependency-based models Model-based
More informationCLASS DESIGN. Objectives MODULE 4
MODULE 4 CLASS DESIGN Objectives > After completing this lesson, you should be able to do the following: Use access levels: private, protected, default, and public. Override methods Overload constructors
More informationUsing LNT Formal Descriptions for Model-Based Diagnosis
Using LNT Formal Descriptions for Model-Based Diagnosis Birgit Hofer 1, Radu Mateescu 2, Wendelin Serwe 2, and Franz Wotawa 1 1 TU Graz, Institute for Software Technology 2 Univ. Grenoble Alpes, Inria,
More informationReplaying and Isolating Failing Multi-Object Interactions. Martin Burger Andreas Zeller Saarland University
Replaying and Isolating Failing Multi-Object Interactions Martin Burger Andreas Zeller Saarland University e-mail client written in Java 100,200 LOC ~ 1,600 Java classes 17 developers Actively developed
More informationa. The following method would allow an object of the static type List<String> to be passed to it as an argument.
On the final exam you will be provided UML diagrams for design patterns (as in the midterm) and also JavaDoc description of methods in the Reflection API. 1. True/False (if false, explain why) a. The following
More informationProgram development plan
Appendix A Program development plan If you are spending a lot of time debugging, it is probably because you do not have an effective program development plan. A typical, bad program development plan goes
More informationFault, Error, and Failure
Fault, Error, and Failure Testing, Quality Assurance, and Maintenance Winter 2018 Prof. Arie Gurfinkel based on slides by Prof. Lin Tan and others Terminology, IEEE 610.12-1990 Fault -- often referred
More informationC++ Crash Kurs. Exceptions. Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck
C++ Crash Kurs Exceptions Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer C++ Exceptions: Introduction What are exceptions Exceptions are
More informationJava Basics. Object Orientated Programming in Java. Benjamin Kenwright
Java Basics Object Orientated Programming in Java Benjamin Kenwright Outline Essential Java Concepts Syntax, Grammar, Formatting, Introduce Object-Orientated Concepts Encapsulation, Abstract Data, OO Languages,
More informationPOLYMORPHISM 2 PART. Shared Interface. Discussions. Abstract Base Classes. Abstract Base Classes and Pure Virtual Methods EXAMPLE
Abstract Base Classes POLYMORPHISM 2 PART Abstract Classes Static and Dynamic Casting Common Programming Errors class B { // base class virtual void m( ) =0; // pure virtual function class D1 : public
More informationPOLYMORPHISM 2 PART Abstract Classes Static and Dynamic Casting Common Programming Errors
POLYMORPHISM 2 PART Abstract Classes Static and Dynamic Casting Common Programming Errors CSC 330 OO Software Design 1 Abstract Base Classes class B { // base class virtual void m( ) =0; // pure virtual
More informationData-flow Analysis - Part 2
- Part 2 Department of Computer Science Indian Institute of Science Bangalore 560 012 NPTEL Course on Compiler Design Data-flow analysis These are techniques that derive information about the flow of data
More informationCS/ENGRD 2110 SPRING Lecture 5: Local vars; Inside-out rule; constructors
1 CS/ENGRD 2110 SPRING 2017 Lecture 5: Local vars; Inside-out rule; constructors http://courses.cs.cornell.edu/cs2110 Announcements 2 1. Writing tests to check that the code works when the precondition
More informationPASS4TEST IT 인증시험덤프전문사이트
PASS4TEST IT 인증시험덤프전문사이트 http://www.pass4test.net 일년동안무료업데이트 Exam : 1z0-809 Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z0-809 Exam's Question and Answers 1 from
More informationOOSE2 Vererbung und Polymorphie mit BlueJ
OOSE2 Vererbung und Polymorphie mit BlueJ Lehrstuhl Softwaretechnologie, Dr. Birgit Demuth Sommersemester 2016 Erweiterung von HelloLibrary (U02) SS 2016 OOSE 2 2 BlueJ SS 2016 OOSE 2 3 HelloLibrary (U02):
More information(A) 99 ** (B) 100 (C) 101 (D) 100 initial integers plus any additional integers required during program execution
Ch 5 Arrays Multiple Choice Test 01. An array is a ** (A) data structure with one, or more, elements of the same type. (B) data structure with LIFO access. (C) data structure, which allows transfer between
More informationPlan for Today. Concepts. Next Time. Some slides are from Calvin Lin s grad compiler slides. CS553 Lecture 2 Optimizations and LLVM 1
Plan for Today Quiz 2 How to automate the process of performance optimization LLVM: Intro to Intermediate Representation Loops as iteration spaces Data-flow Analysis Intro Control-flow graph terminology
More informationCSE 401/M501 Compilers
CSE 401/M501 Compilers Code Shape II Objects & Classes Hal Perkins Autumn 2018 UW CSE 401/M501 Autumn 2018 L-1 Administrivia Semantics/type check due next Thur. 11/15 How s it going? Reminder: if you want
More informationProgram Analysis. Readings
Program Analysis Class #2 Readings he Program Dependence Graph and Its Use in Optimization Program slicing A Survey of Program Slicing echniques Dragon book Program Analysis Data-low Analysis (wrap up)
More informationString Instructions In C Program Examples >>>CLICK HERE<<<
String Instructions In C Program Examples Reverse The Given Reverse of a string is the string starting from last. Here is program to print the reverse of a string. Example: Input: Hello Output: olleh.
More informationCSE115 Introduction to Computer Science I Coding Exercise #7 Retrospective Fall 2017
This week the main activity was a quiz activity, with a structure similar to our Friday lecture activities. The retrospective for the quiz is in Quiz-07- retrospective.pdf This retrospective explores the
More informationStatic Slicing of Threaded Programs
Static Slicing of Threaded Programs Jens Krinke krinke@ips.cs.tu-bs.de TU Braunschweig Abteilung Softwaretechnologie Abstract Static program slicing is an established method for analyzing sequential programs,
More informationRelation Overriding. Syntax and Semantics. Simple Semantic Domains. Operational Semantics
SE3E03, 2006 1.59 61 Syntax and Semantics Syntax Shape of PL constructs What are the tokens of the language? Lexical syntax, word level How are programs built from tokens? Mostly use Context-Free Grammars
More informationSelected Questions from by Nageshwara Rao
Selected Questions from http://way2java.com by Nageshwara Rao Swaminathan J Amrita University swaminathanj@am.amrita.edu November 24, 2016 Swaminathan J (Amrita University) way2java.com (Nageshwara Rao)
More informationAssignment 6. Methods Homework Spring 2017 P Question 1 all
Assignment 6. Methods Homework Spring 2017 P. 225-234 Question 1 all True since the parameters are different b. True since the parameters are different c. False since the return type is different but the
More informationIntroduction to Computer Science II (CSI 1101)
Introduction to Computer Science II (CSI 1101) Professor: M. Turcotte February 2002, duration: 75 minutes Identification Student name: last name: Section: Student number: initials: Signature: Instructions
More information2018/2/5 话费券企业客户接入文档 语雀
1 2 2 1 2 1 1 138999999999 2 1 2 https:lark.alipay.com/kaidi.hwf/hsz6gg/ppesyh#2.4-%e4%bc%81%e4%b8%9a%e5%ae%a2%e6%88%b7%e6%8e%a5%e6%94%b6%e5%85%85%e5 1/8 2 1 3 static IAcsClient client = null; public static
More informationTechniques for Debugging Model-Transformation Failures
IBM Research - India Techniques for Debugging Model-Transformation Failures Saurabh Sinha Pankaj Dhoolia, Senthil Mani, Vibha Sinha, Mangala Gowri Model Transformation A transform is an application that
More informationCS577 Modern Language Processors. Spring 2018 Lecture Optimization
CS577 Modern Language Processors Spring 2018 Lecture Optimization 1 GENERATING BETTER CODE What does a conventional compiler do to improve quality of generated code? Eliminate redundant computation Move
More informationResearch Article Combining Slicing and Constraint Solving for Better Debugging: The Conbas Approach
Advances in Software Engineering Volume 2012, Article ID 628571, 18 pages doi:10.1155/2012/628571 Research Article Combining Slicing and Constraint Solving for Better Debugging: The Conbas Approach Birgit
More informationStatic Slicing of Binary Executables with DynInst
Static Slicing of Binary Executables with DynInst Tuğrul İnce Slicing int method=set; int number = 0; int x = 1, y = 2; if(method == SET) { number = 42; printf( Just set the number to 42 ); } else { x
More informationCompiler Optimisation
Compiler Optimisation 4 Dataflow Analysis Hugh Leather IF 1.18a hleather@inf.ed.ac.uk Institute for Computing Systems Architecture School of Informatics University of Edinburgh 2018 Introduction This lecture:
More informationCMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Java Support for OOP Department of Computer Science University of Maryland, College Park Object Oriented Programming (OOP) OO Principles Abstraction Encapsulation
More informationMid-Term 2 Grades
Mid-Term 2 Grades 100 46 1 HW 9 Homework 9, in untyped class interpreter: Add instanceof Restrict field access to local class Implement overloading (based on argument count) Due date is the same as for
More informationChapter 1 Lab Algorithms, Errors, and Testing
Chapter 1 Lab Algorithms, Errors, and Testing Lab Objectives Be able to write an algorithm Be able to compile a Java program Be able to execute a Java program using the Sun JDK or a Java IDE Be able to
More informationAnnouncement. Agenda 7/31/2008. Polymorphism, Dynamic Binding and Interface. The class will continue on Tuesday, 12 th August
Polymorphism, Dynamic Binding and Interface 2 4 pm Thursday 7/31/2008 @JD2211 1 Announcement Next week is off The class will continue on Tuesday, 12 th August 2 Agenda Review Inheritance Abstract Array
More informationLecture 6 Foundations of Data Flow Analysis
Review: Reaching Definitions Lecture 6 Foundations of Data Flow Analysis I. Meet operator II. Transfer functions III. Correctness, Precision, Convergence IV. Efficiency [ALSU 9.3] Phillip B. Gibbons 15-745:
More informationCompiler Optimizations. Chapter 8, Section 8.5 Chapter 9, Section 9.1.7
Compiler Optimizations Chapter 8, Section 8.5 Chapter 9, Section 9.1.7 2 Local vs. Global Optimizations Local: inside a single basic block Simple forms of common subexpression elimination, dead code elimination,
More informationContext-sensitive Analysis
Context-sensitive Analysis Beyond Syntax There is a level of correctness that is deeper than grammar fie(a,b,c,d) int a, b, c, d; { } fee() { int f[3],g[0], h, i, j, k; char *p; fie(h,i, ab,j, k); k =
More information1. A Remote Proxy helps to hide all the low-level details of exception handling from the proxy Client.
UML diagrams for the design patterns mentioned in the exam are provided at the end of the exam. For some questions the details of the diagram structure will be useful. For other questions, the details
More informationFollowing is the general form of a typical decision making structure found in most of the programming languages:
Decision Making Decision making structures have one or more conditions to be evaluated or tested by the program, along with a statement or statements that are to be executed if the condition is determined
More informationWhy Data Flow Models? Dependence and Data Flow Models. Learning objectives. Def-Use Pairs (1) Models from Chapter 5 emphasized control
Why Data Flow Models? Dependence and Data Flow Models Models from Chapter 5 emphasized control Control flow graph, call graph, finite state machines We also need to reason about dependence Where does this
More informationCompiler Optimizations. Chapter 8, Section 8.5 Chapter 9, Section 9.1.7
Compiler Optimizations Chapter 8, Section 8.5 Chapter 9, Section 9.1.7 2 Local vs. Global Optimizations Local: inside a single basic block Simple forms of common subexpression elimination, dead code elimination,
More informationSSA Based Mobile Code: Construction and Empirical Evaluation
SSA Based Mobile Code: Construction and Empirical Evaluation Wolfram Amme Friedrich Schiller University Jena, Germany Michael Franz Universit of California, Irvine, USA Jeffery von Ronne Universtity of
More informationCS 6371: Advanced Programming Languages
CS 6371: Advanced Programming Languages Dr. Kevin Hamlen Spring 2017 Fill out, sign, and return prereq forms: Course number: CS 6371 Section: 1 Prerequisites: CS 5343: Algorithm Analysis & Data Structures
More informationMultistage Interconnection Networks for Data Centers
Multistage Interconnection Networks for Data Centers Bidirectional Fat Tree Construction and Routing for IEEE 8.au Cyriel Minkenberg & Mitch Gusat IBM Research GmbH, Zurich The origin of the term fat tree
More informationSupplementary Test 1
Name: Please fill in your Student Number and Name. Student Number : Student Number: University of Cape Town ~ Department of Computer Science Computer Science 1015F ~ 2009 Supplementary Test 1 Question
More informationDefinition of DJ (Diminished Java)
Definition of DJ (Diminished Java) version 0.5 Jay Ligatti 1 Introduction DJ is a small programming language similar to Java. DJ has been designed to try to satisfy two opposing goals: 1. DJ is a complete
More informationGlobal Optimization. Lecture Outline. Global flow analysis. Global constant propagation. Liveness analysis. Local Optimization. Global Optimization
Lecture Outline Global Optimization Global flow analysis Global constant propagation Liveness analysis Compiler Design I (2011) 2 Local Optimization Recall the simple basic-block optimizations Constant
More informationDependence and Data Flow Models. (c) 2007 Mauro Pezzè & Michal Young Ch 6, slide 1
Dependence and Data Flow Models (c) 2007 Mauro Pezzè & Michal Young Ch 6, slide 1 Why Data Flow Models? Models from Chapter 5 emphasized control Control flow graph, call graph, finite state machines We
More informationSubject Software Testing Structural Testing
Subject Software Testing Structural Testing Objective: 1. Understand Concept of structural testing 2. How structural (code-based or glass-box) testing complements functional (black-box) testing 3. Recognize
More informationOutline. More optimizations for our interpreter. Types for objects
Outline More optimizations for our interpreter Types for objects Optimization Eliminate tree walks: object creation, method calls fish initialize get_ grow eat colorfish color set_color get_color pickyfish
More informationPESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Electronics and Communication
USN 1 P E PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -0 Department of Electronics and Communication INTERNAL ASSESSMENT TEST 2 Date : 4//2017 Marks: 50 Subject & Code
More informationCS110D: PROGRAMMING LANGUAGE I
CS110D: PROGRAMMING LANGUAGE I Computer Science department Lecture 7&8: Methods Lecture Contents What is a method? Static methods Declaring and using methods Parameters Scope of declaration Overloading
More informationC++_ MARKS 40 MIN
C++_16.9.2018 40 MARKS 40 MIN https://tinyurl.com/ya62ayzs 1) Declaration of a pointer more than once may cause A. Error B. Abort C. Trap D. Null 2Whice is not a correct variable type in C++? A. float
More informationAdvance programming and C++
Advance programming and C++ Subject 11: Defensive Programming Dr. Miri Ben-Nissan (Kopel) 2018 2 Defensive Programming I have a lot of bugs, He has few bugs Why? 3 Defensive Programming (Cont ) I have
More informationCS 139 Practice Midterm Questions #2
CS 139 Practice Midterm Questions #2 Spring 2016 Name: 1. Write Java statements to accomplish each of the following. (a) Declares numbers to be an array of int s. (b) Initializes numbers to contain a reference
More informationRepe$$on CSC 121 Fall 2015 Howard Rosenthal
Repe$$on CSC 121 Fall 2015 Howard Rosenthal Lesson Goals Learn the following three repetition methods, their similarities and differences, and how to avoid common errors when using them: while do-while
More informationThe class Object. Lecture CS1122 Summer 2008
The class Object http://www.javaworld.com/javaworld/jw-01-1999/jw-01-object.html Lecture 10 -- CS1122 Summer 2008 Review Object is at the top of every hierarchy. Every class in Java has an IS-A relationship
More informationFINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 ( Marks: 1 ) - Please choose one The data of the problem is of 2GB and the hard
FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 The data of the problem is of 2GB and the hard disk is of 1GB capacity, to solve this problem we should Use better data structures
More information