Exploring Software Evolution Using Spectrographs - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Exploring Software Evolution Using Spectrographs

Description:

Evolution Spectrograph. Fan Out of Changed Dependencies at the File Level ... Spectrograph provides a scalable way to visualize the evolution of large software systems ... – PowerPoint PPT presentation

Number of Views:13
Avg rating:3.0/5.0
Slides: 21
Provided by: chn54
Category:

less

Transcript and Presenter's Notes

Title: Exploring Software Evolution Using Spectrographs


1
Exploring Software Evolution Using Spectrographs
  • Jingwei Wu, Richard C. Holt, Ahmed Hassan
  • School of Computer Science
  • University of Waterloo
  • Waterloo ON Canada

2
Outline
  • Motivation
  • Spectrographs
  • Sound spectrograph
  • Evolution spectrograph
  • Dimensions, model, and coloring
  • Template for describing spectrographs
  • Case Studies
  • Punctuation in OpenSSH
  • Recent development of KOffice
  • Developer activities in FreeBSD
  • Conclusion

3
Motivation
  • Software engineers often turn to the evolution
    history of a software system to recover various
    kinds of information by means of examining
    evolutionary phenomena, events, and trends.
  • Laws of evolution, logical coupling, decay
    indexes, evolution matrix, software volatility,
  • Recovered information can be useful for
    understanding evolution and supporting
    maintenance activities
  • How the system structure evolves?
  • Which components suffer chronic illness
    (unstable, faulty)?
  • Who is the most productive developer?
  • There are some problems regarding current
    techniques
  • Over-reduction of history data into a limited
    number of values
  • Lack of a scalable method for visualizing the
    sheer volume of evolution data

4
Sound Spectrograph
  • A sound spectrograph is a picture in which
  • The horizontal axis represents time
  • The vertical axis represents frequency of sound
  • The brightness of a position represents the
    amplitude of a frequency component

5
Evolution Spectrograph
6
Spectrograph Dimensions
  • Time options
  • Fixed-length periods (e.g., months)
  • Evolutionary events (e.g., versions and CVS
    commits)
  • Spectrum options
  • Software decomposition into smaller units
  • Other possible options such as software
    developers and implementation languages
  • Measurement options
  • Per-unit basis (e.g., per-file, per-subsystem,
    per-developer)
  • Various software metrics such as LOC, Fan In/Out
    of dependencies and defect density

7
Spectrograph Model
Measurement
8
Spectrograph Coloring
  • Color normally fades from red to green
  • Linear Gradient
  • Exponential Decay
  • Quartile Range

9
Describing a Spectrograph
  • For each spectrograph, we give its
  • Intent
  • Motivation
  • Dimensions
  • Coloring method
  • Example spectrographs

10
Example Spectrographs
  • Punctuation in OpenSSH
  • Find sudden and discontinuous changes
    occurring in the evolution of OpenSSH
  • Recent development of KOffice
  • Identify most frequently modified subsystems
    and source files
  • Developer activities in FreeBSD
  • Analyze the extent of developer activities
    during the lifetime of FreeBSD

11
Punctuation in OpenSSH
Intent Look for evidence of punctuation, (sudden
discontinuous change) in software system
evolution Motivation An evolving software system
needs to be regularly adapted to meet changing
requirements Dimensions Time versions Spectrum
ordered source files Measurement Fan In/Out
of dependencies between files Coloring
Method Exponential decay
12
Punctuation in OpenSSH
Fan In of Changed Dependencies
Fan Out of Changed Dependencies
13
Observations
  • Software systems often show characteristics of
    punctuation during their evolution
  • We have also observed punctuation in the
    evolution of Linux and PostgreSQL
  • Punctuations are mainly caused by new
    functionality and system restructuring
  • Punctuations are mostly related to milestone
    releases

14
Development of KOffice
13 Top Level Subsystems
200 CVS Commits
15
Development of KOffice
31 Second Level Subsystems
200 CVS Commits
16
Development of KOffice
327 Source Files
200 CVS Commits
17
Observations
  • Spectrographs provide strong visual cues for
    recognizing change-prone components at varying
    levels of granularity.
  • Different stake holders of a software system use
    spectrographs for different purposes
  • Managers focus on change at higher levels
  • Developers play in their own small world

18
Developer Activities in FreeBSD
Cardinality of CVS Commit
Development Months
19
Observations
  • There is a growing trend toward larger commits in
    FreeBSD
  • Possibly a sign of decay?
  • The extent of programmer activities in FreeBSD
    varies dramatically
  • Top experienced programmers worked on the
    majority of top-level subsystems and 2060
    second-level subsystems
  • Junior programmers worked on 12 top-level
    subsystems and 520 second-level subsystems

20
Conclusion
  • Spectrograph provides a scalable way to
    visualize the evolution of large software systems
  • Displays time, spectrum and software property
    measurement
  • Can highlight main evolutionary events during
    system lifetime
  • Can be used for various purposes in software
    understanding and maintenance
Write a Comment
User Comments (0)
About PowerShow.com