visual exploration of large-scale system evolution
DESCRIPTION
On visualization of software evolution using a 3D city metaphor. Presented at WCRE 2008 (Antwerp, Belgium), October, 2008.TRANSCRIPT
![Page 1: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/1.jpg)
Visual Exploration of Large-Scale
System EvolutionRichard Wettel and Michele Lanza
REVEAL group, Faculty of InformaticsUniversity of Lugano, Switzerland
![Page 2: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/2.jpg)
Software systems as citiesPhoto: SkyShaper (Flickr)
![Page 3: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/3.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
The city metaphor
3
![Page 4: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/4.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
The city metaphor
3
domain mapping
class building
package district
system city
![Page 5: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/5.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
The city metaphor
3
domain mapping
class building
package district
system city
![Page 6: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/6.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
The city metaphor
3
domain mapping
class building
package district
system city
![Page 7: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/7.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
The city metaphor
3
domain mapping
class building
package district
system city
![Page 8: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/8.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
The city metaphor
3
domain mapping
class building
package district
system city
number of methods (NOM) height
number of attributes (NOA) base size
![Page 9: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/9.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
The city metaphor
3
domain mapping
class building
package district
system city
nesting level color
number of methods (NOM) height
number of attributes (NOA) base size
![Page 10: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/10.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
The city metaphor
3
domain mapping
class building
package district
system city
nesting level color
number of methods (NOM) height
number of attributes (NOA) base size [Wettel & Lanza, ICPC 2007]
[Wettel & Lanza, VISSOFT 2007]
![Page 11: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/11.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Decoding a city: ArgoUML
4
![Page 12: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/12.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Decoding a city: ArgoUML
4
skyscrapers(NOM, NOA)
![Page 13: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/13.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Decoding a city: ArgoUML
4
skyscrapers(NOM, NOA)
parking lots(NOM, NOA)
![Page 14: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/14.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Decoding a city: ArgoUML
4
skyscrapers(NOM, NOA)
parking lots(NOM, NOA)
office buildings(NOM, NOA)
![Page 15: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/15.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
![Page 16: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/16.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
![Page 17: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/17.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
![Page 18: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/18.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
![Page 19: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/19.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
![Page 20: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/20.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
![Page 21: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/21.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
![Page 22: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/22.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
![Page 23: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/23.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
![Page 24: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/24.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
![Page 25: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/25.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
![Page 26: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/26.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
![Page 27: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/27.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
![Page 28: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/28.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code cities
5
System Language NOP NOC kLOC
Azureus Java 457 4734 274
ArgoUML Java 144 2542 137
JHotDraw Java 72 998 30
iText Java 149 1250 80
Jmol Java 105 1032 85
JDK 1.5 Java 137 4715 160
Moose Smalltalk 278 961 32
Jun Smalltalk 288 2236 351
CodeCity Smalltalk 129 291 18
ScumVM C++ 18 1331 105
1.25 million LOC
![Page 29: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/29.jpg)
Software in time...
![Page 30: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/30.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 7
Numbers on the history data
System ArgoUML JHotDraw Jmol
Packages 144 72 105
Classes 2,542 998 1,032
Lines of code 137,000 30,000 85,000
Sampling start Oct. 2002 Oct. 2000 Jan. 2000
Sampling end Feb. 2007 Apr. 2005 Aug. 2007
Revisions 15,535 267 8,065
Sampling period release-based 1 week 6 months 8 weeks
Samples 9 57 8 50
![Page 31: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/31.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Evolution of a code city: ArgoUML
8
![Page 32: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/32.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Evolution of a code city: ArgoUML
8
![Page 33: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/33.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 9
![Page 34: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/34.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 9
1. Age map
![Page 35: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/35.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 9
1. Age map 2. Time travel
![Page 36: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/36.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 9
1. Age map 2. Time travel 3. Timeline
![Page 37: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/37.jpg)
Age map
![Page 38: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/38.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Principle of age map
11
![Page 39: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/39.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Glimpse in the pastentities colored according to age
Principle of age map
11
![Page 40: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/40.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Glimpse in the pastentities colored according to age
Principle of age map
11
1Nnew-bornveteran
![Page 41: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/41.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Glimpse in the pastentities colored according to age
Principle of age map
11
1Nnew-bornveteran
![Page 42: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/42.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Glimpse in the pastentities colored according to age
Principle of age map
11
1N
age (number of survived versions)
new-bornveteran
![Page 43: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/43.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Coarse-grained age map: ArgoUML
12
![Page 44: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/44.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Coarse-grained age map: ArgoUML
12
org.argouml.language. java.generator
JavaTokenTypes
146 attributes
0 methods
JavaRecognizer
24 attributes
91 methods
![Page 45: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/45.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Coarse-grained age map: ArgoUML
12
org.argouml.language. java.generator
JavaTokenTypes
173 attributes
0 methods
JavaRecognizer
79 attributes
176 methods
org.argouml.uml.reveng.java
JavaTokenTypes
146 attributes
0 methods
JavaRecognizer
24 attributes
91 methods
![Page 46: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/46.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Refining the granularity
13
NO
M =
7
NOA
= 2
NOA = 2
class C
![Page 47: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/47.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Refining the granularity
13
NO
M =
7
NOA
= 2
NOA = 2
class C
![Page 48: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/48.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Refining the granularity
13
NO
M =
7
NOA
= 2
NOA = 2
class C
class Cm4
m1m3
m5 m7
m6
m2
old
new
![Page 49: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/49.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Fine-grained age map: JHotDraw
14
library packages:
java
javax
junit
org.w3c.dom
(classes) AllTests
CH.ifa.draw.standard
CH.ifa.draw.frameworkCH.ifa.draw.figures
CH.ifa.draw.test
class DrawApplication
in CH.ifa.draw.application
class StandardDrawingView
in CH.ifa.draw.standard.
![Page 50: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/50.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Buildings in age maps
15
age: 1 2 3 4 5 6 7 8
![Page 51: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/51.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Buildings in age maps
15
age: 1 2 3 4 5 6 7 8
stable
very old
![Page 52: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/52.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Buildings in age maps
15
age: 1 2 3 4 5 6 7 8
stable
oldvery old
rarely updated
![Page 53: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/53.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Buildings in age maps
15
age: 1 2 3 4 5 6 7 8
stable
youngoldvery old
rarely updated
highly unstable
![Page 54: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/54.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Buildings in age maps
15
age: 1 2 3 4 5 6 7 8
stable
youngoldvery old
rarely updated
highly unstable
very old
updated often,
rather unstable
![Page 55: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/55.jpg)
Time travel
![Page 56: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/56.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Travelling through ArgoUML’s time
17
0.10.1
0.12
0.14
0.16
0.18.1
0.20
0.22
0.23.4
0.24
![Page 57: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/57.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Travelling through ArgoUML’s time
17
0.10.1
0.12
0.14
0.16
0.18.1
0.20
0.22
0.23.4
0.24
![Page 58: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/58.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Travelling through ArgoUML’s time
17
ModelFacadeNOM: 184, NOA: 60
0.10.1
0.12
0.14
0.16
0.18.1
0.20
0.22
0.23.4
0.24
![Page 59: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/59.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Travelling through ArgoUML’s time
17
0.10.1
0.12
0.14
0.16
0.18.1
0.20
0.22
0.23.4
0.24
ModelFacadeNOM: 435, NOA: 108
![Page 60: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/60.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Travelling through ArgoUML’s time
17
0.10.1
0.12
0.14
0.16
0.18.1
0.20
0.22
0.23.4
0.24
NSUMLModelFacadeNOM: 319, NOA: 2
FacadeNOM: 306, NOA: 1
![Page 61: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/61.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
FacadeMDRImplNOM: 329, NOA: 2
Travelling through ArgoUML’s time
17
0.10.1
0.12
0.14
0.16
0.18.1
0.20
0.22
0.23.4
0.24
NSUMLModelFacadeNOM: 334, NOA: 2
FacadeNOM: 319, NOA: 1
![Page 62: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/62.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
FacadeMDRImplNOM: 340, NOA: 3
Travelling through ArgoUML’s time
17
0.10.1
0.12
0.14
0.16
0.18.1
0.20
0.22
0.23.4
0.24
FacadeNOM: 329, NOA: 1
![Page 63: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/63.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Travelling through ArgoUML’s time
17
0.10.1
0.12
0.14
0.16
0.18.1
0.20
0.22
0.23.4
0.24
![Page 64: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/64.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Travelling through ArgoUML’s time
17
0.10.1
0.12
0.14
0.16
0.18.1
0.20
0.22
0.23.4
0.24
![Page 65: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/65.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Reality check no. 1
18
![Page 66: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/66.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Reality check no. 1
18
L.T., main developer of ArgoUML:“ModelFacade was an implementation of the model subsystem using NSUML repository. When the change was made to MDR we turned this to a regular interface allowing for several different repositories.”
“The attributes in the ModelFacade are not attributes but constant tokens used in the NSUML repository implementation.”
![Page 67: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/67.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Example of system getting old
19
JHotDraw
![Page 68: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/68.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Example of system getting old
19
JHotDraw
![Page 69: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/69.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Example of system getting old
19
JHotDraw
![Page 70: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/70.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Example of system getting old
19
JHotDraw
![Page 71: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/71.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Example of system getting old
19
JHotDraw
![Page 72: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/72.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Example of system getting old
19
JHotDraw
![Page 73: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/73.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Example of system getting old
19
JHotDraw
![Page 74: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/74.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Example of system getting old
19
JHotDraw
![Page 75: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/75.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Reality check no. 2
20
![Page 76: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/76.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Reality check no. 2
20
W.K., developer of JHotDraw:“I used a JavaDoc-based code generator to automatically generate test cases for the JHotDraw. Therefore, the test methods are still not implemented and only the work to do is outlined.“
![Page 77: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/77.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Story of Jmol’s evolution
21
![Page 78: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/78.jpg)
Timeline
1887 Sep. 1887 Dec. 1888 Mar. 1888 Jun. 1888 Sep. 1888 Dec. 1889 Mar.
![Page 79: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/79.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Timeline principles
23
History of class C
![Page 80: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/80.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Timeline principles
23
time (versions)m3
m5
History of class C
V1
![Page 81: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/81.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Timeline principles
23
time (versions)m3
m5 m8
m12
m3
History of class C
V1
V2
![Page 82: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/82.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Timeline principles
23
time (versions)m3
m5 m8
m12
m3
History of class C
V1
V2
![Page 83: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/83.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Timeline principles
23
time (versions)m3
m5 m8
m12
m3
m12
m18
History of class C
V1
V2
V3
![Page 84: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/84.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Timeline principles
23
time (versions)m3
m5 m8
m12
m3
m12
m18
History of class C
V1
V2
V3
![Page 85: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/85.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Code decays...
24
StandardDrawingView(JHotDraw)
GeneratorJava(ArgoUML)
Eval(Jmol)
![Page 86: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/86.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Color anomalies reveal restores
25
forcePixeldisappears after v1
reappears in v9
applyBlueAnaglyphdisappears after v10
reappears in v18
fillTriangledisappears after v5
reappears in v21
Graphics3D
![Page 87: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/87.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Contemporary methods have the same color.
Color anomalies reveal restores
25
forcePixeldisappears after v1
reappears in v9
applyBlueAnaglyphdisappears after v10
reappears in v18
fillTriangledisappears after v5
reappears in v21
Graphics3D
![Page 88: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/88.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Contemporary methods have the same color.
Contemporary methods are also neighbors.
Color anomalies reveal restores
25
forcePixeldisappears after v1
reappears in v9
applyBlueAnaglyphdisappears after v10
reappears in v18
fillTriangledisappears after v5
reappears in v21
Graphics3D
![Page 89: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/89.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 26
Similar pattern in Jmol timelines
TransformManager
JmolViewer
Eval
Viewer
![Page 90: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/90.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 26
Similar pattern in Jmol timelines
TransformManager
JmolViewer
Eval
Viewer
![Page 91: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/91.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Reality check no. 3
27
![Page 92: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/92.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Reality check no. 3
27
Subversion logs:
r5091: “No more javax.vecmath.Point3f in g3d shape drawing routines. There were some cases where screen coordinates were being passed in as Point3f objects ... not a good thing.”
r5579: “Revert of vecmathlib change”.
![Page 93: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/93.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Reality check no. 3
27
Subversion logs:
r5091: “No more javax.vecmath.Point3f in g3d shape drawing routines. There were some cases where screen coordinates were being passed in as Point3f objects ... not a good thing.”
r5579: “Revert of vecmathlib change”.
N.V., developer: “Your hypothesis is probably correct. We found some major problems, and diagnostic was too difficult, so we reverted to a stable version and tried to apply patches in small batch.”
![Page 94: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/94.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Reality check no. 3
27
Subversion logs:
r5091: “No more javax.vecmath.Point3f in g3d shape drawing routines. There were some cases where screen coordinates were being passed in as Point3f objects ... not a good thing.”
r5579: “Revert of vecmathlib change”.
N.V., developer: “Your hypothesis is probably correct. We found some major problems, and diagnostic was too difficult, so we reverted to a stable version and tried to apply patches in small batch.”
B.H., developer: “It was quite a nightmare for everyone involved. The issue was that I was new to the project and had committed quite a few additions to Jmol thinking that M. was monitoring; as it turned out he found my additions too much too fast, and because there was a problem with the graphics display module g3d that resulted in some slow performance, he opted to revert to an earlier state. In the end it turned out to be a recent addition to transparency in the graphics, not anything I had done, that caused the problem. In any case, we did sort of start over -- or at least I did.”
![Page 95: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/95.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Closing remarks
28
![Page 96: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/96.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Closing remarks
28
![Page 97: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/97.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Closing remarks
28
Our visualizations techniques for software evolution reveal insights unavailable outside the historical context.
![Page 98: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/98.jpg)
Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution
Closing remarks
28
Our visualizations techniques for software evolution reveal insights unavailable outside the historical context.
http://www.inf.unisi.ch/phd/wettel/codecity.html
![Page 99: Visual Exploration of Large-Scale System Evolution](https://reader034.vdocuments.net/reader034/viewer/2022051411/547a4a97b479596d098b49cb/html5/thumbnails/99.jpg)
Richard Wettelhttp://www.inf.unisi.ch/phd/wettel
http://creativecommons.org/licenses/by/3.0/