visualization of program execution data for deployed
play

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


  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

  2. Motivation

  3. Challenges • Visualization • Field data representation • Program size • Amount of field data – Execution visualization, Filters, Summarizers • System for collecting/visualizing data

  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

  5. Color • Color used to represent characteristics of code and its executions • Mapping of data to color dependent on intent of visualization procedure print() { for i = 1 to 10 { for j = 1 to 10 { print j } print i } }

  6. Visual Forms – Code Level, File Level 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); }

  7. Visual Forms – System Level • For large systems, even File Level view requires scrolling • Use space-filling representation - TreeMap

  8. TreeMap Node Coloring Goals • Preserve relative percentages of colors • Provide consistent color layout

  9. TreeMap Node Coloring Goals • Preserve relative percentages of colors • Provide consistent color layout Step 1 Step 2 Step 3 Step 4

  10. TreeMap Node Coloring Goals • Preserve relative percentages of colors • Provide consistent color layout

  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

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

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

  14. Gammatella Customer 1 queries execution data Program Data Collection Database Visualizer Daemon visualization/ Customer 2 interaction data Software Developer program InsECT Instrumenter instrumented Customer N program At Developers’ Site In the Field

  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

  16. Gammatella

  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

  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

  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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend