Overview of the paper "Visual Software Evolution Reconstruction" by Marco D'Ambros and Michele Lanza presented at Oregon State University for "Information Visualization" class on May 12th 2014. Presentation time: 15 min
2. WHY DO WE NEED TO VISUALIZE SOFTWARE
HISTORY?
2
It helps with making informed decisions
about software development
• How many developers should be working on the
project?
• How many testers should test the product?
• How to move people between projects to
distribute workload effectively?
• Which are parts of the system with the most
intense development?
3. WHY DO WE NEED TO VISUALIZE SOFTWARE
HISTORY?
3
It helps with learning about the system
• Which components are affected by how many bugs?
• Which bugs affect how many components?
• Which artifacts are the most coupled?
• How many entities evolved over time?
• Why and when was module/class/method (entity)
introduced?
• When did it have intense development?
4. PRIMARY TARGET AUDIENCE OF SOFTWARE
HISTORY VISUALIZATION?
4
Project
managers
Development
Team
Leaders
Software
Testing Team
Leaders
5. GENERAL SCHEMA OF VISUAL SOFTWARE
EVOLUTION RECONSTRUCTION APPROACH
5
7. 7
Encodings:
• Size – number of files
• Color – number of bugs
Encodings:
• Size – development effort
• Color – number of bugs
Helps with answering following questions:
• Which are the key modules in the system?
• How big are the modules?
• Where are the most bugs located?
13. 13
Encodings:
• Folder color – number of commits
• Edge width and color – number of shared bugs
Helps with answering following questions:
• What are the points of potential architectural decay?
15. 15
Encodings:
• Height – number of files
• Color – number of bugs
Helps with answering following questions:
• Which are the largest sub-hierarchies?
• Which hierarchies contain many files and/or many
recorded bugs?
17. 17
Encodings:
• Width – number of commits
• Height – lines of code
• Color – number of bugs
Helps with answering following questions:
• Which are the files that are most affected by bugs?
19. 19
Encodings:
• Color – author
• Area – percentage of commits
performed by the author
Helps with answering following questions:
• How work is distributed among developers?
24. CONCLUSION
Visual software evolution reconstruction approach:
Presents several software visualization approaches
Addresses the problem of software evolution “in the large”
version control systems
bug tracking systems
Addresses the problem of software evolution “in the small”
modules
directories
files
Uses methodology that provides systematical way to
understanding software evolution
Allows target users to get a complete picture of the evolution
of software system 24
Hinweis der Redaktion
Learning about system as a whole
Learning about system as a whole
У сегодняшнего тренинга две цели.Первая - ?Вторая – ?
Marco D’Ambros and MicheleLanza describe approach of software evolution reconstruction. Its goal is to help with software history visualization
Marco D’Ambros and MicheleLanza describe approach of software evolution reconstruction. Its goal is to help with software history visualization
What I liked:Discrete time moduleWhat I didn’t like:CVS module view, CVS revision viewNot enough accent on evolutionAmbivalent:Fractal view