Estimating the Run-Time Progress of a Call Graph Construction Algorithm Jason Sawin, Atanas Rountev Ohio State University.

Slides:



Advertisements
Similar presentations
MEMORY MANAGEMENT Y. Colette Lemard. MEMORY MANAGEMENT The management of memory is one of the functions of the Operating System MEMORY = MAIN MEMORY =
Advertisements

Web Performance Tuning Lin Wang, Ph.D. US Department of Education Copyright [Lin Wang] [2004]. This work is the intellectual property of the author. Permission.
ASSUMPTION HIERARCHY FOR A CHA CALL GRAPH CONSTRUCTION ALGORITHM JASON SAWIN & ATANAS ROUNTEV.
CE881: Mobile and Social Application Programming Simon M. Lucas Layouts.
Context-Sensitive Interprocedural Points-to Analysis in the Presence of Function Pointers Presentation by Patrick Kaleem Justin.
Go with the Flow: Profiling Copies to Find Run-time Bloat Guoqing Xu, Matthew Arnold, Nick Mitchell, Atanas Rountev, Gary Sevitsky Ohio State University.
Generating Run-Time Progress Reports for a Points-to Analysis in Eclipse Jason Sawin, Mariana Sharp, Atanas Rountev Ohio State University.
Real-Time Systems Scheduling Tool Developed by Daniel Ghiringhelli Advisor: Professor Jiacun Wang December 19, 2005.
Improving the Static Resolution of Dynamic Java Features Jason Sawin Ohio State University.
Parallel Inclusion-based Points-to Analysis Mario Méndez-Lojo Augustine Mathew Keshav Pingali The University of Texas at Austin (USA) 1.
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
TENCompetence Assessment Model, Related Tools and their Evaluation Milen Petrov, Adelina Aleksieva-Petrova, Krassen Stefanov, Judith Schoonenboom, Yongwu.
Chapter 2: Algorithm Discovery and Design
Data Mining Presentation Learning Patterns in the Dynamics of Biological Networks Chang hun You, Lawrence B. Holder, Diane J. Cook.
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Detecting Inefficiently-Used Containers to Avoid Bloat Guoqing Xu and Atanas Rountev Department of Computer Science and Engineering Ohio State University.
Distributed Process Management1 Learning Objectives Distributed Scheduling Algorithms Coordinator Elections Orphan Processes.
Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.
Software Architecture in Practice (3rd Ed) Introduction
Efficient Privilege De-Escalation for Ad Libraries in Mobile Apps Bin Liu (SRA), Bin Liu (CMU), Hongxia Jin (SRA), Ramesh Govindan (USC)
Impact Analysis of Database Schema Changes Andy Maule, Wolfgang Emmerich and David S. Rosenblum London Software Systems Dept. of Computer Science, University.
DETECTING NEAR-DUPLICATES FOR WEB CRAWLING Authors: Gurmeet Singh Manku, Arvind Jain, and Anish Das Sarma Presentation By: Fernando Arreola.
Graph-RAT Overview By Daniel McEnnis. 2/32 What is Graph-RAT  Relational Analysis Toolkit  Database abstraction layer  Evaluation platform  Robustly.
Reverse Engineering State Machines by Interactive Grammar Inference Neil Walkinshaw, Kirill Bogdanov, Mike Holcombe, Sarah Salahuddin.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
PRESTO: Program Analyses and Software Tools Research Group, Ohio State University STATIC ANALYSES FOR JAVA IN THE PRESENCE OF DISTRIBUTED COMPONENTS AND.
CS4723 Software Validation and Quality Assurance
Mahesh Sukumar Subramanian Srinivasan. Introduction Embedded system products keep arriving in the market. There is a continuous growing demand for more.
CSE 219 Computer Science III Program Design Principles.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Procrastinator: Pacing Mobile Apps’ Usage of the Network mobisys 2014.
Coverage Criteria for Testing of Object Interactions in Sequence Diagrams Atanas (Nasko) Rountev Scott Kagan Jason Sawin Ohio State University.
Auther: Kevian A. Roudy and Barton P. Miller Speaker: Chun-Chih Wu Adviser: Pao, Hsing-Kuo.
Rethinking Soot for Summary-Based Whole- Program Analysis PRESTO: Program Analyses and Software Tools Research Group, Ohio State University Dacong Yan.
ALG0183 Algorithms & Data Structures Lecture 4 Experimental Algorithmics 8/25/20091 ALG0183 Algorithms & Data Structures by Dr Andy Brooks Case study article:
Exploiting Context Analysis for Combining Multiple Entity Resolution Systems -Ramu Bandaru Zhaoqi Chen Dmitri V.kalashnikov Sharad Mehrotra.
1 Control Software (CAT) Introduction USB Interface implementation Calorimeter Electronics Upgrade Meeting Frédéric Machefert Wednesday 5 th May, 2010.
Index Interactions in Physical Design Tuning Modeling, Analysis, and Applications Karl Schnaitter, UC Santa Cruz Neoklis Polyzotis, UC Santa Cruz Lise.
CBSE'051 Component-Level Dataflow Analysis Atanas (Nasko) Rountev Ohio State University.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Comparing the use of Network Structure and Profile Characteristics in Discovering Groups in Social Networks John Johnson.
Virtual Memory The memory space of a process is normally divided into blocks that are either pages or segments. Virtual memory management takes.
General Writing - Audience What is their level of knowledge? Advanced, intermediate, basic? Hard to start too basic – but have to use the right terminology.
Detecting Inefficiently-Used Containers to Avoid Bloat Guoqing Xu and Atanas Rountev Department of Computer Science and Engineering Ohio State University.
Progress Report - Year 2 Extensions of the PhD Symposium Presentation Daniel McEnnis.
T Project Review WellIT I2 Iteration
Effective Anomaly Detection with Scarce Training Data Presenter: 葉倚任 Author: W. Robertson, F. Maggi, C. Kruegel and G. Vigna NDSS
User Scenarios in VENUS-C Focus on Structural Analysis Ignacio Blanquer I3M - UPV.
5/7/03ICSE Fragment Class Analysis for Testing of Polymorphism in Java Software Atanas (Nasko) Rountev Ohio State University Ana Milanova Barbara.
Sept 12ICSM'041 Precise Identification of Side-Effect-Free Methods in Java Atanas (Nasko) Rountev Ohio State University.
T Project Review MalliPerhe Iteration 3 Implementation
Object Naming Analysis for Reverse- Engineered Sequence Diagrams Atanas (Nasko) Rountev Beth Harkness Connell Ohio State University.
Reachability Testing of Concurrent Programs1 Reachability Testing of Concurrent Programs Richard Carver, GMU Yu Lei, UTA.
GROUP PresentsPresents. WEB CRAWLER A visualization of links in the World Wide Web Software Engineering C Semester Two Massey University - Palmerston.
Use of Performance Prediction Techniques for Grid Management Junwei Cao University of Warwick April 2002.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 testing and installation 1 for testing you need: test data and test cases test plans and.
Test Loads Andy Wang CIS Computer Systems Performance Analysis.
ItemBased Collaborative Filtering Recommendation Algorithms 1.
Gantenbein & Sung CAINE Task Scheduling in Distributed Data Mining for Medical Applications Rex E. Gantenbein, University of Wyoming, Laramie WY.
INFORMATION-FLOW ANALYSIS OF ANDROID APPLICATIONS IN DROIDSAFE JARED YOUNG.
GMProf: A Low-Overhead, Fine-Grained Profiling Approach for GPU Programs Mai Zheng, Vignesh T. Ravi, Wenjing Ma, Feng Qin, and Gagan Agrawal Dept. of Computer.
Corey Tessler Wayne State University Gedare Bloom Howard University
Static Analysis of Object References in RMI-based Java Software
Mohammad Gh. Alfailakawi, Imtiaz Ahmad, Suha Hamdan
CS 5150 Software Engineering
Building a Whole-Program Type Analysis in Eclipse
Points-to Analysis for Java Using Annotated Constraints
How much does OS operation impact your code’s performance?
Jason Sawin, Atanas Rountev Ohio State University
Presentation transcript:

