tracerjd generic trace based dynamic dependence analysis
play

TRACERJD: GENERIC TRACE-BASED DYNAMIC DEPENDENCE ANALYSIS WITH - PowerPoint PPT Presentation

TRACERJD: GENERIC TRACE-BASED DYNAMIC DEPENDENCE ANALYSIS WITH FINE-GRAINED LOGGING Haipeng Cai and Raul Santelices Department of Computer Science and Engineering University of Notre Dame Supported by ONR Award N000141410037 SANER 2015


  1. TRACERJD: GENERIC TRACE-BASED DYNAMIC DEPENDENCE ANALYSIS WITH FINE-GRAINED LOGGING Haipeng Cai and Raul Santelices Department of Computer Science and Engineering University of Notre Dame Supported by ONR Award N000141410037 SANER 2015

  2. Context 2 Testing/ Reverse Performance optimization Evolution …… Debugging Engineering Program-dependence Analysis Program

  3. Context 3 Testing/ Reverse Performance optimization Evolution …… Debugging Engineering Dynamic Dependence Analysis Inputs Program

  4. Status-quo 4 Some tools monitor high-level system states (e.g., network traffic, resource usage, …) …… DTrace Valgrind Some reports coarse-level runtime conditions (function invocations, exception trace, …) …… JTracer JavaTracer Others are applicable to specific tasks only (dynamic slicing, execution reduction, …) Code- Investigator …… JavaSlicer

  5. Problem 5 ? Only few techniques available capture fine-grained source-level dynamic dependence information that supports a variety of dependence-based applications tool supports

  6. Approach 6 TracerJD Offers generic/common fine-grained dynamic dependence information to support various applications Many specific tools can be built upon it

  7. TracerJD 7 Application tools …… Dynamic slicer Performance profiler Dynamic dependence querying subroutines Hierarchical trace indexing Variable events Statement events Method … Trace events … … Structured logging of execution events Variable Method Statement definitions/uses calls/returns occurrence

  8. Performance 8  Instrumentation time 350 static analysis time 300 250 (secs) 200 324.9 150 100 143.3 50 6.7 15.1 0 Schedule1 NanoXML XML-security JMeter

  9. Performance 9  Runtime slowdown 15x Factor of runtime 13x slowdown 11x 9x 7x 13 12 10 5x 3x 2 1x Schedule1 NanoXML XML-security JMeter

  10. Performance 10  Storage costs 4x Factor of code 3x size growth 3x 3.2 2x 2.7 2.1 2x 2.0 1x Schedule1 NanoXML XML-security JMeter 150 Total trace size (MB) 100 125.3 50 44.6 36.1 13.6 0 Schedule1 NanoXML XML-security JMeter

  11. Use scenarios 11  Scenario 1: dynamic slicing slice criterion Transitively traverse backward dependencies Last definition Last predicate TracerJD - dynamic dependence querying subroutines

  12. Use scenarios 12  Scenario 2: performance profiling Set of Execution- statements time report Compute time elapses between instances Statement instances TracerJD - dynamic dependence querying subroutines Timing flag

  13. 13 Conclusions  A framework that provides generic dynamic dependence information to support various applications  An effective trace indexing scheme that enables efficient dynamic-dependence querying  Two example client analyses that offer readily utilities and demonstrate the flexibility of building diverse applications

  14. Acknowledgements 14 Office of Naval Research for funding All of you for time and attention

  15. Q&A 15 PLEASE ASK QUESTIONS

Recommend


More recommend