Evolution Spectrographs: Visualizing Punctuated Change in Software Evolution - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Evolution Spectrographs: Visualizing Punctuated Change in Software Evolution

Description:

Evolution Spectrographs: Visualizing ... We show a customized spectrograph, which portrays both system growth and ... Outgoing dependency change spectrograph ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 17
Provided by: yuan61
Category:

less

Transcript and Presenter's Notes

Title: Evolution Spectrographs: Visualizing Punctuated Change in Software Evolution


1
Evolution Spectrographs Visualizing Punctuated
Change in Software Evolution
  • Jingwei Wu, Claus W. Spitzer,
  • Ahmed E. Hassan, Richard C. Holt
  • School of Computer Science
  • University of Waterloo
  • Waterloo Canada

2
The Outline
  • Punctuated software evolution
  • Punctuation analysis method
  • Evolution spectrographs
  • Case studies of open source software
  • OpenSSH, PostgreSQL, and Linux kernel
  • Conclusion

3
Punctuated Evolution
  • Punctuated equilibrium - systems evolve through
    the alternation of
  • Periods of equilibrium incremental change to
    underlying structures (i.e. deep structure)
  • Periods of punctuation fundamental change of
    structures
  • Deep structure software architecture
  • Punctuations sudden and discontinuous
    changes to the system architecture

4
Interpreting Deep Structure
Deep structure is a network of fundamental
interdependent choices of the basic configuration
in which a systems units are organized
C. J. Gersick
Software architecture is the fundamental
organization of a software system, embodied in
its components, their relationships to each other
and the environment, and the principles of
governing its design and evolution
IEEE Std. 1471
5
Analysis Methods
  • Examine changes to inter-dependencies among
    software units, such as files or subsystems
  • Analyze punctuations in three steps
  • Model extraction
  • Metrics computation
  • Evolution analysis based on spectrographs
  • Validate findings by reading software docs

6
Analysis Method Step 1
  • Extract program models from historical snapshots
    (releases/builds)
  • Used LDX
  • an instrumented version of the GNU linker LD
  • LDX outputs dependencies
  • function calls
  • variable uses

7
Analysis Method Step 2
  • Measure changes to either incoming or outgoing
    dependencies at the file level
  • For example, if a file has
  • One old incoming dep. deleted
  • Two new incoming dep. added
  • We use metric value 3 to denote that files
    incoming dependency change

8
Analysis Method Step 3
  • Metrics can be plotted to portray a software
    systems evolution.
  • Spectrographs can be used to visualize the
    evolution

9
Evolution Spectrograph
  • A spectrograph (e.g., sound spectrograph) has
    three dimensions
  • Time snapshots (releases/builds)
  • Spectrum files
  • Measurement dependency changes
  • We show a customized spectrograph, which portrays
    both system growth and dependency changes at the
    file level

10
Example Spectrograph
D
C
B
A
Evolution Matrix (Outgoing dependency change at
the file level)
Color Chart
11
Case Studies
12
Visualizing Punctuations
  • We show two spectrographs
  • Incoming dependency change spectrograph
  • Outgoing dependency change spectrograph
  • Spectrograph highlight evolution events, i.e.
    punctuations, across a historical sequence of
    releases

13
OpenSSH Spectrographs
Incoming dependency change
Outgoing dependency change
14
A More Pleasing Picture
15
Linux Kernel Spectrographs
Incoming dependency change
Outgoing dependency change
The evolution of Linux is mainly driven by new
functionality requirements The kernel experienced
critical structural change near the milestone
release 2.4.0
16
Conclusions
  • Software evolution shows characteristics of
    punctuation
  • System-wide structural changes occurs in large
    systems
  • Spectrographs offer a scalable means for
    analyzing the evolution of large systems
  • Spectrographs highlight the main evolutionary
    events during a systems lifetime
  • Spectrographs can be customized to portray system
    growth and dependency changes at the file level
    simultaneously
Write a Comment
User Comments (0)
About PowerShow.com