EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution

1,953 views

Published on

A presentation I gave at CSMR 2009 in Kaiserslautern, Germany

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,953
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution

  1. 1. EvoSpaces Multi-dimensional Navigation Spaces for Software Evolution Michele Lanza, Harald Gall, Philippe Dugerdil
  2. 2. Contents
  3. 3. Contents
  4. 4. Contents
  5. 5. Contents
  6. 6. Contents
  7. 7. Key Data People & Money
  8. 8. Project Summary
  9. 9. Project Summary Duration Jan 2006 - Dec 2009 Budget ~ 550,000 EUR Funding Hasler Foundation
  10. 10. Project Summary Duration Jan 2006 - Dec 2009 Budget ~ 550,000 EUR Funding Hasler Foundation
  11. 11. Project Summary Duration Jan 2006 - Dec 2009 Budget ~ 550,000 EUR Funding Hasler Foundation
  12. 12. Goal, Questions, Tracks
  13. 13. Goal, Questions, Tracks ‣ Goal: Exploit multi-dimensional navigation spaces to efficiently visualize evolving software systems
  14. 14. Goal, Questions, Tracks ‣ Goal: Exploit multi-dimensional navigation spaces to efficiently visualize evolving software systems ‣ Questions 1. What is the right metaphor to visualize software systems in 3D? 2. How do we interact with & navigate such an information space? 3. How can our visualizations contribute to and enrich the existing body of reverse engineering knowledge?
  15. 15. Goal, Questions, Tracks ‣ Goal: Exploit multi-dimensional navigation spaces to efficiently visualize evolving software systems ‣ Questions 1. What is the right metaphor to visualize software systems in 3D? 2. How do we interact with & navigate such an information space? 3. How can our visualizations contribute to and enrich the existing body of reverse engineering knowledge? ‣ Tracks 1. Software Models 2. Visualization Models 3. Interaction & Navigation Models ‣ Prototyping & Integration
  16. 16. Project Setup
  17. 17. Project Setup
  18. 18. Project Setup
  19. 19. Approach Visualizing Software Systems as Cities
  20. 20. Software Visualization “The use of the crafts of typography, graphic design, animation, and cinematography with modern human-computer interaction and computer graphics technology to facilitate both the human understanding and effective use of computer software.” John Stasko, 1998
  21. 21. Software Visualization “The use of the crafts of typography, graphic design, animation, and cinematography with modern human-computer interaction and computer graphics technology to facilitate both the human understanding and effective use of computer software.” John Stasko, 1998
  22. 22. “Software is intangible, having no physical shape or size.” Thomas Ball, Stephen Eick “Software Visualization in the Large” In Computer, vol. 29, no.4, pp. 33-43, IEEE Computer Society Press, 1996
  23. 23. “Habitability is the characteristic of source code that enables programmers, coders, bug-fixers, and people coming to the code later in its life to understand its construction and intentions and to change it comfortably and confidently.” Richard Gabriel On “Habitability and Piecemeal Growth”; in “Patterns of Software”
  24. 24. The City Metaphor
  25. 25. The City Metaphor domain mapping classes buildings packages districts system city
  26. 26. The City Metaphor domain mapping classes buildings packages districts system city
  27. 27. The City Metaphor domain mapping classes buildings packages districts system city
  28. 28. The City Metaphor domain mapping classes buildings packages districts system city class metric building property number of methods (NOM) height number of attributes (NOA) width, length package metric district property nesting level color
  29. 29. CodeCity (U Lugano) Azureus ArgoUML
  30. 30. CodeCity @ Work
  31. 31. CodeCity @ Work System Language NOP NOC LOC Azureus Java 457 4’734 274’000 ArgoUML Java 144 2’542 137’000 JHotDraw Java 72 998 30’000 iText Java 149 1’250 80’000 Jmol Java 105 1’032 85’000 JDK 1.5 Java 137 4’715 160’000 Moose Smalltalk 278 961 32’000 Jun Smalltalk 288 2’236 351’000 CodeCity Smalltalk 129 291 18’000 ScumVM C++ 18 1’331 105’000
  32. 32. CodeCity @ Work System Language NOP NOC LOC Azureus Java 457 4’734 274’000 ArgoUML Java 144 2’542 137’000 JHotDraw Java 72 998 30’000 iText Java 149 1’250 80’000 Jmol Java 105 1’032 85’000 JDK 1.5 Java 137 4’715 160’000 Moose Smalltalk 278 961 32’000 Jun Smalltalk 288 2’236 351’000 CodeCity Smalltalk 129 291 18’000 ScumVM C++ 18 1’331 105’000
  33. 33. CodeCity @ Work System Language NOP NOC LOC Azureus Java 457 4’734 274’000 ArgoUML Java 144 2’542 137’000 JHotDraw Java 72 998 30’000 iText Java 149 1’250 80’000 Jmol Java 105 1’032 85’000 JDK 1.5 Java 137 4’715 160’000 Moose Smalltalk 278 961 32’000 Jun Smalltalk 288 2’236 351’000 CodeCity Smalltalk 129 291 18’000 ScumVM C++ 18 1’331 105’000
  34. 34. CodeCity @ Work System Language NOP NOC LOC Azureus Java 457 4’734 274’000 ArgoUML Java 144 2’542 137’000 JHotDraw Java 72 998 30’000 iText Java 149 1’250 80’000 Jmol Java 105 1’032 85’000 JDK 1.5 Java 137 4’715 160’000 Moose Smalltalk 278 961 32’000 Jun Smalltalk 288 2’236 351’000 CodeCity Smalltalk 129 291 18’000 ScumVM C++ 18 1’331 105’000
  35. 35. CodeCity @ Work System Language NOP NOC LOC Azureus Java 457 4’734 274’000 ArgoUML Java 144 2’542 137’000 JHotDraw Java 72 998 30’000 iText Java 149 1’250 80’000 Jmol Java 105 1’032 85’000 JDK 1.5 Java 137 4’715 160’000 Moose Smalltalk 278 961 32’000 Jun Smalltalk 288 2’236 351’000 CodeCity Smalltalk 129 291 18’000 ScumVM C++ 18 1’331 105’000
  36. 36. CodeCity @ Work System Language NOP NOC LOC Azureus Java 457 4’734 274’000 ArgoUML Java 144 2’542 137’000 JHotDraw Java 72 998 30’000 iText Java 149 1’250 80’000 Jmol Java 105 1’032 85’000 JDK 1.5 Java 137 4’715 160’000 Moose Smalltalk 278 961 32’000 Jun Smalltalk 288 2’236 351’000 CodeCity Smalltalk 129 291 18’000 ScumVM C++ 18 1’331 105’000
  37. 37. CodeCity @ Work System Language NOP NOC LOC Azureus Java 457 4’734 274’000 ArgoUML Java 144 2’542 137’000 JHotDraw Java 72 998 30’000 iText Java 149 1’250 80’000 Jmol Java 105 1’032 85’000 JDK 1.5 Java 137 4’715 160’000 Moose Smalltalk 278 961 32’000 Jun Smalltalk 288 2’236 351’000 CodeCity Smalltalk 129 291 18’000 ScumVM C++ 18 1’331 105’000
  38. 38. CodeCity @ Work System Language NOP NOC LOC Azureus Java 457 4’734 274’000 ArgoUML Java 144 2’542 137’000 JHotDraw Java 72 998 30’000 iText Java 149 1’250 80’000 Jmol Java 105 1’032 85’000 JDK 1.5 Java 137 4’715 160’000 Moose Smalltalk 278 961 32’000 Jun Smalltalk 288 2’236 351’000 CodeCity Smalltalk 129 291 18’000 ScumVM C++ 18 1’331 105’000
  39. 39. CodeCity @ Work System Language NOP NOC LOC Azureus Java 457 4’734 274’000 ArgoUML Java 144 2’542 137’000 JHotDraw Java 72 998 30’000 iText Java 149 1’250 80’000 Jmol Java 105 1’032 85’000 JDK 1.5 Java 137 4’715 160’000 Moose Smalltalk 278 961 32’000 Jun Smalltalk 288 2’236 351’000 CodeCity Smalltalk 129 291 18’000 ScumVM C++ 18 1’331 105’000
  40. 40. CodeCity @ Work System Language NOP NOC LOC Azureus Java 457 4’734 274’000 ArgoUML Java 144 2’542 137’000 JHotDraw Java 72 998 30’000 iText Java 149 1’250 80’000 Jmol Java 105 1’032 85’000 JDK 1.5 Java 137 4’715 160’000 Moose Smalltalk 278 961 32’000 Jun Smalltalk 288 2’236 351’000 CodeCity Smalltalk 129 291 18’000 ScumVM C++ 18 1’331 105’000
  41. 41. CodeCity @ Work System Language NOP NOC LOC Azureus Java 457 4’734 274’000 ArgoUML Java 144 2’542 137’000 JHotDraw Java 72 998 30’000 iText Java 149 1’250 80’000 Jmol Java 105 1’032 85’000 JDK 1.5 Java 137 4’715 160’000 Moose Smalltalk 278 961 32’000 Jun Smalltalk 288 2’236 351’000 CodeCity Smalltalk 129 291 18’000 ScumVM C++ 18 1’331 105’000
  42. 42. CodeCity @ Work System Language NOP NOC LOC Azureus Java 457 4’734 274’000 ArgoUML Java 144 2’542 137’000 JHotDraw Java 72 998 30’000 iText Java 149 1’250 80’000 Jmol Java 105 1’032 85’000 JDK 1.5 Java 137 4’715 160’000 Moose Smalltalk 278 961 32’000 Jun Smalltalk 288 2’236 351’000 CodeCity Smalltalk 129 291 18’000 ScumVM C++ 18 1’331 105’000
  43. 43. The Age Map CH.ifa.draw.framework class StandardDrawingView CH.ifa.draw.figures in CH.ifa.draw.standard. class DrawApplication in CH.ifa.draw.application library packages: java javax junit org.w3c.dom CH.ifa.draw.standard CH.ifa.draw.test (classes) AllTests
  44. 44. The Time Machine
  45. 45. The Time Machine
  46. 46. Meanwhile in Zurich: CoCoViz!
  47. 47. The Essence? The EvoSpaces Tool (HEG Geneva)
  48. 48. The Essence? The EvoSpaces Tool (HEG Geneva)
  49. 49. The Essence? The EvoSpaces Tool (HEG Geneva)
  50. 50. The Essence? The EvoSpaces Tool (HEG Geneva)
  51. 51. Results Publications & Tools
  52. 52. Publications & Tools
  53. 53. Publications & Tools ‣ Publications ‣ 1 book chapter ‣ 6 conference papers @ ICSM, WCRE, Softvis, ICPC, INTG, SEKE ‣ 4 workshop papers @ VISSOFT, VISSOFT, WASDeTT, FAMOOSr ‣ 4 tool demos @ ICSE, ICSE, WCRE, WCRE ‣ 1 PhD symposium @ ICSE ‣ 1 tutorial @ OOPSLA ‣ More are coming..
  54. 54. Publications & Tools ‣ Publications ‣ 1 book chapter ‣ 6 conference papers @ ICSM, WCRE, Softvis, ICPC, INTG, SEKE ‣ 4 workshop papers @ VISSOFT, VISSOFT, WASDeTT, FAMOOSr ‣ 4 tool demos @ ICSE, ICSE, WCRE, WCRE ‣ 1 PhD symposium @ ICSE ‣ 1 tutorial @ OOPSLA ‣ More are coming..
  55. 55. Publications & Tools ‣ ‣ Publications Tools ‣ 1 book chapter ‣ CoCoViz ‣ 6 conference papers @ ‣ CodeCity ICSM, WCRE, Softvis, ICPC, ‣ “The EvoSpaces” tool INTG, SEKE ‣ 4 workshop papers @ VISSOFT, VISSOFT, WASDeTT, FAMOOSr ‣ 4 tool demos @ ICSE, ICSE, WCRE, WCRE ‣ 1 PhD symposium @ ICSE ‣ 1 tutorial @ OOPSLA ‣ More are coming..
  56. 56. Publications & Tools ‣ ‣ Publications Tools ‣ 1 book chapter ‣ CoCoViz ‣ 6 conference papers @ ‣ CodeCity ICSM, WCRE, Softvis, ICPC, ‣ “The EvoSpaces” tool INTG, SEKE ‣ 4 workshop papers @ VISSOFT, VISSOFT, WASDeTT, FAMOOSr ‣ 4 tool demos @ ICSE, ICSE, WCRE, WCRE ‣ 1 PhD symposium @ ICSE ‣ 1 tutorial @ OOPSLA ‣ More are coming..
  57. 57. Reflections Unforeseen Consequences
  58. 58. No Stakeholder
  59. 59. No Stakeholder No Stake
  60. 60. No Stakeholder No Stake Total Academic Freedom
  61. 61. Collaboration mostly conceptual, less technical
  62. 62. 2 PhDs 1 Programmer
  63. 63. 2 PhDs 1 Programmer
  64. 64. Success? Yes & No
  65. 65. EvoSpaces Multi-dimensional Navigation Spaces for Software Evolution Michele Lanza, Harald Gall, Philippe Dugerdil

×