Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Generating Run-Time Progress Reports for a Points-to Analysis in Eclipse Jason Sawin, Mariana Sharp, Atanas Rountev Ohio State University."— Presentation transcript:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

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

11 Jason Sawin EXT06 11 Accuracy Results

12 Jason Sawin EXT06 12 Smoothness Results

13 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

14 Jason Sawin EXT06 14QUESTIONS


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

Similar presentations


Ads by Google