Your SlideShare is downloading. ×
0
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution

1,344

Published on

A presentation I gave at CSMR 2009 in Kaiserslautern, Germany

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,344
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. EvoSpaces Multi-dimensional Navigation Spaces for Software Evolution Michele Lanza, Harald Gall, Philippe Dugerdil
  • 2. Contents
  • 3. Contents
  • 4. Contents
  • 5. Contents
  • 6. Contents
  • 7. Key Data People & Money
  • 8. Project Summary
  • 9. Project Summary Duration Jan 2006 - Dec 2009 Budget ~ 550,000 EUR Funding Hasler Foundation
  • 10. Project Summary Duration Jan 2006 - Dec 2009 Budget ~ 550,000 EUR Funding Hasler Foundation
  • 11. Project Summary Duration Jan 2006 - Dec 2009 Budget ~ 550,000 EUR Funding Hasler Foundation
  • 12. Goal, Questions, Tracks
  • 13. Goal, Questions, Tracks ‣ Goal: Exploit multi-dimensional navigation spaces to efficiently visualize evolving software systems
  • 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. 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. Project Setup
  • 17. Project Setup
  • 18. Project Setup
  • 19. Approach Visualizing Software Systems as Cities
  • 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. 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. “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. “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. The City Metaphor
  • 25. The City Metaphor domain mapping classes buildings packages districts system city
  • 26. The City Metaphor domain mapping classes buildings packages districts system city
  • 27. The City Metaphor domain mapping classes buildings packages districts system city
  • 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. CodeCity (U Lugano) Azureus ArgoUML
  • 30. CodeCity @ Work
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. The Time Machine
  • 45. The Time Machine
  • 46. Meanwhile in Zurich: CoCoViz!
  • 47. The Essence? The EvoSpaces Tool (HEG Geneva)
  • 48. The Essence? The EvoSpaces Tool (HEG Geneva)
  • 49. The Essence? The EvoSpaces Tool (HEG Geneva)
  • 50. The Essence? The EvoSpaces Tool (HEG Geneva)
  • 51. Results Publications & Tools
  • 52. Publications & Tools
  • 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. 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. 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. 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. Reflections Unforeseen Consequences
  • 58. No Stakeholder
  • 59. No Stakeholder No Stake
  • 60. No Stakeholder No Stake Total Academic Freedom
  • 61. Collaboration mostly conceptual, less technical
  • 62. 2 PhDs 1 Programmer
  • 63. 2 PhDs 1 Programmer
  • 64. Success? Yes & No
  • 65. EvoSpaces Multi-dimensional Navigation Spaces for Software Evolution Michele Lanza, Harald Gall, Philippe Dugerdil

×