Title: EvoLens: LensView Visualizations of Evolution Data
1EvoLensLens-View Visualizations of Evolution
Data
- Jacek Ratzinger
- Michael Fischer
- Harald Gall
- Vienna University of Technology, Austria
- University of Zurich, Switzerland
2Outline
- Motivation
- Software Evolution
- EvoLens Approach
- Visualization
- Example
- Related Work
- Conclusions and Future Work
3Motivation
- Software evolves changes its
- size,
- complexity, and
- characteristics
- Major costs not because of bugs,
- but new and changing requirements
- Lean Business
4Software Evolution Analysis
- Version control to coordinate team development
activities - Vast information in version control systems
- Visualize information to support team work
- Assessment of maintainability
- Re-engineering (Refactoring)
5EvoLens Approach
- Data source
- modification reports (in particular CVS)
- Change coupling based on common change behavior
- Color indicating growth metrics
- Timescale -gt sliding time window
6Visualization (Abstractions)
- Time
- on the basis of version history data
- Hierarchies
- on the basis of software structure
- Change Couplings
- as representation of common change histories of
software parts
7Case Study
- PACS (Picture Archiving and Communication System)
- Java
- 5.500 Classes (500.000 LOC)
- April 1999 June 2005
- Evolution Data
- CVS (Concurrent Versions System)
8Analysis Phases
- Period 1 January 2002 March 2003
- Software Evolution Analysis
- assessment of period 1
- --gt recommendations for restructuring/refactoring
- --gt refactorings applied
- Period 2 April 2003 June 2004
- Recurring analysis
- assessment of evolution period 2
- evaluation of refactorings after period 1
Analysis
Analysis
Period 2
Period 1
9Gross Structure Time Frame 6 Months
submodule with most intensive coupling
several internal couplings
10Unfolded Package Main
strongly coupled elements
11Visualization of Variable Selection
simple frame title why coupling ?
startup class with reasonable coupling
new functionality added for image display
12Changing Threshold of Coupling
Design erosion no separation of concerns
-gt Refactoring mediator
13Sliding Time Window6 Months Earlier
no detectable design erosion
14Related Work
- Fisheye Views Focus Context
- SHriMP Nested Graph Visualization
- Xia Tool for Evolution Data
- eRose Amazon for Software Development
- Coupling and Cohesion Metrics for Software
Assessment
15Conclusions Future Work
- Navigation facilities in-depth analysis
- Visualization support for detection of hot-spots
and design erosion - No separation of concerns
- Spaghetti code
- Poorly designed inheritance hierarchies
- Integration of Bugzilla data
16Thank you for your attention!