Mini Project Report One
|
|
- Morgan Clifton Sharp
- 5 years ago
- Views:
Transcription
1 Mini Project Report One Christoph Csallner September 29, 2003 This project has been sponsored by Professor Dr. Mary Jean Harrold and Dr. Saurabh Sinha of the Aristotle Research Group at Georgia Tech. 1 Introduction The Java Architecture for Bytecode Analysis (JABA) of the Aristotle Research Group at Georgia Tech provides static analysis of Java programs. Besides others, JABA uses algorithms that determine inter-procedural control flow caused by exceptions [3]. This means that JABA determines for each throw statement of the program the methods visited on the way to the finally statement or catch statement deactivating the thrown exception. Note that for a given pair of throw catch statements there may be multiple control flow paths through a program. This Mini Project provides a general mechanism to visualize such interprocedural control flow information, for example provided by JABA s static analysis. The mechanism is general in the sense that also other data sources like the result of a dynamic analysis could be used. 2 Motivation Let s assume that most Java programmers, testers, and maintainers do not leverage static or dynamic analysis tools to explore inter-procedural control flow caused by exceptions. These people use their integrated development environment to understand this control flow. First, they might statically analyze their source code by browsing it, searching for corresponding throw and catch constructs. Second, they might also dynamically analyze their source code by watching a debugger execute it. Related to this, one can csallner@cc.gatech.edu 1
2 always analyze a program s stack trace in case program execution is terminated by an uncaught exception. Static analysis tools like JABA can automatically discover inter-procedural control flow caused by exceptions. Yet to become useful for a Java programmer, tester, or maintainer, the result of such an analysis should be presented compactly to the user. For example a textual representation of inter-procedural control flow in the form of method a of class b throws exceptions of type e to be caught by method y of class z could produce many pages of text. A visualization system could support a user to understand inter-procedural control flow. Walker et al. have presented a system to visualize inter-procedural control flow information gathered through dynamic analysis [4]. They have also presented an algorithm to abstract from paths between low level code entities to higher level architectural entities. In contrast to our visualization mechanism though they do not take advantage of a space-filling visualization technique like a treemap and therefore waste screen real estate. Screen real estate is a scarce resource when visualizing programs of growing size. Looking at other domains of information visualization, we are not aware of any visualization system that combines a space filling visualization technique with graph visualization. While scarce screen real estate motivates a space filling technique, we need graph visualization to map control flow information to screen. The goal of this mini-project is to develop a mechanism for visualizing a program s inter-procedural control flow information. This mechanism should be general so that it can later be used in specialized tools to support programmers, testers, and maintainers. 3 Plan Gammatella has been developed by the Aristotle Research Group at Georgia Tech [1]. Besides others, it uses a treemap to visualize Java programs. Figure 1 shows an example treemap. A treemap is a space-filling visualization technique [2]. It recursively maps a tree data structure to screen. The root node is mapped to the entire space to be filled. Child nodes are then placed inside their parent node, completely filling its space. In Gammatella, the treemap s root node represents the Java program s root package. A direct child node is either a direct Java sub-package or a Java class in that package. Each Java class is a leaf node of the treemap tree. 2
3 Figure 1: Program visualization with Gammatella using a treemap. The visualized program fragment resides in package jaba. It consists of two subpackages jaba.sym and jaba.main. Package jaba.sym is expanded to show its classes, for example jaba.sym.method. Our project plan consists of the following steps. First, play with Gammatella to find out how it visualizes a Java program. Second, parse the inter-procedural control flow information produced by JABA. Third, extend Gammatella from the Java class level to the methods of a class. Then each method will be a leaf node of Gammatella s treemap tree. Fourth, implement a prototype mechanism of displaying the exception control flow as a graph on top of the treemap. 4 Results We have both extended Gammatella to the method level and implemented a general mechanism for drawing a graph on top of Gammatella s treemap. Figure 2 gives an example, in which exception propagation paths between one pair of throw and catch blocks is drawn on top of a program visualization. 5 Discussion Due to the early stage of development it remains unclear how useful the implemented mechanism will be in practice. To answer this question one needs to evaluate alternative interaction techniques based on our mechanism. 3
4 Figure 2: Extended Gammatella visualizing three example exception paths. All paths originate at a throw statement in method jaba.sym.namedreferencetype.getallfields() and end in method jaba.sym.class.getdirectsubclasses(). 4
5 One such interaction technique would be to let the user select a method of interest. Then the system draws the paths of all throw and catch statements in this method using different colors for different throw catch pairs. The user could then select one of them based on the perceived complexity. A second approach would present the user a list of throw catch pairs originating in the user-selected method. Then the system would draw only the paths of the selected throw catch pair. Note that our method of drawing graphs between treemap nodes is not restricted to the domain of software visualization. It generally applies to hierarchical data, which has an additional relation. This additional relation can be mapped to a graph on top of the hierarchical treemap visualization. The following lists example domains that could benefit from our mechanism. First, one could map an organizational hierarchy to a treemap and draw workflow relations as graphs on top of the treemap. Second, one could visualize web pages with a treemap and draw the hyperlinks as a graph structure on top of the treemap. 6 Conclusion and Future Work In this mini project we have first extended the Gammatella program visualization treemap to the method level. Then we have implemented a general mechanism for drawing a graph on top of Gammatella s treemap. This mechanism can be used in a future version of Gammatella to assist software programmers, testers, and maintainers. The mechanism could also benefit other domains that visualize hierarchical data plus another relation between this data. Future work includes first, the development of tools in Gammatella to support software programmers, testers, and maintainers using our mechanism. Second, different user interaction approaches using the mechanism may be compared. Finally, transferring our mechanism to other information visualization domains may be explored. References [1] Orso, A., J. Jones, and M.J. Harrold Visualization of Program- Execution Data for Deployed Software. In Proceedings of the ACM Symposium on Software Visualization, to appear. 5
6 [2] Shneiderman, B Tree visualization with tree-maps: A 2-D spacefilling approach. ACM Transactions on Graphics 11(1): [3] Sinha, S. and M.J. Harrold Analysis and testing of programs with exception-handling constructs. IEEE Transactions on Software Engineering 26(9): [4] Walker, R.J., G.C. Murphy, B. Freeman-Benson, D. Wright, D. Swanson, and J. Isaak Visualizing dynamic software system information through high-level models. ACM SIGPLAN Notices 33(10):
Automated Support for Development, Maintenance, and Testing in the Presence of Implicit Control Flow
Automated Support for Development, Maintenance, and Testing in the Presence of Implicit Control Flow Saurabh Sinha, Alessandro Orso, and Mary Jean Harrold College of Computing Georgia Institute of Technology
More informationGammatella: Visualizing Program-Execution Data for Deployed Software
Gammatella: Visualizing Program-Execution Data for Deployed Software James A. Jones, Alessandro Orso, and Mary Jean Harrold College of Computing Georgia Institute of Technology {jjones,orso,harrold}@cc.gatech.edu
More informationA New Mutation Analysis Method for Testing Java Exception Handling
A New Mutation Analysis Method for Testing Java Exception Handling Authors Affiliations Emails Abstract Java exception mechanism can effectively free a program from abnormal exits and help developers locate
More informationA Differencing Algorithm for Object-Oriented Programs
A Differencing Algorithm for Object-Oriented Programs Taweesup Apiwattanapong, Alessandro Orso, and Mary Jean Harrold Georgia Institute of Technology Atlanta, Georgia {term orso harrold@cc.gatech.edu ABSTRACT
More informationVisualization of Exception Handling Constructs to Support Program Understanding
Visualization of Exception Handling Constructs to Support Program Understanding Hina Shah Carsten Görg and Mary Jean Harrold Supported by NSF under CCR-0205422, CCF-0429117, CCF-0541049, and CCF-0725202,
More informationA Differencing Algorithm for Object-Oriented Programs
A Differencing Algorithm for Object-Oriented Programs Taweesup Apiwattanapong, Alessandro Orso, and Mary Jean Harrold Georgia Institute of Technology Atlanta, Georgia E-mail: {term orso harrold@cc.gatech.edu
More informationVisualization of Exception Handling Constructs to Support Program Understanding
TECH REPORT 2009 1 Visualization of Exception Handling Constructs to Support Program Understanding Hina Shah, Carsten Görg, and Mary Jean Harrold Abstract This paper presents a new visualization technique
More informationSoftware Visualization. Presented by Sam Davis
Software Visualization Presented by Sam Davis 2 3 More than Just UML! UML is about static structure of software In terms of abstractions like Procedures Objects Files Packages But 4 Software is Dynamic!
More informationECE 122. Engineering Problem Solving with Java
ECE 122 Engineering Problem Solving with Java Lecture 24 Exceptions Overview Problem: Can we detect run-time errors and take corrective action? Try-catch Test for a variety of different program situations
More informationAdvanced Flow of Control -- Introduction
Advanced Flow of Control -- Introduction Two additional mechanisms for controlling process execution are exceptions and threads Chapter 14 focuses on: exception processing catching and handling exceptions
More informationDefinitions A A tree is an abstract t data type. Topic 17. "A tree may grow a. its leaves will return to its roots." Properties of Trees
Topic 17 Introduction ti to Trees "A tree may grow a thousand feet tall, but its leaves will return to its roots." -Chinese Proverb Definitions A A tree is an abstract t data t d internal type nodes one
More informationExceptions (part 2) An exception is an object that describes an unusual or erroneous situation. Quick Review of Last Lecture.
(part 2) December 3, 2007 Quick Review of Last Lecture ComS 207: Programming I (in Java) Iowa State University, FALL 2007 Instructor: Alexander Stoytchev An exception is an object that describes an unusual
More informationCourtesy of Prof. Shixia University
Courtesy of Prof. Shixia Liu @Tsinghua University Introduction Node-Link diagrams Space-Filling representation Hybrid methods Hierarchies often represented as trees Directed, acyclic graph Two main representation
More informationModule 6: Binary Trees
Module : Binary Trees Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 327 E-mail: natarajan.meghanathan@jsums.edu Tree All the data structures we have seen
More informationLe L c e t c ur u e e 5 To T p o i p c i s c t o o b e b e co c v o e v r e ed e Exception Handling
Course Name: Advanced Java Lecture 5 Topics to be covered Exception Handling Exception HandlingHandlingIntroduction An exception is an abnormal condition that arises in a code sequence at run time A Java
More informationBST Implementation. Data Structures. Lecture 4 Binary search trees (BST) Dr. Mahmoud Attia Sakr University of Ain Shams
Lecture 4 Binary search trees (BST) Dr. Mahmoud Attia Sakr mahmoud.sakr@cis.asu.edu.eg Cairo, Egypt, October 2012 Binary Search Trees (BST) 1. Hierarchical data structure with a single reference to root
More informationCapturing JUnit Behavior into Static Programs
Degree Project Capturing JUnit Behavior into Static Programs Asher Siddiqui 2010-05-11 Subject: Computer Science Level: Master Course code: DA4004 Abstract In this research paper, it evaluates the benefits
More informationTopic 18 Binary Trees "A tree may grow a thousand feet tall, but its leaves will return to its roots." -Chinese Proverb
Topic 18 "A tree may grow a thousand feet tall, but its leaves will return to its roots." -Chinese Proverb Definitions A tree is an abstract data type one entry point, the root Each node is either a leaf
More informationVisualization of Exception Propagation for Java using Static Analysis
Visualization of Exception Propagation for Java using Static Analysis Byeong-Mo Chang Department of Computer Science Sookmyung Women s University Seoul 140-742, Korea chang@sookmyung.ac.kr Soon Hee Her
More informationEdge Equalized Treemaps
Edge Equalized Treemaps Aimi Kobayashi Department of Computer Science University of Tsukuba Ibaraki, Japan kobayashi@iplab.cs.tsukuba.ac.jp Kazuo Misue Faculty of Engineering, Information and Systems University
More informationTecniche di Progettazione: Design Patterns
Tecniche di Progettazione: Design Patterns GoF: Composite 1 Composite pattern Intent Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects
More informationCMSC131. Exceptions and Exception Handling. When things go "wrong" in a program, what should happen.
CMSC131 Exceptions and Exception Handling When things go "wrong" in a program, what should happen. Go forward as if nothing is wrong? Try to handle what's going wrong? Pretend nothing bad happened? Crash
More informationVisualization of Software Metrics using Computer Graphics Techniques
Visualization of Software Metrics using Computer Graphics Techniques Danny Holten Roel Vliegen Jarke J. van Wijk Technische Universiteit Eindhoven, Department of Mathematics and Computer Science, P.O.
More informationConstructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow
Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow Jang-Wu Jo 1 and Byeong-Mo Chang 2 1 Department of Computer Engineering Pusan University of Foreign Studies Pusan
More informationTesting Exceptions with Enforcer
Testing Exceptions with Enforcer Cyrille Artho February 23, 2010 National Institute of Advanced Industrial Science and Technology (AIST), Research Center for Information Security (RCIS) Abstract Java library
More informationObject Oriented Programming
Object Oriented Programming Java lecture (10.2) Exception Handling 1 Outline Throw Throws Finally 2 Throw we have only been catching exceptions that are thrown by the Java run-time system. However, it
More informationTree Structures. A hierarchical data structure whose point of entry is the root node
Binary Trees 1 Tree Structures A tree is A hierarchical data structure whose point of entry is the root node This structure can be partitioned into disjoint subsets These subsets are themselves trees and
More informationVisualisations of Execution Traces (VET): An Interactive Plugin-Based Visualisation Tool
Visualisations of Execution Traces (VET): An Interactive Plugin-Based Visualisation Tool Mike McGavin Tim Wright Stuart Marshall School of Mathematics, Statistics and Computer Science Victoria University
More informationCnC: Check n Crash. Combining static checking and testing. Christoph Csallner and Yannis Smaragdakis
27th International Conference on Software Engineering, 20 May 2005 CnC: Check n Crash Combining static checking and testing Christoph Csallner and Yannis Smaragdakis Georgia Institute of Technology College
More informationData Mining. Dr. Raed Ibraheem Hamed. University of Human Development, College of Science and Technology Department of Computer Science
Data Mining Dr. Raed Ibraheem Hamed University of Human Development, College of Science and Technology Department of Computer Science 06 07 Department of CS - DM - UHD Road map Cluster Analysis: Basic
More informationIntroduction to Object-Oriented Programming
Introduction to Object-Oriented Programming Review 2: Object-Oriented Programming Christopher Simpkins chris.simpkins@gatech.edu CS 1331 (Georgia Tech) Review 2: Object-Oriented Programming 1 / 14 Topics
More informationHierarchies and Trees 1 (Node-link) CS Information Visualization November 12, 2012 John Stasko
Topic Notes Hierarchies and Trees 1 (Node-link) CS 7450 - Information Visualization November 12, 2012 John Stasko Hierarchies Definition Data repository in which cases are related to subcases Can be thought
More informationDesign Pattern: Composite
Design Pattern: Composite Intent Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. Motivation
More informationCpt S 122 Data Structures. Course Review Midterm Exam # 2
Cpt S 122 Data Structures Course Review Midterm Exam # 2 Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Midterm Exam 2 When: Monday (11/05) 12:10 pm -1pm
More informationLecture Notes 16 - Trees CSS 501 Data Structures and Object-Oriented Programming Professor Clark F. Olson
Lecture Notes 16 - Trees CSS 501 Data Structures and Object-Oriented Programming Professor Clark F. Olson Reading: Carrano, Chapter 15 Introduction to trees The data structures we have seen so far to implement
More informationRipple Presentation for Tree Structures with Historical Information
Ripple Presentation for Tree Structures with Historical Information Masaki Ishihara Kazuo Misue Jiro Tanaka Department of Computer Science, University of Tsukuba 1-1-1 Tennoudai, Tsukuba, Ibaraki, 305-8573,
More informationProgram Correctness and Efficiency. Chapter 2
Program Correctness and Efficiency Chapter 2 Chapter Objectives To understand the differences between the three categories of program errors To understand the effect of an uncaught exception and why you
More informationDynamic Information Visualization Using 3D Metaphoric Worlds
Dynamic Information Visualization Using 3D Metaphoric Worlds C. Russo Dos Santos, P. Gros, and P. Abel Multimedia Dept. Eurécom Institute 2229, Route des Crêtes 06904 Sophia-Antipolis, France email: {cristina.russo,pascal.gros,pierre.abel}@eurecom.fr
More informationOn-line Anomaly Detection of Deployed Software: A Statistical Machine Learning Approach
On-line Anomaly Detection of Deployed Software: A Statistical Machine Learning Approach George K. Baah, Alexander Gray, and Mary Jean Harrold College of Computing Georgia Institute of Technology Atlanta,
More informationPointer Analysis in the Presence of Dynamic Class Loading. Hind Presented by Brian Russell
Pointer Analysis in the Presence of Dynamic Class Loading Martin Hirzel, Amer Diwan and Michael Hind Presented by Brian Russell Claim: First nontrivial pointer analysis dealing with all Java language features
More informationRINGS : A Technique for Visualizing Large Hierarchies
RINGS : A Technique for Visualizing Large Hierarchies Soon Tee Teoh and Kwan-Liu Ma Computer Science Department, University of California, Davis {teoh, ma}@cs.ucdavis.edu Abstract. We present RINGS, a
More informationDataflow testing of Java programs with DFC
Dataflow testing of Java programs with DFC Ilona Bluemke 1,, Artur Rembiszewski 1 1 Institute of Computer Science, Warsaw University of Technology Nowowiejska 15/19, 00-665 Warsaw, Poland I. Bluemke@ii.pw.edu.pl
More informationAbstract Data Structures IB Computer Science. Content developed by Dartford Grammar School Computer Science Department
Abstract Data Structures IB Computer Science Content developed by Dartford Grammar School Computer Science Department HL Topics 1-7, D1-4 1: System design 2: Computer Organisation 3: Networks 4: Computational
More informationCSC System Development with Java. Exception Handling. Department of Statistics and Computer Science. Budditha Hettige
CSC 308 2.0 System Development with Java Exception Handling Department of Statistics and Computer Science 1 2 Errors Errors can be categorized as several ways; Syntax Errors Logical Errors Runtime Errors
More informationA METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH
A METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH 1 M.Manjunath, 2 N.Backiavathi 1 PG Scholar, Department of Information Technology,Jayam College
More informationThink of drawing/diagramming editors. ECE450 Software Engineering II. The problem. The Composite pattern
Think of drawing/diagramming editors ECE450 Software Engineering II Drawing/diagramming editors let users build complex diagrams out of simple components The user can group components to form larger components......which
More informationInsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse
InsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse Arjan Seesing and Alessandro Orso College of Computing Georgia Institute of Technology a.c.seesing@ewi.tudelft.nl,
More informationObject-Oriented Programming
Object-Oriented Programming 3/18/14 Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 2014 Object-Oriented
More informationAdvanced Tree Data Structures
Advanced Tree Data Structures Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park Binary trees Traversal order Balance Rotation Multi-way trees Search Insert Overview
More informationChapter B: Hierarchical Model
Chapter B: Hierarchical Model Basic Concepts Tree-Structure Diagrams Data-Retrieval Facility Update Facility Virtual Records Mapping of Hierarchies to Files The IMS Database System B.1 Basic Concepts A
More informationObject Oriented Programming
Object Oriented Programming Java lecture (10.1) Exception Handling 1 Outline Exception Handling Mechanisms Exception handling fundamentals Exception Types Uncaught exceptions Try and catch Multiple catch
More information1 New Workflows in System Manager Version 3.1
1 New Workflows in System Manager Version 3.1 1.1 Applying Storage Quality of Service Policy Group to Workloads With System Manager 3.1, a user can manage storage quality of service (QoS) for volumes and
More informationLECTURE 11 TREE TRAVERSALS
DATA STRUCTURES AND ALGORITHMS LECTURE 11 TREE TRAVERSALS IMRAN IHSAN ASSISTANT PROFESSOR AIR UNIVERSITY, ISLAMABAD BACKGROUND All the objects stored in an array or linked list can be accessed sequentially
More informationHierarchies and Trees 1 (Node-link) CS 4460/ Information Visualization March 10, 2009 John Stasko
Hierarchies and Trees 1 (Node-link) CS 4460/7450 - Information Visualization March 10, 2009 John Stasko Hierarchies Definition Data repository in which cases are related to subcases Can be thought of as
More informationAssociate Professor Dr. Raed Ibraheem Hamed
Associate Professor Dr. Raed Ibraheem Hamed University of Human Development, College of Science and Technology Computer Science Department 2015 2016 Department of Computer Science _ UHD 1 What this Lecture
More informationAP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS
AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this
More information11Debugging and Handling. C# Programming: From Problem Analysis to Program Design 2nd Edition. David McDonald, Ph.D. Director of Emerging Technologies
11Debugging and Handling 11Exceptions C# Programming: From Problem Analysis to Program Design 2nd Edition David McDonald, Ph.D. Director of Emerging Technologies Chapter Objectives Learn about exceptions,
More informationException-chain Analysis: Revealing Exception Handling Architecture in Java Server Applications
Exception-chain Analysis: Revealing Exception Handling Architecture in Java Server Applications Chen Fu Barbara G. Ryder Division of Computer and Information Sciences, Rutgers University Piscataway, NJ
More informationJAVA CONCEPTS Early Objects
INTERNATIONAL STUDENT VERSION JAVA CONCEPTS Early Objects Seventh Edition CAY HORSTMANN San Jose State University Wiley CONTENTS PREFACE v chapter i INTRODUCTION 1 1.1 Computer Programs 2 1.2 The Anatomy
More informationExceptions Handling Errors using Exceptions
Java Programming in Java Exceptions Handling Errors using Exceptions Exceptions Exception = Exceptional Event Exceptions are: objects, derived from java.lang.throwable. Throwable Objects: Errors (Java
More informationSoftware Speculative Multithreading for Java
Software Speculative Multithreading for Java Christopher J.F. Pickett and Clark Verbrugge School of Computer Science, McGill University {cpicke,clump}@sable.mcgill.ca Allan Kielstra IBM Toronto Lab kielstra@ca.ibm.com
More informationThe Composite Pattern
The Composite Pattern Intent Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. This is called
More informationCOSC Exception Handling. Yves Lespérance. Lecture Notes Week 10 Exception Handling
COSC 1020 Yves Lespérance Lecture Notes Week 10 Exception Handling Recommended Readings: Horstmann: Ch. 14 Lewis & Loftus: Ch. 8 Sec. 0 Exception Handling Exception handling is a mechanism for making programs
More informationObject Oriented Programming Exception Handling
Object Oriented Programming Exception Handling Budditha Hettige Department of Computer Science Programming Errors Types Syntax Errors Logical Errors Runtime Errors Syntax Errors Error in the syntax of
More informationIntroduction to Software Design
CSI 1102 1 Abdulmotaleb El Saddik University of Ottawa School of Information Technology and Engineering (SITE) Multimedia Communications Research Laboratory (MCRLab) Distributed Collaborative Virtual Environments
More informationBuilding Java Programs
Building Java Programs Binary Trees reading: 17.1 17.3 2 Trees in computer science TreeMap and TreeSet implementations folders/files on a computer family genealogy; organizational charts AI: decision trees
More informationAtropos User s manual
Atropos User s manual Jan Lönnberg 22nd November 2010 1 Introduction Atropos is a visualisation tool intended to display information relevant to understanding the behaviour of concurrent Java programs,
More informationNavigating Product Catalogs Through OFDAV Graph Visualization
Navigating Product Catalogs Through OFDAV Graph Visualization Mao Lin Huang Department of Computer Systems Faculty of Information Technology University of Technology, Sydney NSW 2007, Australia maolin@it.uts.edu.au
More informationCompression Techniques to Simplify the Analysis of Large Execution Traces *
Compression Techniques to Simplify the nalysis of Large Execution Traces * bdelwahab Hamou-Lhadj and Timothy C. Lethbridge University of Ottawa SITE, 150 Louis Pasteur Ottawa, Ontario, Canada, K1N 6N5
More informationApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum
ApacheCon NA 2015 How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum 1Tech, Ltd. 29 Harley Street, London, W1G 9QR, UK www.1tech.eu 1 Overview Common Getting Started Problems Common
More informationCS313D: ADVANCED PROGRAMMING LANGUAGE
CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 6 : Abstraction Lecture Contents 2 Abstract classes Abstract methods Case study: Polymorphic processing Sealed methods & classes
More informationModeling Dependencies for Cascading Selective Undo
Modeling Dependencies for Cascading Selective Undo Aaron G. Cass and Chris S. T. Fernandes Union College, Schenectady, NY 12308, USA, {cassa fernandc}@union.edu Abstract. Linear and selective undo mechanisms
More informationTowards Visualization Scalability through Time Intervals and Hierarchical Organization of Monitoring Data
Towards Visualization Scalability through Time Intervals and Hierarchical Organization of Monitoring Data Lucas Mello Schnorr, Guillaume Huard, Philippe Olivier Alexandre Navaux Instituto de Informática
More informationReasoning About Exceptions Using Model Checking
Reasoning About Exceptions Using Model Checking Reid Simmons David Garlan Jeannette M. Wing George Fairbanks, Gil Tolle, Balaji Sarpeshkar, Joe Jiang Computer Science Department Carnegie Mellon University
More informationAbstract Data Structures IB Computer Science. Content developed by Dartford Grammar School Computer Science Department
Abstract Data Structures IB Computer Science Content developed by Dartford Grammar School Computer Science Department HL Topics 1-7, D1-4 1: System design 2: Computer Organisation 3: Networks 4: Computational
More informationDynamic Symbolic Database Application Testing
Dynamic Symbolic Database Application Testing Chengkai Li, Christoph Csallner University of Texas at Arlington June 7, 2010 DBTest 2010 Chengkai Li, Christoph Csallner Dynamic Symbolic Database Application
More informationJAC444 - Lecture 4. Segment 1 - Exception. Jordan Anastasiade Java Programming Language Course
JAC444 - Lecture 4 Segment 1 - Exception 1 Objectives Upon completion of this lecture, you should be able to: Separate Error-Handling Code from Regular Code Use Exceptions to Handle Exceptional Events
More informationPhysical Level of Databases: B+-Trees
Physical Level of Databases: B+-Trees Adnan YAZICI Computer Engineering Department METU (Fall 2005) 1 B + -Tree Index Files l Disadvantage of indexed-sequential files: performance degrades as file grows,
More informationIntroduction to the Europeana SIP CREATOR
Introduction to the Europeana SIP CREATOR Alicia Ackerman alicia.ackerman@kb.nl Development at Europeana Labs with Serkan Demirel serkan@blackbuilt.nl, Initial development by Gerald De Jong Collaboration
More informationModeling pilot project at Ericsson Expert Analytics
Modeling pilot project at Ericsson Expert Analytics Gábor Ferenc Kovács, Gergely Dévai ELTE-Soft, ELTE University, Ericsson Ericsson Modeling Days, Stockholm, 13-14 September 2016 Overview Background of
More informationLecture 8: Recursion and Iteration. Exceptions. Declarative Programming.
Lecture 8: Recursion and Iteration. Exceptions. Declarative Programming. September 26th, 2010 Lecture 8: Recursion and Iteration. Exceptions. Declarative Programming. (1/48) Lecture Outline Memory Management,
More informationFIGURE 3. Two-Level Internet Address Structure. FIGURE 4. Principle Classful IP Address Formats
Classful IP Addressing When IP was first standardized in September 1981, the specification required that each system attached to an IP-based Internet be assigned a unique, 32-bit Internet address value.
More informationMulticast. Presented by Hakim Weatherspoon. Slides borrowed from Qi Huang 2009 and Tom Ternquist 2010
Multicast Presented by Hakim Weatherspoon Slides borrowed from Qi Huang 2009 and Tom Ternquist 2010 Midterm report abstract, introduction, background, related work, and design section. These sections should
More informationQuiz 1. In class on Tuesday (April 14) Review learning goals (from lecture) Review lectures 1 4, PSA 1 You should be able to:
Quiz 1 In class on Tuesday (April 14) Will start promptly at 9:30am Will take about 20 minutes Review learning goals (from lecture) Review lectures 1 4, PSA 1 You should be able to: Read and trace code
More informationHISTREE - A HIERARCHICAL BACK MENU
HISTREE - A HIERARCHICAL BACK MENU Daniel Orner and I. Scott MacKenzie Department of Computer Science and Engineering, York University 4700 Keele St., Toronto, ON Canada M3J 1P3 {orner, mack}@cs.yorku.ca
More informationSpring 2017 B-TREES (LOOSELY BASED ON THE COW BOOK: CH. 10) 1/29/17 CS 564: Database Management Systems, Jignesh M. Patel 1
Spring 2017 B-TREES (LOOSELY BASED ON THE COW BOOK: CH. 10) 1/29/17 CS 564: Database Management Systems, Jignesh M. Patel 1 Consider the following table: Motivation CREATE TABLE Tweets ( uniquemsgid INTEGER,
More informationCSE 214 Computer Science II Introduction to Tree
CSE 214 Computer Science II Introduction to Tree Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu http://www3.cs.stonybrook.edu/~cse214/sec02/ Tree Tree is a non-linear
More informationMODULE 32 DAG based Code Generation and Dynamic Programming
MODULE 32 DAG based Code Generation and Dynamic Programming In this module, we would try to understand the code generation algorithm from DAG after the DAG has been reordered and labeled. As another approach
More informationIntroduction to Computing II (ITI 1121) Final Examination
Introduction to Computing II (ITI 1121) Final Examination Instructor: Marcel Turcotte April 2010, duration: 3 hours Identification Student name: Student number: Signature: Instructions 1. 2. 3. 4. 5. 6.
More informationTopic 14. The BinaryTree ADT
Topic 14 The BinaryTree ADT Objectives Define trees as data structures Define the terms associated with trees Discuss tree traversal algorithms Discuss a binary tree implementation Examine a binary tree
More informationDesign and Analysis of Algorithms Lecture- 9: B- Trees
Design and Analysis of Algorithms Lecture- 9: B- Trees Dr. Chung- Wen Albert Tsao atsao@svuca.edu www.408codingschool.com/cs502_algorithm 1/12/16 Slide Source: http://www.slideshare.net/anujmodi555/b-trees-in-data-structure
More informationAnnouncements. Midterm exam 2, Thursday, May 18. Today s topic: Binary trees (Ch. 8) Next topic: Priority queues and heaps. Break around 11:45am
Announcements Midterm exam 2, Thursday, May 18 Closed book/notes but one sheet of paper allowed Covers up to stacks and queues Today s topic: Binary trees (Ch. 8) Next topic: Priority queues and heaps
More informationExceptions in Java
Exceptions in Java 3-10-2005 Opening Discussion Do you have any questions about the quiz? What did we talk about last class? Do you have any code to show? Do you have any questions about the assignment?
More informationLecture 21. Regression Testing Path Spectra. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim
Lecture 21 Regression Testing Path Spectra Today s Agenda (1) Regression Test Selection Path Spectra Presentation by David (skeptic) Presentation by Sidd (advocate) Presentation by Srinivas (skeptic) Today
More informationDesign Patterns. Comp2110 Software Design. Department of Computer Science Australian National University. Second Semester
Design Patterns Comp2110 Software Design Department of Computer Science Australian National University Second Semester 2005 1 Design Pattern Space Creational patterns Deal with initializing and configuring
More informationPedigree Management and Assessment Framework (PMAF) Demonstration
Pedigree Management and Assessment Framework (PMAF) Demonstration Kenneth A. McVearry ATC-NY, Cornell Business & Technology Park, 33 Thornwood Drive, Suite 500, Ithaca, NY 14850 kmcvearry@atcorp.com Abstract.
More informationHOT CoCo: The Hierarchical focus+context Code Coverage Visualizer
HOT CoCo: The Hierarchical focus+context Code Coverage Visualizer Adrian Mayorga University of Wisconsin - Madison Danielle Albers University of Wisconsin - Madison Figure 1: HOT CoCo: An instrumentation
More informationAbout this sample exam:
About this sample exam: You may and SHOULD work through this exam yourself and discuss you answers with others. To find out the right answers to questions, type in the code to a compiler and run it. You
More informationScaling Regression Testing to Large Software Systems
Scaling Regression Testing to Large Software Systems Alessandro Orso Co-authors: Nanjuan Shi, Mary Jean Harrold College of Computing Georgia Institute of Technology Supported in part by National Science
More informationBinary Trees Due Sunday March 16, 2014
Problem Description Binary Trees Due Sunday March 16, 2014 Recall that a binary tree is complete if all levels in the tree are full 1 except possibly the last level which is filled in from left to right.
More information