Exploring the Evolution of Software Quality with Animated Visualization - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Exploring the Evolution of Software Quality with Animated Visualization

Description:

An old system has grown and has become very complex over the years. ... Exploration of Azureus (Responsibility transfer, class renaming, etc ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 25
Provided by: dift
Category:

less

Transcript and Presenter's Notes

Title: Exploring the Evolution of Software Quality with Animated Visualization


1
Exploring the Evolution of Software Quality with
Animated Visualization
  • Guillaume Langelier,
  • Houari Sahraoui, Pierre Poulin
  • Université de Montréal

2
Introduction
  • Visualization of software quality and its
    evolution
  • Animated transitions between versions
  • Use of graphical coherence

3
Nightmare of a project Manager
  • An old system has grown and has become very
    complex over the years. Everyone is afraid to be
    assigned to the project.
  • Abandon and start over!
  • A project manager has to figure out what
    happened, why the program has become poorly
    maintainable and possibly find a version from
    which to restart in the history database.
  • No! Abandon and start over!
  • How is it possible for the manager to assess
    millions of lines of code possibly modified in
    many versions?
  • Abandon and start over?!?

4
Plan
  • Problem Statement and Previous Work
  • Data
  • Single Version Representation
  • Software and Graphical Coherence
  • Multiple Version Representation
  • Switching between Views
  • Conclusion

5
Problem Statement
  • Quality
  • Quality is known as a major concern in software
    development
  • Evolution is required to understand the steps
    leading to a certain problem
  • Large amounts of data need to be analyzed
  • Existing approaches for analysis
  • Fully manual approaches are impractical
  • Too much information
  • Fully automatic approaches are imprecise
  • Quality aspects are not systematically defined
  • Solution Visualization a semi-automatic approach

6
Previous Work(Visualization of software
evolution)
  • Single Frame with data aggregation
  • Less information displayed
  • Multiple Frames shown side by side
  • Less entities displayed
  • Animation
  • Graph-based
  • Bayer (CVS)
  • Collberg (code)

7
Approach Overview
  • Evolution analysis using visualization
  • Determine data to be extracted
  • Pertinent to quality analysis
  • Data easy to visualize
  • Visualize it for analysis
  • Must take perception issues into account
  • Must avoid the problem generated by the great
    amount of data spawning multiple versions

8
Data
  • Metrics
  • Measures on software aspects
  • Structural metrics
  • Coupling
  • Complexity/Size
  • Cohesion
  • Other
  • Version control metrics
  • Author
  • Change magnitude
  • Number of versions since last change
  • Architecture
  • Package hierarchy

9
Visualization Approach
  • Single Version Visualization
  • Multiple Version Visualization

10
Single Version Visualization
  • Classes ? 3D Boxes
  • Color (scale from blue to red)
  • Height
  • Twist (rotation around the Up axis)
  • Layout
  • Treemap layout
  • Color separators

11
Single Version Representation (Example)
12
Multiple Version Visualization
  • Software coherence
  • A version is constructed from a previous one
  • Strong similarities between adjacent versions
  • Modifications are often small and targeted
  • Graphical coherence
  • High similarities between two images
  • Similar to a movie
  • Small cognitive effort
  • Only assess the differences
  • Do not have to reconstruct our virtual
    representation

13
Graphical Coherence(no spatial coherence)
From Rensink RA, O'Regan JK, and Clark JJ
(1997). To See or Not to See The Need for
Attention to Perceive Changes in Scenes.
Psychological Science, 8.
14
Graphical Coherence(spatial and temporal
coherences)
From Rensink RA, O'Regan JK, and Clark JJ
(1997). To See or Not to See The Need for
Attention to Perceive Changes in Scenes.
Psychological Science, 8.
15
Multiple Version Representation
  • Class animation
  • Characteristics are animated individually with
    linear interpolation
  • Movement and characteristics animation in two
    distinct phases

16
Layout Animation
  • Integrate spatial coherence in the visualization
    of the evolution
  • Displaying single version representations one
    after the other is not satisfactory
  • Class movements cross each other
  • Lost the unique virtual representation
  • Two algorithms
  • Static position layout (class tracking)
  • Relative position layout (space reduction)

17
Layout Animation
  • Static Position Animation
  • Each class remains at the same position for all
    versions
  • Positions are computed for a merged tree
    containing all classes existing in at least one
    version
  • Classes are only displayed when they exist in the
    current version

18
Static Layout Animation
19
Layout Animation
  • Relative Position Animation
  • Classes keep a relative position to each other
  • Computed from the static position animation
  • Classes are moved left or down until they reach
    their nearest neighbor

20
Relative Position Animation
21
Switching between Views
  • Require to access CVS metrics during evolution
  • Limited number of graphical attributes
  • Creation of a second mapping of graphical
    attributes
  • Same entities at same positions(spatial
    coherence)
  • Additional information is fetched instantly on
    demand without introducing a cognitive gap

22
Switching between Views
23
Applications
  • Exploration
  • Gather information from a new system with free
    exploration
  • Exploration of Azureus(Responsibility transfer,
    class renaming, etc )
  • Verification of automatic analysis
  • Calibrate automatic approach
  • Tune rules and their threshold
  • Oracles for machine-learning algorithms
  • Study of evolution patterns
  • Study different types of evolution and how they
    affect quality aspects
  • Blob Instant grown, gradual grown, up and down
    pattern

24
Conclusion
  • We presented an approach that uses
  • Visualization and metrics to represent software
  • Animation to represent transition between
    versions
  • Layout and animation
  • Static Layout
  • Relative Position Layout
  • Exploit multiple views
  • Future work
  • User study
  • Semantic zoom
  • More views (Bug view, Management View,
    Performance View)
Write a Comment
User Comments (0)
About PowerShow.com