Jason Sawin, Atanas Rountev Ohio State University

Slides:



Advertisements
Similar presentations
Pat Langley Institute for the Study of Learning and Expertise Palo Alto, California and Center for the Study of Language and Information Stanford University,
Advertisements

S-Curves & the Zero Bug Bounce:
ASSUMPTION HIERARCHY FOR A CHA CALL GRAPH CONSTRUCTION ALGORITHM JASON SAWIN & ATANAS ROUNTEV.
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.
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
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.
Numbers & Operations Fractions & Fraction Equivalents (compare equivalent fractions and decimals) Page 11 Grade 4 MATH: Oregon Department of Education.
Coverage Criteria for Testing of Object Interactions in Sequence Diagrams Atanas (Nasko) Rountev Scott Kagan Jason Sawin Ohio State University.
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:
Index Interactions in Physical Design Tuning Modeling, Analysis, and Applications Karl Schnaitter, UC Santa Cruz Neoklis Polyzotis, UC Santa Cruz Lise.
Apache JMeter By Lamiya Qasim. Apache JMeter Tool for load test functional behavior and measure performance. Questions: Does JMeter offers support for.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
Joseph M. Hellerstein Peter J. Haas Helen J. Wang Presented by: Calvin R Noronha ( ) Deepak Anand ( ) By:
Slides for “Data Mining” by I. H. Witten and E. Frank.
Estimating the Run-Time Progress of a Call Graph Construction Algorithm Jason Sawin, Atanas Rountev Ohio State University.
Team Members Ming-Chun Chang Lungisa Matshoba Steven Preston Supervisors Dr James Gain Dr Patrick Marais.
Pattern Bridge. Definition Bridge is the structural pattern that separates abstraction from the implementation so that both of them can be changed independently.
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.
Service Pack 2 System Center Configuration Manager 2007.
Object Naming Analysis for Reverse- Engineered Sequence Diagrams Atanas (Nasko) Rountev Beth Harkness Connell Ohio State University.
Use of Performance Prediction Techniques for Grid Management Junwei Cao University of Warwick April 2002.
ItemBased Collaborative Filtering Recommendation Algorithms 1.
WHAT THE APP IS THAT? DECEPTION AND COUNTERMEASURES IN THE ANDROID USER INTERFACE.
MANAGEMENT of INFORMATION SECURITY, Fifth Edition.
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
Virtual Memory.
Tool Support for Testing
Corey Tessler Wayne State University Gedare Bloom Howard University
Continuous Delivery and Quality Monitoring
Creating a Flash Web Site
Static Analysis of Object References in RMI-based Java Software
Compiler Design (40-414) Main Text Book:
Advantages of FSM Their simplicity make it easy for inexperienced developers to implement with little to no extra knowledge (low entry level)
Introduction to Load Balancing:
17 Managing Information Systems and Technology.
John D. McGregor Eclipse Process Framework Module 2 Session 4
Software Life Cycle “What happens in the ‘life’ of software”
CS 5150 Software Engineering
Introduction to IR Research
Using Execution Feedback in Test Case Generation
Singleton Pattern Command Pattern
Building a Whole-Program Type Analysis in Eclipse
Points-to Analysis for Java Using Annotated Constraints
Informed Search and Exploration
Software Quality Engineering
Some Important Techniques For Regression Testing That You Must Know.
Top Reasons to Choose Angular. Angular is well known for developing robust and adaptable Single Page Applications (SPA). The Application structure is.
While Loops BIS1523 – Lecture 12.
The Extensible Tool-chain for Evaluation of Architectural Models
How much does OS operation impact your code’s performance?
Forecasting Elements of good forecast Accurate Timely Reliable
Demand-Driven Context-Sensitive Alias Analysis for Java
Chapter 5: CPU Scheduling
CS310 Software Engineering Lecturer Dr.Doaa Sami
Analysing your own research
Authors: Wai Lam and Kon Fan Low Announcer: Kyu-Baek Hwang
National 4/5 Graphic Communication
Linköping University, IDA, ESLAB
Software Engineering Lecture 17.
Monitoring & Evaluating
Brandon Roman CS300.
M. Kezunovic (P.I.) S. S. Luo D. Ristanovic Texas A&M University
Topology Optimization through Computer Aided Software
Presentation transcript:

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

Important UI components Performs several valuable tasks 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 This slide needs to introduce and express the importance of GUI progress indicators. Research indicates that timely feed back to the client can be as important as over all speed of the application. There are two types of progress monitors, measured and non measured. Measured provides an estimate the total amount of running time of the application. This information is invaluable to clients as it assures them that the application is running and provides a time estimate for completion. Include a graphic of the TACLE progress bar Jason Sawin SCAM06

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

No such information for RTA 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

The first time the analysis is ran on an application Repeated Analysis 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

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

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

Accuracy Results Jason Sawin SCAM06

Accuracy Results Under Load Jason Sawin SCAM06

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

QUESTIONS Jason Sawin SCAM06

Evaluating Progress Estimation Techniques Accuracy: Smoothness: Jason Sawin SCAM06

Smoothness Results Jason Sawin SCAM06