Generating Run-Time Progress Reports for a Points-to Analysis in Eclipse Jason Sawin, Mariana Sharp, Atanas Rountev Ohio State University.

Slides:



Advertisements
Similar presentations
Designing a Program & the Java Programming Language
Advertisements

Chapter 24 Quality Management.
S-Curves & the Zero Bug Bounce:
Applications of Synchronization Coverage A.Bron,E.Farchi, Y.Magid,Y.Nir,S.Ur Tehila Mayzels 1.
Test Automation Success: Choosing the Right People & Process
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
Web services for Improving the development of automatic generalisation solutions Nicolas Regnauld Research & Innovarion Ordnance Survey 07 th March 2006,
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
Virtual Workbenches Richard Anthony The University of Greenwich
Marakas: Decision Support Systems, 2nd Edition © 2003, Prentice-Hall Chapter Chapter 7: Expert Systems and Artificial Intelligence Decision Support.
Computer Science 1620 Programming & Problem Solving.
1. 2 Chapter 1 Introduction to Computers, Programs, and Java.
State coverage: an empirical analysis based on a user study Dries Vanoverberghe, Emma Eyckmans, and Frank Piessens.
Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
Task Manager Software Engineering: CS 673 Spring 2009 John Spencer, Parag Shah, Rich Moffitt, Hassan Sobhie May 4, 2009.
Your Interactive Guide to the Digital World Discovering Computers 2012.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Introducing Java.
Best Practices By Gabriel Rodriguez
MIS for MBA Meeting #1 May 23,  A system that inputs raw data, processes the data into information that is stored and is distributed to management.
PRESTO: Program Analyses and Software Tools Research Group, Ohio State University STATIC ANALYSES FOR JAVA IN THE PRESENCE OF DISTRIBUTED COMPONENTS AND.
University of Coimbra, DEI-CISUC
Chapter 6 : Software Metrics
Event Management & ITIL V3
Gantt Chart Heba Iqbal. What is a Gantt chart? Developed by Henry Gantt Were considered revolutionary when first introduced Type of bar chart Illustrates.
Treatment Learning: Implementation and Application Ying Hu Electrical & Computer Engineering University of British Columbia.
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.
Combining geometry and domain knowledge to interpret hand-drawn diagrams As Presented By: Andrew Campbell Christopher Dahlberg.
Quality Software Project Management Software Size and Reuse Estimating.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki 1 Machine Learning.
ICOM 6115: Computer Systems Performance Measurement and Evaluation August 11, 2006.
Quality of System requirements 1 Performance The performance of a Web service and therefore Solution 2 involves the speed that a request can be processed.
BSBPMG503A Manage Project Time 6.4 Estimate Activity Duration The process of approximating the number of work periods needed to complete individual activities.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
An Evaluation of Commercial Data Mining Proposed and Presented by Emily Davis Supervisor: John Ebden.
Prioritizing Test Cases for Regression Testing Article By: Rothermel, et al. Presentation by: Martin, Otto, and Prashanth.
Joseph M. Hellerstein Peter J. Haas Helen J. Wang Presented by: Calvin R Noronha ( ) Deepak Anand ( ) By:
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
PRESTO: Program Analyses and Software Tools Research Group, Ohio State University Efficient Checkpointing of Java Software using Context-Sensitive Capture.
Estimating the Run-Time Progress of a Call Graph Construction Algorithm Jason Sawin, Atanas Rountev Ohio State University.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Bug Localization with Association Rule Mining Wujie Zheng
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
Extremely Cool Puzzle Game That Everyone Wants To Play By. Jason Sabada Game Design and Implementation II Game Concept.
Detecting Inefficiently-Used Containers to Avoid Bloat Guoqing Xu and Atanas Rountev Department of Computer Science and Engineering Ohio State University.
Team Members Ming-Chun Chang Lungisa Matshoba Steven Preston Supervisors Dr James Gain Dr Patrick Marais.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
1 Program Development  The creation of software involves four basic activities: establishing the requirements creating a design implementing the code.
Chapter 5 How are software packages developed?. What are the main steps in software project development? Writing Specifications - Analysis Phase Developing.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
5/7/03ICSE Fragment Class Analysis for Testing of Polymorphism in Java Software Atanas (Nasko) Rountev Ohio State University Ana Milanova Barbara.
Ch7: Project Monitoring and Control  To reduce differences between plan and actual in the 3D space of T/C/P.  Best utilization of organization’s primary.
Test Automation Using Selenium Presented by: Shambo Ghosh Ankit Sachan Samapti Sinhamahapatra Akshay Kotawala.
Mutation Testing Breaking the application to test it.
Object Naming Analysis for Reverse- Engineered Sequence Diagrams Atanas (Nasko) Rountev Beth Harkness Connell Ohio State University.
Lecture 6 Title: Project Cost Management MIS 434.
Reachability Testing of Concurrent Programs1 Reachability Testing of Concurrent Programs Richard Carver, GMU Yu Lei, UTA.
Resource Optimization for Publisher/Subscriber-based Avionics Systems Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
ISQB Software Testing Section Meeting 10 Dec 2012.
Static Analysis of Object References in RMI-based Java Software
8.4 Management of Postdelivery Maintenance
Building a Whole-Program Type Analysis in Eclipse
Software Metrics “How do we measure the software?”
Loops.
Jason Sawin, Atanas Rountev Ohio State University
M. Kezunovic (P.I.) S. S. Luo D. Ristanovic Texas A&M University
Presentation transcript:

