Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Discriminated Dynamic Instruction Influences

Discriminated Dynamic Instruction Influences

Dynamic slicing is an analysis that operates on program execution models (e.g., dynamic dependence graphs) to sup- port the interpretation of program-execution traces. Given an execution event of interest (i.e., the slicing criterion), it solves for all instruction-execution events that either affect or are affected by that slicing criterion, and thereby reduces the search space to find influences within execution traces. Unfortunately, the resulting dynamic slices are still often prohibitively large for many uses. Despite this reduction search space, the dynamic slices are often still prohibitively large for many uses, and moreover, are provided without guidance of which and to what degree those influences are exerted. In this work, we present a novel approach to quantify the relevance of each instruction-execution event within a dynamic slice by its degree of relative influence on the slicing criterion. As such, we augment the dynamic slice with dynamic-relevance measures for each event in the slice, which can be used to guide and prioritize inspection of the events in the slice.

Vijay Krishna Palepu

September 17, 2014
Tweet

More Decks by Vijay Krishna Palepu

Other Decks in Research

Transcript

  1. Discriminating Influences among Instructions in a Dynamic Slice Vijay Krishna

    Palepu James A. Jones University of California, Irvine, USA 29th IEEE/ACM International Conference on Automated Software Engineering, 2014 UC Irvine Spider Lab Palepu and Jones (UCI) Discriminating Dynamic Influences ASE 2014
  2. Dynamic Slicing Palepu and Jones (UCI) Discriminating Dynamic Influences ASE

    2014 Problem. • “. . . for most real programs, the dynamic slices are too large for humans to inspect and comprehend.” – Wang and Roychoudhury, ISSTA 2007. • “Breakpoints allowed developers to search for paths to a statement. But setting breakpoints was impractical when searching for many statements . . . .” – LaToza and Myers, ICSE 2010
  3. Dynamic Slicing Palepu and Jones (UCI) Discriminating Dynamic Influences ASE

    2014 Problem. • Where, in the program’s execution, should we focus our attention?
  4. Discrimination of Influences Palepu and Jones (UCI) Discriminating Dynamic Influences

    ASE 2014 Approach. • Discriminate runtime instructions using degrees of influence on the slicing criterion.
  5. Dynamic Relevance Measure of Degree of Influence. Palepu and Jones

    (UCI) Discriminating Dynamic Influences ASE 2014
  6. Dynamic Relevance: Intuition Palepu and Jones (UCI) Discriminating Dynamic Influences

    ASE 2014 Broader the scope of influence, lesser the dynamic relevance and vice versa.
  7. Dynamic Relevance Measure of Degree of Influence. Palepu and Jones

    (UCI) Discriminating Dynamic Influences ASE 2014 DynRel (a, z) = |Sbak (z)∩Sfwd (a)| |Sfwd (a)|
  8. Dynamic Relevance Measure of Degree of Influence. Palepu and Jones

    (UCI) Discriminating Dynamic Influences ASE 2014 DynRel (a, z) = |Sbak (z)∩Sfwd (a)| |Sfwd (a)| • Sbak(z) : backward slice from (z);
  9. Dynamic Relevance Measure of Degree of Influence. Palepu and Jones

    (UCI) Discriminating Dynamic Influences ASE 2014 DynRel (a, z) = |Sbak (z)∩Sfwd (a)| |Sfwd (a)| • Sbak(z) : backward slice from (z); • Sfwd(a) : forward slice from (a);
  10. Dynamic Relevance Measure of Degree of Influence. Palepu and Jones

    (UCI) Discriminating Dynamic Influences ASE 2014 DynRel (a, z) = |Sbak (z)∩Sfwd (a)| |Sfwd (a)| • Sbak(z) : backward slice from (z); • Sfwd(a) : forward slice from (a); • Sbak(z) ∩ Sfwd(a) : runtime instructions common to Sbak(z) & Sfwd(a);
  11. Dynamic Relevance Measure of Degree of Influence. Palepu and Jones

    (UCI) Discriminating Dynamic Influences ASE 2014 DynRel (a, z) = 6 9 = 0.66 DynRel (c, z) = 6 6 = 1.00
  12. Implementation: Looking Glass Program Execution Analyzer Java Instrumenter & Execution

    Profiler Program Execution Trace Execution Trace Analyzer & Slicer Backward and Forward Dynamic Slices Palepu and Jones (UCI) Discriminating Dynamic Influences ASE 2014
  13. Emerging Results • Task: Root Cause Analysis for an anomalous

    output. • Subject: NanoXML (>7,000 LOCs), XML Parser, Java • 20 test executions Palepu and Jones (UCI) Discriminating Dynamic Influences ASE 2014
  14. Emerging Results Execution Trace Dynamic Slice Dynamic Relevance % of

    Runtime Instructions 0 20 40 60 80 100 100% 40% 4% Palepu and Jones (UCI) Discriminating Dynamic Influences ASE 2014 1/10th of the Dynamic slice in size.
  15. Next Steps. • Continuation of the empirical investigation. • Development

    of novel software engineering analyses using discriminated influences. • Envisioning variations of Dynamic Relevance. Palepu and Jones (UCI) Discriminating Dynamic Influences ASE 2014
  16. Discriminating Influences among Instructions in a Dynamic Slice Vijay Krishna

    Palepu James A. Jones University of California, Irvine, USA