visual exploration of large-scale evolving software

65
Visual Exploration of Large-Scale Evolving Software Richard Wettel University of Lugano, Switzerland Supervisor: Michele Lanza

Post on 21-Oct-2014

2.130 views

Category:

Technology


0 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Visual Exploration of Large-Scale Evolving Software

Visual Explorationof Large-Scale Evolving Software

Richard Wettel

University of Lugano, Switzerland

Supervisor: Michele Lanza

Page 2: Visual Exploration of Large-Scale Evolving Software

expensive

understanding software is

Page 3: Visual Exploration of Large-Scale Evolving Software

software systems are

Page 4: Visual Exploration of Large-Scale Evolving Software

software systems are

large

Page 5: Visual Exploration of Large-Scale Evolving Software

software systems are

largecomplex

Page 6: Visual Exploration of Large-Scale Evolving Software

software systems are

largecomplex

evolving

Page 7: Visual Exploration of Large-Scale Evolving Software

“Software is intangible, having no physical shape or size”.

[Ball & Eick, IEEE Computer 1996]

Page 8: Visual Exploration of Large-Scale Evolving Software

seeingis understanding

Page 9: Visual Exploration of Large-Scale Evolving Software

Visualization makes software more tangible, using metaphors.

Page 10: Visual Exploration of Large-Scale Evolving Software

Visualization makes software more tangible, using metaphors.

Page 11: Visual Exploration of Large-Scale Evolving Software

The use of a citymetaphor helps building a consistent mental model of software systems.

research hypothesis

Page 12: Visual Exploration of Large-Scale Evolving Software

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.

Page 13: Visual Exploration of Large-Scale Evolving Software

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.

class building

package district

Page 14: Visual Exploration of Large-Scale Evolving Software

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.

class building

package district

Page 15: Visual Exploration of Large-Scale Evolving Software

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.

class building

package district

number of methods (NOM) height

number of attributes (NOA) base size

Page 16: Visual Exploration of Large-Scale Evolving Software

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.

class building

package district

number of methods (NOM) height

number of attributes (NOA) base size

nesting level color

Page 17: Visual Exploration of Large-Scale Evolving Software

ArgoUML~2‘500 classes~150 packages

Page 18: Visual Exploration of Large-Scale Evolving Software

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.

Page 19: Visual Exploration of Large-Scale Evolving Software

Application 1: program comprehension

ArgoUML~2‘500 classes~150 packages

massive buildings

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.

Page 20: Visual Exploration of Large-Scale Evolving Software

Application 1: program comprehension

ArgoUML~2‘500 classes~150 packages

skyscrapersmassive buildings

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.

Page 21: Visual Exploration of Large-Scale Evolving Software

Application 1: program comprehension

ArgoUML~2‘500 classes~150 packages

skyscrapersmassive buildings

parking lotsRichard 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.

Page 22: Visual Exploration of Large-Scale Evolving Software

Application 1: program comprehension

ArgoUML~2‘500 classes~150 packages

skyscrapers

houses

massive buildings

parking lotsRichard 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.

Page 23: Visual Exploration of Large-Scale Evolving Software

case studies

Page 24: Visual Exploration of Large-Scale Evolving Software

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

case studies

Page 25: Visual Exploration of Large-Scale Evolving Software

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

case studies

Page 26: Visual Exploration of Large-Scale Evolving Software

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

case studies

Page 27: Visual Exploration of Large-Scale Evolving Software

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

case studies

Page 28: Visual Exploration of Large-Scale Evolving Software

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

case studies

Page 29: Visual Exploration of Large-Scale Evolving Software

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

case studies

Page 30: Visual Exploration of Large-Scale Evolving Software

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

case studies

Page 31: Visual Exploration of Large-Scale Evolving Software

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.

ArgoUML8 major releases~5 years

Application 2: evolution analysis

Page 32: Visual Exploration of Large-Scale Evolving Software

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.

ArgoUML8 major releases~5 years

Application 2: evolution analysis

Page 33: Visual Exploration of Large-Scale Evolving Software

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.

ArgoUML8 major releases~5 years

Application 2: evolution analysis

Page 34: Visual Exploration of Large-Scale Evolving Software

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.

ArgoUML8 major releases~5 years

Application 2: evolution analysis

Page 35: Visual Exploration of Large-Scale Evolving Software

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.

ArgoUML8 major releases~5 years

Application 2: evolution analysis

Page 36: Visual Exploration of Large-Scale Evolving Software

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.

ArgoUML8 major releases~5 years

Application 2: evolution analysis

Page 37: Visual Exploration of Large-Scale Evolving Software

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.

ArgoUML8 major releases~5 years

Application 2: evolution analysis

Page 38: Visual Exploration of Large-Scale Evolving Software

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.

ArgoUML8 major releases~5 years

Application 2: evolution analysis

Page 39: Visual Exploration of Large-Scale Evolving Software

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.

ArgoUML8 major releases~5 years

Application 2: evolution analysis

Page 40: Visual Exploration of Large-Scale Evolving Software

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.

ArgoUML

Application 3: design assessment

Page 41: Visual Exploration of Large-Scale Evolving Software

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.

ArgoUML