Generating Run-Time Progress Reports for a Points-to Analysis in Eclipse Jason Sawin, Mariana Sharp, Atanas Rountev Ohio State University

Jason Sawin EXT06 2 Production Quality Extensions  End goal of static analysis research is to improve software quality and programmer productivity  Eclipse provides an excellent vehicle in which to build and distribute static analysis tools  Provides many low-level facilities required by static analysis tools  Very popular IDE  Tool designers must interface with Eclipse in a meaningful manner

Jason Sawin EXT06 3 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 for static analysis

Jason Sawin EXT06 4 Soot and Points-to Analysis  Takes an entire program as input and builds points-to sets that represent potential run- time points-to relationships  Utilizes a worklist based algorithm  Methods are discovered on-the-fly  Initial treatment of a method requires processing each statement it contains once

Jason Sawin EXT06 5 What is the Challenge?  Measured progress monitors in Eclipse rely on a priori knowledge of the total amount of work the task is going to perform  void beginTask(String taskName, int totalWork)  How much work will a points-to analysis perform?  Reachable methods are discovered at run time  Must rely on heuristics to estimate totalWork

Jason Sawin EXT06 6 Two Styles of Heuristics  Fledgling analysis  The first time the analysis is run on an application  Repeated analysis  Repeated executions of the analysis on slightly different version of the application  Can utilize information stored from the pervious run of the analysis  Eclipse workspaces are well suited for this style

Jason Sawin EXT06 7 Heuristics: Fledgling Analysis  Least effort estimate  Hardcoded estimate of 5667 reachable methods  Indicates progress for every method processed  Number of user-defined methods  Only indicates progress when user-defined methods are processed  Total derived from user methods  totalWork = (# user-defined methods) /.0981

Jason Sawin EXT06 8 Heuristics: Repeated Analysis  Total number of reachable methods  Indicate progress for every method processed  totalWork is the number of reachable methods from an earlier version  Methods Weighted by Number of Statements  totalWork is the total number of statements processed in an earlier version  Each method reports its number of statements as progress

Jason Sawin EXT06 9 Evaluating Estimation Heuristics  Accuracy  Measure how far off each estimation point is from perfect  Perfect: ratio of time equals progress reported  Smoothness  Measure how steadily the heuristic reports progress

Jason Sawin EXT06 10 Evaluating Progress Estimation Techniques Accuracy: Smoothness:

Jason Sawin EXT06 11 Accuracy Results

Jason Sawin EXT06 12 Smoothness Results

Jason Sawin EXT06 13 Conclusions and Future Work  Building progress indicators that are both meaningful and accurate can be a challenging task  This work present metrics that can be used to evaluate progress estimation techniques  Future Goals  Investigate more advanced techniques for the fledgling analysis

Jason Sawin EXT06 14QUESTIONS