Download - Software Evolution Visualization
![Page 1: Software Evolution Visualization](https://reader036.vdocument.in/reader036/viewer/2022083004/56813557550346895d9cbcc7/html5/thumbnails/1.jpg)
www.win.tue.nl/~lvoinea/VCN.html Eindhoven, 03.02.2006
Software Evolution Visualization
Lucian Voinea
![Page 2: Software Evolution Visualization](https://reader036.vdocument.in/reader036/viewer/2022083004/56813557550346895d9cbcc7/html5/thumbnails/2.jpg)
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 ?
![Page 3: Software Evolution Visualization](https://reader036.vdocument.in/reader036/viewer/2022083004/56813557550346895d9cbcc7/html5/thumbnails/3.jpg)
www.win.tue.nl/~lvoinea/VCN.html Eindhoven, 03.02.2006
ChallengesData acquisition- data source SW Configuration Management
- long acquisition times- large storage space, large bandwidth- data parsing & maintenance
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 – 2700 files x 100 versionsArgoUML – 4452 files x 80 versions
SW Configuration Management≠
SW evolution mining
![Page 4: Software Evolution Visualization](https://reader036.vdocument.in/reader036/viewer/2022083004/56813557550346895d9cbcc7/html5/thumbnails/4.jpg)
www.win.tue.nl/~lvoinea/VCN.html Eindhoven, 03.02.2006
version control management
system
data extraction
CVS
Project evolutionvisualization
File evolutionvisualization
CVSscanCVSgrab
SW Evolution Visualization Toolset
![Page 5: Software Evolution Visualization](https://reader036.vdocument.in/reader036/viewer/2022083004/56813557550346895d9cbcc7/html5/thumbnails/5.jpg)
www.win.tue.nl/~lvoinea/VCN.html Eindhoven, 03.02.2006
CVSgrab
V1 V2 V3
F2
F3
F4
TimeF1
Files
Color - encodes a file metric computed on a given version
E.g. File type, Version author, Size increase, Release ID,Specific text, Activity
Vertical layout – given by a sort criteria
E.g. Creation time,Folder, Activity, Similarity
Metric views System evolution at time ti
Evolutionof file Fi
![Page 6: Software Evolution Visualization](https://reader036.vdocument.in/reader036/viewer/2022083004/56813557550346895d9cbcc7/html5/thumbnails/6.jpg)
www.win.tue.nl/~lvoinea/VCN.html Eindhoven, 03.02.2006
Time
Files
CVSgrab Example Color encodes version author
Horizontalmetric :Release ID
Vertical metric : similarity
Diff
eren
tS
imila
r
![Page 7: Software Evolution Visualization](https://reader036.vdocument.in/reader036/viewer/2022083004/56813557550346895d9cbcc7/html5/thumbnails/7.jpg)
www.win.tue.nl/~lvoinea/VCN.html Eindhoven, 03.02.2006
CVSscan
if self.bShowClusterColor:glBlendFunc(GL_ONE_MINUS_...glEnable(GL_BLEND) yPos = 0 bSwitch = Truefor i in lCushionMap: if bSwitch: cushions.drawColorCl.. else: cushions.drawColorClus… bSwitch = not bSwitch yPos = yPos + i glDisable(GL_BLEND) #cushion clustersglBlendFunc(GL_ZERO,GL_... glEnable(GL_BLEND) yPos = 0 bSwitch = True
Timev1 v2 v3 v4 v5
Color - encodes a line metric
![Page 8: Software Evolution Visualization](https://reader036.vdocument.in/reader036/viewer/2022083004/56813557550346895d9cbcc7/html5/thumbnails/8.jpg)
www.win.tue.nl/~lvoinea/VCN.html Eindhoven, 03.02.2006
Deleted lines Lines to be
inserted
Constant line New lines Legend
Normal Layout
Discrete time (versions) Discrete time (versions)
Horizontal Layout
Line layout
CVSscan
![Page 9: Software Evolution Visualization](https://reader036.vdocument.in/reader036/viewer/2022083004/56813557550346895d9cbcc7/html5/thumbnails/9.jpg)
www.win.tue.nl/~lvoinea/VCN.html Eindhoven, 03.02.2006
CVSscan Example
Color encodes content Color encodes authors
![Page 10: Software Evolution Visualization](https://reader036.vdocument.in/reader036/viewer/2022083004/56813557550346895d9cbcc7/html5/thumbnails/10.jpg)
www.win.tue.nl/~lvoinea/VCN.html Eindhoven, 03.02.2006
Conclusions
www.win.tue.nl/~lvoinea/VCN.html
• 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…