Download presentation
Presentation is loading. Please wait.
Published byAdam McDaniel Modified over 8 years ago
1
Visualizing Software Evolution in Lagrein Andrejs Jermakovics, Alberto Sillitti, Raimund Moser, Giancarlo Succi {Andrejs.Jermakovics,Alberto.Sillitti,Raimund.Moser,Giancarlo.Succi}@unibz.it Center of Applied Software Engineering Free University of Bozen-Bolzano
2
Outline Introduction Background Single version visualizations Evolution visualizations
3
Introduction Why visualize software? Improve understanding New people in organisation A lot of code Detect problems (easier) Overly large/complex parts Highly coupled parts/With many concerns Violations of architecture (dep. cycles) Candidates for refactoring/testing
4
Introduction Why visualize software? Keep track Quality Effort distribution Re-engineering Retrieve design Communicate
5
Introduction Why visualize software evolution? Improve understanding Studying how software evolved (history) Understand the impact of accumulated changes See tendency Identify "drift" in the architecture Track/monitor quality Increases in complexity, size, couplings Spot patterns Repetitions, fluctuations Detect logical couplings – often modified together (clones, co-maintainable parts)
6
Background Why study software evolution? Identify change-prone parts of your systems Must be better designed Identify fault-prone/vulnerable parts of your system Must be better tested Must be maintained Identify artifacts that tend to change together Impact analysis Maintaining cloned code Change propagation on crosscutting concerns
7
Background Approaches Classical: Chart [Lehman97]
8
Background Approaches Comparing 2 versions [SeeSoft] [GASE]
9
Background Approaches Many Different Hard to compare Specific purpose
10
Background Approaches Evolution Matrix [Lanza01]
11
Background General problems Scalability Loss of details Trade-off Approaches Levels of granularity Aggregation Perspectives
12
Visualization in Lagrein Project visualizations Polymetric views [Lanza03] Switching, customizing, interacting, selecting granularity Using software metrics LOC, NOM, NOA, WMC, CBO, LCOM, RFC,... Spot trends and outliers
13
Visualization in Lagrein Project visualizations Dependency view Polymetric Selectable granularity Spring layout algorithm Grouping/clustering Dependencies: Calls Inheritance Same package
14
Visualization in Lagrein Data source – PROM (PRO Metrics)
15
SW Evolution in Lagrein The Obvious Version/Release chart Polymetric Aggregated metrics Evolution Matrix
16
SW Evolution in Lagrein Gradient Shows history/age Combined with any view Spot patterns (stable, grows, fluctuates) Enables comparisons of change speed
17
SW Evolution in Lagrein Animated polymetric views Seeing change In metrics In structure (additions) Seeing trends Tracking individual classes, packages Full control navigation
18
SW Evolution in Lagrein Animated polymetric views Dependency view Reusing previous layout (faster, smoother) Updating strengths Adding new classes close to neighbours (less movements) Observable change at system level and entity level
19
Critique Need to know what looking for (somewhat) Scalability Difficult to evaluate Computationally expensive
20
Thank you! Questions Comments Suggestions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.