cs519 - visual software evolution reconstruction
DESCRIPTION
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 minTRANSCRIPT
VISUAL SOFTWARE EVOLUTION
RECONSTRUCTION
Presentation type: paper presentationClass: CS 519 – Information Visualization
Presenter: Sergii ShmarkatiukDate: 5/12/2014
2
WHY DO WE NEED TO VISUALIZE SOFTWARE HISTORY?
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?
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?
Project managers
Development Team Leaders
Software Testing Team
Leaders
5
GENERAL SCHEMA OF VISUAL SOFTWARE EVOLUTION RECONSTRUCTION APPROACH
6
CVS MODULE, CVS REVISION MODULE
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?
8
DISCRETE TIME MODULE, DISCRETE TIME DIRECTORY
9
Encodings:• Color – number of bugs• X axis – time
10
Encodings:• Color – number of bugs• X axis – time
11
Encodings:• Color – number of bugs• X axis – time • Y axis – modules
12
MODULE BUG-SHARING CORRELATION
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?
14
DIRECTORY TREE
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?
16
FILE SIZE-EFFORT-BUG
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?
18
FRACTAL FILE
19
Encodings:• Color – author• Area – percentage of
commits performed by the author
Helps with answering following questions: • How work is distributed among developers?
20
21
DIRECTORY BUG DEPENDENCY
22
Encodings:• Folder – directory• Cross – bug• Edge – bug in directory• Color – author
Helps with answering following questions: • Which low-level entities
share bugs?• Which bugs have bigger
impact?
23
SOFTWARE HISTORY RECONSTRUCTION IN ACTION
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