Download Slide 1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Software Evolution Visualization
Lucian Voinea
www.win.tue.nl/~lvoinea/VCN.html
Eindhoven, 03.02.2006
Why Software Evolution Visualization ?
Software understanding
- what is the structure of the project ?
- what is important ?
- what is difficult ?
- who work on it ?
- what parts are connected to a given part ?
- what parts refer to a given aspect ?
Product and process assessment
- what is the process ?
- what is the core team ?
- where is the activity concentrated ?
- what is stable ?
www.win.tue.nl/~lvoinea/VCN.html
Eindhoven, 03.02.2006
Challenges
Data acquisition
- data source  SW Configuration Management
- long acquisition times
- large storage space, large bandwidth
- data parsing & maintenance
SW Configuration Management
≠
SW evolution mining
Data analysis
- Enrich recorded evolution data
E.g. evolution similarity metrics
Data visualization
- multivariate : 10s attributes (Demo 6 attributes)
- large data amount : 100s files,10s versions, 1000s lines
VTK
ArgoUML
– 2700 files x 100 versions
– 4452 files x 80 versions
www.win.tue.nl/~lvoinea/VCN.html
Eindhoven, 03.02.2006
SW Evolution Visualization Toolset
version control
management
system
data extraction
CVSgrab
CVS
Project evolution
visualization
www.win.tue.nl/~lvoinea/VCN.html
CVSscan
File evolution
visualization
Eindhoven, 03.02.2006
CVSgrab
Metric
views
System evolution at time ti
Time
F1
V1
V2
V3
Vertical layout –
given by a sort
criteria
F2
Evolution
of file Fi
F3
F4
E.g. Creation time,
Folder, Activity,
Similarity
Files
Color - encodes a file metric computed on a given version
E.g. File type, Version author, Size increase, Release ID,
Specific text, Activity
www.win.tue.nl/~lvoinea/VCN.html
Eindhoven, 03.02.2006
CVSgrab Example
Color encodes version author
Different
Similar
Horizontal
metric :
Release ID
Time
Vertical metric : similarity
www.win.tue.nl/~lvoinea/VCN.html
Files
Eindhoven, 03.02.2006
CVSscan
v1 v2 v3 v4 v5
Time
if self.bShowClusterColor:
glBlendFunc(GL_ONE_MINUS_...
glEnable(GL_BLEND)
yPos = 0
bSwitch = True
for i in lCushionMap:
if bSwitch:
cushions.drawColorCl..
else:
cushions.drawColorClus…
bSwitch = not bSwitch
yPos = yPos + i
glDisable(GL_BLEND)
#cushion clusters
glBlendFunc(GL_ZERO,GL_...
glEnable(GL_BLEND)
yPos = 0
bSwitch = True
Color - encodes a
line metric
www.win.tue.nl/~lvoinea/VCN.html
Eindhoven, 03.02.2006
CVSscan
Line layout
Normal Layout
Horizontal Layout
Discrete time (versions)
Discrete time (versions)
Deleted
lines
Lines to be
inserted
Legend
www.win.tue.nl/~lvoinea/VCN.html
Constant line
New lines
Eindhoven, 03.02.2006
CVSscan Example
Color encodes content
www.win.tue.nl/~lvoinea/VCN.html
Color encodes authors
Eindhoven, 03.02.2006
Conclusions
• Toolset for visualization of software evolution : CVSgrab & CVSscan
• Exploit source code history from CVS as main source for getting
insight in the structure and development process
• Complements existing reverse engineering and code navigation tools
• Outlook: Improve the data analysis step, find mechanisms for
annotation management, improve selection mechanisms, enhance the
visualization with new features, extend the data acquisition sources and
types…
www.win.tue.nl/~lvoinea/VCN.html
www.win.tue.nl/~lvoinea/VCN.html
Eindhoven, 03.02.2006
Related documents