Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visualizing Software Evolution in Lagrein Andrejs Jermakovics, Alberto Sillitti, Raimund Moser, Giancarlo Succi

Similar presentations


Presentation on theme: "Visualizing Software Evolution in Lagrein Andrejs Jermakovics, Alberto Sillitti, Raimund Moser, Giancarlo Succi"— Presentation transcript:

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


Download ppt "Visualizing Software Evolution in Lagrein Andrejs Jermakovics, Alberto Sillitti, Raimund Moser, Giancarlo Succi"

Similar presentations


Ads by Google