Visual Exploration of Large-Scale Evolving Software

1,553 views
1,416 views

Published on

The presentation I gave at the ICSE 2009 doctoral consortium. Squeezing 3 years of work in a 10 minutes presentation is definitely a valuable exercise.

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,553
On SlideShare
0
From Embeds
0
Number of Embeds
316
Actions
Shares
0
Downloads
69
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Visual Exploration of Large-Scale Evolving Software

  1. 1. Visual Exploration of Large-Scale Evolving Software Richard Wettel University of Lugano, Switzerland Supervisor: Michele Lanza
  2. 2. understanding software is expensive
  3. 3. software systems are
  4. 4. software systems are large
  5. 5. software systems are large complex
  6. 6. software systems are large complex ev l g o vin
  7. 7. “Software is intangible, having no physical shape or size”. [Ball & Eick, IEEE Computer 1996]
  8. 8. seeing is understanding
  9. 9. Visualization makes software more tangible, using metaphors.
  10. 10. Visualization makes software more tangible, using metaphors.
  11. 11. research hypothesis The use of a city metaphor helps building a consistent mental model of software systems.
  12. 12. the city metaphor Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
  13. 13. the city metaphor class building package district Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
  14. 14. the city metaphor class building package district Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
  15. 15. the city metaphor number of methods (NOM) height number of attributes (NOA) base size class building package district Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
  16. 16. the city metaphor number of methods (NOM) height number of attributes (NOA) base size class building package district nesting level color Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
  17. 17. ArgoUML ~2‘500 classes ~150 packages
  18. 18. Application 1: program comprehension ArgoUML ~2‘500 classes ~150 packages Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability. In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
  19. 19. Application 1: program comprehension massive buildings ArgoUML ~2‘500 classes ~150 packages Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability. In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
  20. 20. Application 1: program comprehension skyscrapers massive buildings ArgoUML ~2‘500 classes ~150 packages Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability. In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
  21. 21. Application 1: program comprehension skyscrapers massive buildings ArgoUML ~2‘500 classes ~150 packages parking lots Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability. In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
  22. 22. Application 1: program comprehension skyscrapers massive buildings ArgoUML ~2‘500 classes houses ~150 packages parking lots Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability. In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
  23. 23. case studies
  24. 24. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  25. 25. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  26. 26. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  27. 27. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  28. 28. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  29. 29. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  30. 30. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  31. 31. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  32. 32. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  33. 33. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  34. 34. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  35. 35. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  36. 36. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  37. 37. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  38. 38. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  39. 39. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  40. 40. Application 3: design assessment ArgoUML Richard Wettel, Michele Lanza. Visually Localizing Design Problems with Disharmony Maps. In Proceedings of Softvis 2008 (4th ACM International Symposium on Software Visualization), pp. 155 - 164, ACM Press, 2008.
  41. 41. Application 3: design assessment ArgoUML Brain classes 8 God classes 30 Brain & God classes 6 Data classes 17 Richard Wettel, Michele Lanza. Visually Localizing Design Problems with Disharmony Maps. In Proceedings of Softvis 2008 (4th ACM International Symposium on Software Visualization), pp. 155 - 164, ACM Press, 2008.
  42. 42. tool support Richard Wettel, Michele Lanza. CodeCity: 3D Visualization of Large-Scale Software. In companion Proceedings of ICSE 2008 (30th International Conference on Software Engineering), Research Demonstration Track, pp. 921 - 922, ACM Press, 2008. Richard Wettel, Michele Lanza. CodeCity. In Proceedings of WASDeTT 2008 (1st International Workshop on Advanced Software Development Tools and Techniques), 2008.
  43. 43. tool support Richard Wettel, Michele Lanza. CodeCity: 3D Visualization of Large-Scale Software. In companion Proceedings of ICSE 2008 (30th International Conference on Software Engineering), Research Demonstration Track, pp. 921 - 922, ACM Press, 2008. Richard Wettel, Michele Lanza. CodeCity. In Proceedings of WASDeTT 2008 (1st International Workshop on Advanced Software Development Tools and Techniques), 2008. Richard Wettel. Scripting 3D Visualizations with CodeCity In Proceedings of FAMOOSr 2008 (2nd Workshop on FAMIX and Moose in Reengineering), 2008.
  44. 44. tool support http://www.inf.unisi.ch/phd/wettel/ codecity.html Richard Wettel, Michele Lanza. CodeCity: 3D Visualization of Large-Scale Software. In companion Proceedings of ICSE 2008 (30th International Conference on Software Engineering), Research Demonstration Track, pp. 921 - 922, ACM Press, 2008. Richard Wettel, Michele Lanza. CodeCity. In Proceedings of WASDeTT 2008 (1st International Workshop on Advanced Software Development Tools and Techniques), 2008. Richard Wettel. Scripting 3D Visualizations with CodeCity In Proceedings of FAMOOSr 2008 (2nd Workshop on FAMIX and Moose in Reengineering), 2008.
  45. 45. current status
  46. 46. current status
  47. 47. current status
  48. 48. current status Prof. Michele Lanza advisor Prof. Matthias Hauswirth internal member Prof. Cesare Pautasso internal member Prof. André van der Hoek external member Prof. Rainer Koschke external member
  49. 49. current status Prof. Michele Lanza advisor Prof. Matthias Hauswirth internal member Prof. Cesare Pautasso internal member Prof. André van der Hoek external member Prof. Rainer Koschke external member
  50. 50. current status: 10 months to go Prof. Michele Lanza advisor Prof. Matthias Hauswirth internal member Prof. Cesare Pautasso internal member Prof. André van der Hoek external member Prof. Rainer Koschke external member
  51. 51. contributions remaining work
  52. 52. contributions remaining work city metaphor 1 VISSOFT 2007
  53. 53. contributions remaining work city metaphor 1 VISSOFT 2007 applications 2
  54. 54. contributions remaining work city metaphor 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007
  55. 55. contributions remaining work city metaphor 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007 ‣evolution analysis SoftVis 2008
  56. 56. contributions remaining work city metaphor 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008
  57. 57. contributions remaining work city metaphor 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 tool 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  58. 58. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 tool 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  59. 59. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 tool 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  60. 60. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007 ‣evolution analysis ‣design assessment SoftVis 2008 WCRE 2008 2 experimental validation tool 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  61. 61. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 validation experimental 2 ‣program comprehension ICPC 2007 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 tool 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  62. 62. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 validation experimental 2 ‣program comprehension ICPC 2007 Oct.2009 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 tool 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  63. 63. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 validation experimental 2 ‣program comprehension ICPC 2007 Oct.2009 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 writing tool Mar.2010 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  64. 64. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 validation experimental 2 ‣program comprehension ICPC 2007 Oct.2009 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 writing tool Mar.2010 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008 Apr. 2010 defense
  65. 65. Richard Wettel http://www.inf.unisi.ch/phd/wettel http://creativecommons.org/licenses/by/3.0/

×