Estimating the Run-Time Progress of a Call Graph Construction Algorithm Jason Sawin, Atanas Rountev Ohio State University

Jason Sawin SCAM06 2 Progress Indicators  Important UI components  Performs several valuable tasks  Immediate user feedback  Indication of progress made  Estimate of amount of time need to complete the task  Often it is difficult to create an accurate and meaningful progress indicator

Jason Sawin SCAM06 3 TACLE and Rapid Type Analysis  TACLE is an Eclipse plug-in which implements a version of RTA  RTA produces type information and a call graph for a whole program  Uses a worklist algorithm  Initial the only element in the worklist is the main method  Methods are removed from the worklist and processed.  During processing new methods discovered at invocation sites are added to the worklist

Jason Sawin SCAM06 4 Why is it hard?  Accurate progress monitors rely on a priori knowledge of the total amount of work the application must perform  No such information for RTA  There is no way to determine the exact number of reachable methods RTA will discover without first running it  Must rely on heuristics

Jason Sawin SCAM06 5 Two Type of Heuristics  Initial Analysis  The first time the analysis is ran on an application  Repeated Analysis  Repeated executions of the analysis on slightly different version of the application  Can utilize information stored from the initial analysis  Change impact analysis

Jason Sawin SCAM06 6 Heuristics: Initial Analysis  Naïve  Hardcoded estimate of 8101 reachable methods  Indicates progress for every method processed  Number of user defined methods  Only indicates progress when user defined methods are processed  Number of user defined methods and library entry methods

Jason Sawin SCAM06 7 Heuristics: Repeated Analysis  Total number of reachable methods  Indicate progress for every method processed  Use the total number of reachable methods from an earlier version  Methods weighted by relative time  Stores a table of methods and the amount of time it took to processes them  Indicate progress for old methods only  Elapsed time  Monitor runs in a separate thread and indicates progress in measured increments  Uses total running time of previous version

Jason Sawin SCAM06 8 Accuracy Results

Jason Sawin SCAM06 9 Accuracy Results Under Load

Jason Sawin SCAM06 10 Conclusions and Future Work  Building progress indicators that are both meaningful and accurate can be a challenging task  Many static analysis designers will face this challenge  Two classifications of monitors  Metrics to evaluate heuristics  Future Goals  Extend our work to other static analyses such as points-to analysis  Create more sophisticated heuristics for initial analysis

Jason Sawin SCAM06 11QUESTIONS