Application 3: design assessment

Brain classes 8

God classes 30

Brain & God classes 6

Data classes 17

Page 42: Visual Exploration of Large-Scale Evolving Software

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.

Page 43: Visual Exploration of Large-Scale Evolving Software

tool support

Richard Wettel. Scripting 3D Visualizations with CodeCity In Proceedings of FAMOOSr 2008 (2nd Workshop on FAMIX and Moose in Reengineering), 2008.

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.

Page 44: Visual Exploration of Large-Scale Evolving Software

http://www.inf.unisi.ch/phd/wettel/codecity.html

tool support

Richard Wettel. Scripting 3D Visualizations with CodeCity In Proceedings of FAMOOSr 2008 (2nd Workshop on FAMIX and Moose in Reengineering), 2008.

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.

Page 45: Visual Exploration of Large-Scale Evolving Software

current status

Page 46: Visual Exploration of Large-Scale Evolving Software

current status

Page 47: Visual Exploration of Large-Scale Evolving Software

current status

Page 48: Visual Exploration of Large-Scale Evolving Software

Prof. Rainer Koschkeexternal member

Prof. Michele Lanzaadvisor

Prof. André van der Hoekexternal member

Prof. Matthias Hauswirthinternal member

Prof. Cesare Pautassointernal member

current status

Page 49: Visual Exploration of Large-Scale Evolving Software

Prof. Rainer Koschkeexternal member

Prof. Michele Lanzaadvisor

Prof. André van der Hoekexternal member

Prof. Matthias Hauswirthinternal member

Prof. Cesare Pautassointernal member

current status

Page 50: Visual Exploration of Large-Scale Evolving Software

Prof. Rainer Koschkeexternal member

Prof. Michele Lanzaadvisor

Prof. André van der Hoekexternal member

Prof. Matthias Hauswirthinternal member

Prof. Cesare Pautassointernal member

current status: 10 months to go

Page 51: Visual Exploration of Large-Scale Evolving Software

contributions remaining work

Page 52: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

contributions remaining work

Page 53: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

2applications

contributions remaining work

Page 54: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

2applications‣program comprehension ICPC 2007

contributions remaining work

Page 55: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

2applications‣program comprehension

‣evolution analysis

ICPC 2007

SoftVis 2008

contributions remaining work

Page 56: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

2applications‣program comprehension

‣evolution analysis

‣design assessment

ICPC 2007

WCRE 2008

SoftVis 2008

contributions remaining work

Page 57: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

2applications‣program comprehension

‣evolution analysis

‣design assessment

ICPC 2007

WCRE 2008

SoftVis 2008

3tool ICSE 2008 (demo)

WASDeTT 2008

FAMOOSr 2008

contributions remaining work

Page 58: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

2applications‣program comprehension

‣evolution analysis

‣design assessment

ICPC 2007

WCRE 2008

SoftVis 2008

3tool ICSE 2008 (demo)

WASDeTT 2008

FAMOOSr 2008

contributions remaining work

1 relationships

Page 59: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

2applications‣program comprehension

‣evolution analysis

‣design assessment

ICPC 2007

WCRE 2008

SoftVis 2008

3tool ICSE 2008 (demo)

WASDeTT 2008

FAMOOSr 2008

contributions remaining work

1 relationships

Page 60: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

2applications‣program comprehension

‣evolution analysis

‣design assessment

ICPC 2007

WCRE 2008

SoftVis 2008

3tool ICSE 2008 (demo)

WASDeTT 2008

FAMOOSr 2008

contributions remaining work

1 relationships

2 experimentalvalidation

Page 61: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

2applications‣program comprehension

‣evolution analysis

‣design assessment

ICPC 2007

WCRE 2008

SoftVis 2008

3tool ICSE 2008 (demo)

WASDeTT 2008

FAMOOSr 2008

contributions remaining work

1 relationships

2 experimentalvalidation

Page 62: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

2applications‣program comprehension

‣evolution analysis

‣design assessment

ICPC 2007

WCRE 2008

SoftVis 2008

3tool ICSE 2008 (demo)

WASDeTT 2008

FAMOOSr 2008

contributions remaining work

1 relationships

2 experimentalvalidation

Oct.2009

Page 63: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

2applications‣program comprehension

‣evolution analysis

‣design assessment

ICPC 2007

WCRE 2008

SoftVis 2008

3tool ICSE 2008 (demo)

WASDeTT 2008

FAMOOSr 2008

contributions remaining work

1 relationships

2 experimentalvalidation

Oct.2009

Mar.2010

writing

Page 64: Visual Exploration of Large-Scale Evolving Software

1city metaphor VISSOFT 2007

2applications‣program comprehension

‣evolution analysis

‣design assessment

ICPC 2007

WCRE 2008

SoftVis 2008

3tool ICSE 2008 (demo)

WASDeTT 2008

FAMOOSr 2008

contributions remaining work

1 relationships

2 experimentalvalidation

Apr. 2010

Oct.2009

Mar.2010

writing

defense

Page 65: Visual Exploration of Large-Scale Evolving Software

Richard Wettelhttp://www.inf.unisi.ch/phd/wettel

http://creativecommons.org/licenses/by/3.0/