9. Fine-grained Software Evolution
‣ R. Robbes, M. Lanza; A Change-based Approach to Software Evolution. In
Electronic Notes in Theoretical Computer Science (ENTCS), Vol. 166, pp. 93 -
109, January 2007. Elsevier Science Direct, 2007.
‣ R. Robbes, D. Pollet, M. Lanza; Logical Coupling Based on Fine-Grained
Change Information. In WCRE 2008 (15th IEEE Working Conference on
Reverse Engineering), pp. 42 - 46, IEEE CS Press, 2008
‣ R. Robbes, M. Lanza; Example-based Program Transformation. In MODELS
2008 (11th ACM/IEEE International Conference on Model Driven Engineering
Languages and Systems), pp. 174 - 188, Springer LNCS, 2008.
‣ R. Robbes, M. Lanza; How Program History Can Improve Code Completion. In
ASE 2008 (23rd IEEE/ACM International Conference on Automated Software
Engineering), ACM Press, 2008.
Romain Robbes
‣ R. Robbes, M. Lanza; Characterizing and Understanding Development
Sessions. In ICPC 2007 (15th International Conference on Program
Comprehension), pp. 155 - 164, IEEE CS, 2007.
‣ R. Robbes, M. Lanza, M. Lungu; An Approach to Software Evolution Based on
Semantic Change. In FASE 2007 (10th Conference on Fundamental
Approaches to Software Engineering), pp. 27 - 41, Springer LNCS, 2007.
‣ R. Robbes, M. Lanza; SpyWare: A Change-Aware Development Toolset. In
ICSE 2008 (30th ACM/IEEE International Conference on Software Engineering),
pp. 847 - 850, ACM Press, 2008.
10. Fine-grained Software Evolution
‣ R. Robbes, M. Lanza; A Change-based Approach to Software Evolution. In
Electronic Notes in Theoretical Computer Science (ENTCS), Vol. 166, pp. 93 -
109, January 2007. Elsevier Science Direct, 2007.
‣ R. Robbes, D. Pollet, M. Lanza; Logical Coupling Based on Fine-Grained
Change Information. In WCRE 2008 (15th IEEE Working Conference on
Reverse Engineering), pp. 42 - 46, IEEE CS Press, 2008
.D.
‣ R. Robbes, M. Lanza; Example-based Program Transformation. In MODELS
Ph
2008 (11th ACM/IEEE International Conference on Model Driven Engineering
Languages and Systems), pp. 174 - 188, Springer LNCS, 2008.
‣ R. Robbes, M. Lanza; How Program History Can Improve Code Completion. In
ASE 2008 (23rd IEEE/ACM International Conference on Automated Software
Engineering), ACM Press, 2008.
Romain Robbes
‣ R. Robbes, M. Lanza; Characterizing and Understanding Development
Sessions. In ICPC 2007 (15th International Conference on Program
Comprehension), pp. 155 - 164, IEEE CS, 2007.
‣ R. Robbes, M. Lanza, M. Lungu; An Approach to Software Evolution Based on
Semantic Change. In FASE 2007 (10th Conference on Fundamental
Approaches to Software Engineering), pp. 27 - 41, Springer LNCS, 2007.
‣ R. Robbes, M. Lanza; SpyWare: A Change-Aware Development Toolset. In
ICSE 2008 (30th ACM/IEEE International Conference on Software Engineering),
pp. 847 - 850, ACM Press, 2008.
11. Software Ecosystems
‣ M. Lungu, M. Lanza, T. Gîrba; The Small Project Observatory: Visualizing
Software Ecosystems. In Journal of Science of Computer Programming (SCP),
to be published. Elsevier, 2009
‣ M. Lungu, M. Lanza, T. Gîrba, R. Heek; Reverse Engineering Super-
Repositories. In WCRE 2007 (14th IEEE Working Conference on Reverse
Engineering), pp. 120 - 129, IEEE CS Press, 2007.
‣ M. Lungu, M. Lanza; Exploring Inter-Module Relationships in Evolving Software
Systems. In CSMR 2007 (11th IEEE European Conference on Software
Maintenance and Reengineering), pp. 91 - 100, IEEE CS Press, 2007.
‣ M. Lungu, M. Lanza, T. Gîrba; Package Patterns for Visual Architecture
Recovery. In CSMR 2006 (10th IEEE European Conference on Software
Maintenance and Reengineering), pp. 183 - 192, IEEE CS Press, 2006.
Mircea Lungu
‣ M. Lungu, M. Lanza; Softwarenaut: Exploring Hierarchical System
Decompositions. In CSMR 2006 (10th IEEE European Conference on Software
Maintenance and Reengineering), pp. 349 - 350, IEEE CS Press, 2006.
‣ M. Lungu, J. Malnati, M. Lanza; Visualizing Gnome With The Small Project
Observatory. In MSR 2009 (6th IEEE Working Conference on Mining Software
Repositories), pp. 103 - 106. IEEE CS Press, 2009.
12. Bug Analysis/Prediction
‣ M. D’Ambros, M. Lanza, M. Lungu; Visualizing Co-Change Information with the
Evolution Radar. In IEEE Transactions on Software Engineering (TSE), to be
published. IEEE CS Press, 2009
‣ M. D’Ambros, M. Lanza; Distributed and Collaborative Software Evolution
Analysis with Churrasco. In Journal of Science of Computer Programming
(SCP), to be published. Elsevier, 2009
‣ M. D’Ambros, M. Lanza; Visual Software Evolution Reconstruction. In Journal
on Software Maintenance and Evolution: Research and Practice (JSME), Vol.
21, No.3, pp. 217 - 232, May 2009. John Wiley & Sons, 2009
‣ M. D’Ambros, M. Lanza, R. Robbes; On the Relationship Between Change
Coupling and Software Defects. In WCRE 2009 (16th IEEE Working Conference
on Reverse Engineering). IEEE CS Press , 2009.
Marco D’Ambros
‣ M. D’Ambros, M. Lanza; A Flexible Framework to Support Collaborative
Software Evolution Analysis. In CSMR 2008 (12th IEEE European Conference
on Software Maintenance and Reengineering), pp. 3 - 12, IEEE CS Press, 2008.
‣ M. D’Ambros, M. Lanza; Reverse Engineering with Logical Coupling. In WCRE
2006 (13th IEEE Working Conference on Reverse Engineering), pp. 189 - 198,
IEEE CS Press, 2006.
‣ M. D’Ambros, M. Lanza; Software Bugs and Evolution: A Visual Approach to
Uncover Their Relationship. In CSMR 2006 (10th IEEE European Conference on
Software Maintenance and Reengineering), pp. 227 - 236, IEEE CS Press,
2006.
13. Synchronous Development
‣ L. Hattori, M. Lanza; Mining the History of Synchronous Changes to Refine
Code Ownership. In MSR 2009 (6th IEEE Working Conference on Mining
Software Repositories), pp. 141 - 150. IEEE CS Press, 2009.
‣ L. Hattori, M. Lanza; An Environment for Synchronous Software Development.
In ICSE 2009 (31st ACM/IEEE International Conference on Software
Engineering - New Ideas and Emerging Results Track), pp. 223 - 226. IEEE CS
Press, 2009.
Lile Hattori
14. Immersive Software Visualization
‣ R. Wettel, M. Lanza; Program Comprehension through Software Habitability. In
ICPC 2007 (15th IEEE International Conference on Program Comprehension),
pp. 231 - 240, IEEE CS Press, 2007
‣ R. Wettel, M. Lanza; Visualizing Software Systems as Cities. In VISSOFT 2007
(4th IEEE International Workshop on Visualizing Software for Understanding and
Analysis), pp. 92 - 99, IEEE CS Press, 2007
‣ R. Wettel, M. Lanza; Visually Localizing Design Problems with Disharmony
Maps. In Softvis 2008 (4th ACM International Symposium on Software
Visualization), pp. 155 - 164, ACM Press, 2008
‣ R. Wettel, M. Lanza; Visual Exploration of Large-scale System Evolution. In
WCRE 2008 (15th IEEE Working Conference on Reverse Engineering), pp. 219
- 228, IEEE CS Press, 2008
Richard Wettel
‣ R. Wettel, M. Lanza; CodeCity: 3D Visualization of Evolving Large-Scale
Software. In ICSE 2008 (30th ACM/IEEE International Conference on Software
Engineering), pp. 921 - 922, ACM Press, 2008.
CodeCity
17. We are Visual Beings
70% of all brain inputs
come through the eyes
18. We see with our Brain
‣ 3 types of memory to process
visual information
‣ Iconic, the visual sensory register
‣ Short-term, the working memory
‣ (Long-term)
20. Iconic and Short-term Memory
‣ Iconic Memory is a buffer that retains information for less
than 1 second before passing it to short-term memory
21. Iconic and Short-term Memory
‣ Iconic Memory is a buffer that retains information for less
than 1 second before passing it to short-term memory
‣ Perception of a limited set of attributes is very fast, automatic &
subconscious, therefore called pre-attentive
22. Iconic and Short-term Memory
‣ Iconic Memory is a buffer that retains information for less
than 1 second before passing it to short-term memory
‣ Perception of a limited set of attributes is very fast, automatic &
subconscious, therefore called pre-attentive
23. Iconic and Short-term Memory
‣ Iconic Memory is a buffer that retains information for less
than 1 second before passing it to short-term memory
‣ Perception of a limited set of attributes is very fast, automatic &
subconscious, therefore called pre-attentive
‣ Short-term Memory processes information as “chunks”
24. Iconic and Short-term Memory
‣ Iconic Memory is a buffer that retains information for less
than 1 second before passing it to short-term memory
‣ Perception of a limited set of attributes is very fast, automatic &
subconscious, therefore called pre-attentive
‣ Short-term Memory processes information as “chunks”
‣ Perception is temporary and of limited capacity (3-9 chunks)
25. Iconic and Short-term Memory
‣ Iconic Memory is a buffer that retains information for less
than 1 second before passing it to short-term memory
‣ Perception of a limited set of attributes is very fast, automatic &
subconscious, therefore called pre-attentive
‣ Short-term Memory processes information as “chunks”
‣ Perception is temporary and of limited capacity (3-9 chunks)
‣ This explains why charts are more expressive than tables
52. 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
53. 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.”
61. the
ith ly
g w eral
hin lit
thet
took ds too
L
UM and w or
t ho us
62. “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
64. “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
“Patterns of Software: Tales from the
Software Community”, Oxford University
Press, 1998.
70. 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
91. The Time Machine
JMol
versions
57 (bi-monthly
snapshots)
time
1999-2007
92. The Time Machine
JMol
versions
57 (bi-monthly
snapshots)
time
1999-2007
93. ArgoUML Age Map
org.argouml.language.cpp STDCTokenTypes FacadeMDRImpl
NOA 152, NOM 0, AGE 4
Facade NOA 3, NOM 351, AGE 4
org.argouml.language.php NOA 1, NOM 339, AGE 5
org.argouml.language.csharp CPPParser
NOA 85, NOM 204, AGE 4
org.argouml.language.java
org.argouml.model
JavaRecognizer
NOA 24, NOM 91, AGE 9
JavaTokenTypes
NOA 146, NOM 0, AGE 9
org.argouml.uml.reveng.java
JavaTokenTypes
NOA 175, NOM 0, AGE 9
JavaRecognizer
NOA 79, NOM 176, AGE 9
95. Time Travel + Age Map
October 2000
March 2001
September 2001
JHotDraw
March 2002
August 2002 versions
January 2003 8
July 2003
time
January 2004
40 months
96. Time Travel + Age Map
October 2000
March 2001
September 2001
JHotDraw
March 2002
August 2002 versions
January 2003 8
July 2003
time
January 2004
40 months
97. Time Travel + Age Map
October 2000
March 2001
September 2001
JHotDraw
March 2002
August 2002 versions
January 2003 8
July 2003
time
January 2004
40 months
98. Time Travel + Age Map
October 2000
March 2001
September 2001
JHotDraw
March 2002
August 2002 versions
January 2003 8
July 2003
time
January 2004
40 months
99. Time Travel + Age Map
October 2000
March 2001
September 2001
JHotDraw
March 2002
August 2002 versions
January 2003 8
July 2003
time
January 2004
40 months
100. Time Travel + Age Map
October 2000
March 2001
September 2001
JHotDraw
March 2002
August 2002 versions
January 2003 8
July 2003
time
January 2004
40 months
101. Time Travel + Age Map
October 2000
March 2001
September 2001
JHotDraw
March 2002
August 2002 versions
January 2003 8
July 2003
time
January 2004
40 months
102. Time Travel + Age Map
October 2000
March 2001
September 2001
JHotDraw
March 2002
August 2002 versions
January 2003 8
July 2003
time
January 2004
40 months
107. ArgoUML.Model’s Shotgun Surgery Map
Facade AggregationKind VisibilityKind
NOM 140/337 NOM 3/3 NOM 4/4
PseudostateKind
NOM 6/6
Model
NOM 28/44
Shotgun surgery
114. Reflections
Software Visualization is
a means to make the intangible tangible
115. Reflections
Software Visualization is
a means to make the intangible tangible
not so difficult after all
116. Reflections
Software Visualization is
a means to make the intangible tangible
not so difficult after all
still in its infancy
117. Reflections
Software Visualization is
a means to make the intangible tangible
not so difficult after all
still in its infancy
an exciting research area