Visualization of Program- Execution Data for Deployed Software - - PowerPoint PPT Presentation

visualization of program execution data for deployed
SMART_READER_LITE
LIVE PREVIEW

Visualization of Program- Execution Data for Deployed Software - - PowerPoint PPT Presentation

Visualization of Program- Execution Data for Deployed Software Alessandro Orso James A. Jones Mary Jean Harrold Funded by National Science Foundation (CCR-9988294, CCR- 0096321, CCR-0205422, SBE-0123532, EIA-0196145) and the State of Georgia


slide-1
SLIDE 1

Visualization of Program- Execution Data for Deployed Software

Alessandro Orso James A. Jones Mary Jean Harrold

Funded by National Science Foundation (CCR-9988294, CCR- 0096321, CCR-0205422, SBE-0123532, EIA-0196145) and the State of Georgia through the Yamacraw Mission

slide-2
SLIDE 2

Motivation

slide-3
SLIDE 3

Challenges

  • Visualization
  • Field data representation
  • Program size
  • Amount of field data – Execution

visualization, Filters, Summarizers

  • System for collecting/visualizing data
slide-4
SLIDE 4

Outline

  • Visualization
  • Field data representation – Color
  • Program size – Visual forms
  • Amount of field data – Visual form, Filters,

Summarizers

  • System for collecting/visualizing data –

Gammatella

  • Experience
  • Conclusions and Future Work
slide-5
SLIDE 5

Color

  • Color used to represent characteristics of

code and its executions

  • Mapping of data to color dependent on intent
  • f visualization

procedure print() { for i = 1 to 10 { for j = 1 to 10 { print j } print i } }

slide-6
SLIDE 6

Visual Forms – Code Level, File Level

mid() { int x,y,z,m; read(“Enter 3 numbers:”,x,y,z); m = z; if (y<z) if (x<y) m = y; else if (x<z) m = y; else if (x>y) m = y; else if (x>z) m = x; print(“Middle number is:”, m); }

Code level File level

slide-7
SLIDE 7

Visual Forms – System Level

  • For large systems, even File Level view

requires scrolling

  • Use space-filling representation - TreeMap
slide-8
SLIDE 8

TreeMap Node Coloring

Goals

  • Preserve relative percentages of colors
  • Provide consistent color layout
slide-9
SLIDE 9

TreeMap Node Coloring

Goals

  • Preserve relative percentages of colors
  • Provide consistent color layout

Step 1 Step 2 Step 3 Step 4

slide-10
SLIDE 10

TreeMap Node Coloring

Goals

  • Preserve relative percentages of colors
  • Provide consistent color layout
slide-11
SLIDE 11

Visual Forms - Executions

  • Series of vertical bars, each representing an

execution

  • Large number of executions necessitates

richer forms of navigation than simple scroll- bar

slide-12
SLIDE 12

Execution Filters

{

Filter => “User = linus” User=“linus” JVM=“jikes1.3” Exception=“null” User=“jones” JVM=“ibm1.4.1” Exception= “File Not Found” User=“orso” JVM=“sun1.4” Exception=“null” User=“orso” JVM=“sun1.4” Exception=“null” User=“orso” JVM=“sun1.4” Exception= “Array Bounds” User=“harrold” JVM=“sun1.3.1” Exception= “null” User=“linus” JVM=“jikes1.3” Exception=“null” User=“linus” JVM=“jikes1.3” Exception= “Division by Zero”

slide-13
SLIDE 13

Execution Summarizers

User=“linus” JVM=“jikes1.3” Exception=“null” User=“jones” JVM=“ibm1.4.1” Exception= “File Not Found” User=“orso” JVM=“sun1.4” Exception=“null” User=“orso” JVM=“sun1.4” Exception=“null” User=“orso” JVM=“sun1.4” Exception= “Array Bounds” User=“harrold” JVM=“sun1.3.1” Exception= “null” User=“linus” JVM=“jikes1.3” Exception=“null” User=“linus” JVM=“jikes1.3” Exception= “Division by Zero”

{

Summarizer => “JVM” JVM = “jikes1.3”

slide-14
SLIDE 14

Gammatella

Software Developer Program Visualizer InsECT Instrumenter Data Collection Daemon Database Customer 1 Customer 2 Customer N program instrumented program execution data visualization/ interaction queries data

In the Field At Developers’ Site

slide-15
SLIDE 15

Experience

  • Subject program
  • Java Architecture for Bytecode Analysis

(JABA)

  • 60,000 lines of code in 550 classes
  • Deployment
  • 15 users
  • >2000 executions
  • Findings
  • Usage of features
  • Coverage of untested features
  • Usefulness of Gammatella’s features
slide-16
SLIDE 16

Gammatella

slide-17
SLIDE 17

Related Work

  • Eick, Sumner – SeeSoft
  • Schneiderman – Treemap
  • Baker, Eick – SeeSys
  • Reiss, Renieris – Bloom, ALMOST, …
  • Jones, Harrold, Stasko – Tarantula
  • DePauw et al. – Jinsight
  • Jerding, Stasko, Ball – Information

Mural

slide-18
SLIDE 18

Conclusions

  • New approach for visualizing field data
  • Maps field data to program representations using color
  • Provides multiple levels of abstraction for viewing large

programs, including new Treemap coloring

  • Accommodates large and continuously increasing

amounts of field data using querying techniques

  • Toolset, Gammatella, that enables collection and

visualization of deployed software’s execution

  • Experience with real users and real deployed

software

slide-19
SLIDE 19

Future Work

  • Deploy monitored software to more

users to investigate scalability

  • Investigate application to exception

analysis and fault localization

  • Explore other applications of approach

such as user-profile extraction

  • Investigate interaction and use of

public display