Lucian Voinea - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Lucian Voinea

Description:

a toolset that provides different, but strongly interconnected views on software source code ... 3. Highly complex ( 30% have McCabe's metric 7 per 30 lines of code) ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 20
Provided by: Ale8233
Category:
Tags: code | lucian | voinea

less

Transcript and Presenter's Notes

Title: Lucian Voinea


1
Visualizing the Evolution of CodeThe Visual Code
Navigator (VCN)
  • Lucian Voinea

Nunspeet, 24.11.2008
2
The software maintenance challenge
Often caused by uninformed decisions

Software maintenance costs
80 of TCO ( total cost of ownership)
Mostly spent on understanding software
3
Outline
  • What is software visualization?
  • Code Evolution Visualization in VCN
  • Line of code level
  • File level
  • Conclusions

4
What is software visualization?
Scientific Visualization The use of computers
or techniques for comprehending data or to
extract knowledge from the results of
simulations, computations, or measurementsMcCor
mick et al, 1987 Information Visualization
Visualization applied to abstract quantities and
relations in order to get insight in the data
Chi, 2000Diehl, 2006 Software
Visualization Information visualization applied
to software artefacts e.g. source code, design
documents, profiling logs, and dynamic data
structures in order to better write, understand
and maintain, software
5
Software visualization vs visual programming
6
Software visualization pipeline
software analysis
software data
data acquisition
internal data
data processing
enriched data
datamapping
image
visual representations
graphicsrendering
human interpretation
data visualization
7
Software visualization classifications
Matrix of techniques Myers, 1990
time aspect
Dynamic(behavior)
Static(structure)
VCN
type of data
Code
Data
Algorithm
8
Visual Code Navigator (VCN)
a toolset that provides different, but strongly
interconnected views on software source code
VCN
9
Code evolution visualization
Goal Understand when, why, and how software
changed to cope with future activities
(e.g. refactoring, release scheduling, test
planning etc.)
  • Use cases
  • identify the system parts that could be affected
    by a change or migration
  • identify the system areas that are subject to
    debugging in the near future
  • get context dependent code editing suggestions
  • discover the developer network
  • Benefits
  • assess impact more accurately
  • better plan maintenance activities
  • reduce software understanding time
  • minimize error injection probability

10
Code evolution visualization in VCN
Line of code level
File level
CVSscan
CVSgrab
11
Evolution visualization at line level
CVSscan
Goal Understand how did a file evolve. - What
were the major refactorings, contributions - Who
is in charge of a given piece of code
12
Evolution visualization at line level
CVSscan
Time (version)
Time (version)
File line
File line
13
Evolution visualization at file level
CVSgrab
Goal Understand how did a project evolve.
14
Evolution visualization at file level
CVSgrab
Goal Understand how did a project evolve.
Release ID Size Complexity Searched word
File 3
Version 1
Version 2
File 2
Version 1
Version 2
File 1
Time
15
Evolution visualization at file level
CVSgrab
Case Shall we buy this software stack ?
16
Evolution visualization at file level
CVSgrab
Case What is the risk of releasing the software
now?
Conclusion 1. There are currently no large
scale debugging activities performed 2. The
largest recent debugging activity was localized
to one folder 3. Changes in the identified
folder do not propagate outside
17
Evolution visualization at file level
CVSgrab
Case What is the risk of one person leaving the
team ?
Conclusion
Well distributed knowledge
Risky distribution of knowledge
18
Conclusions
  • Software Visualization
  • is a new but quickly growing field many tools
    are emerging at a high pace
  • promising but validation is still a problem
    integration is a must!
  • Visual Code Navigator
  • contains two tools for analyzing source code
    evolution (CVSscan, CVSgrab)
  • offers a set of visual techniques that can
    supports a large variety of analysis scenarios
  • tries to bridge the gap between research and
    industry by tight integration with common
    software configuration management (SCM) systems
    (e.g., CVS, Subversion)

19
http//www.win.tue.nl/lvoinea/VCN.html http//www
.win.tue.nl/vis/
Thank you for your attention !
lucian.voinea_at_solidsource.nl
Write a Comment
User Comments (0)
About PowerShow.com