Analyzing Software Repositories The practical side - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Analyzing Software Repositories The practical side

Description:

Practical Applications. Conclusion / Mathematics and Computer Science. PAGE 8. Practical Applications. In theory. Fractal Figures. Evolution Radar. ArchView. In ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 22
Provided by: LOKI7
Category:

less

Transcript and Presenter's Notes

Title: Analyzing Software Repositories The practical side


1
Analyzing Software RepositoriesThe practical side
  • Robert-Jan Bijl

2
Contents
  • Recap
  • Practical Applications
  • Findings
  • Conclusion

3
Contents
  • Recap
  • Practical Applications
  • Conclusion

4
Recap
  • In any (big) software project, you need
    versioning
  • Parallel editing of files
  • Keeping track of changes
  • Being able to revert to older versions
  • Also used to analyze properties of the software
  • And even to predict bugs

5
The Tools
  • Analyzing Developer Effort (Fractal Figures)
  • Change Coupling Analysis (Evolution Radar)
  • Trend Analysis and Hotspot Detection (ArchView)

6
Analyzing Developer Effort
  • Interesting to see what developer created what
    part of the software Fractal Figure
    visualization
  • We can also have a quantitative measure

7
Evolution Radar
8
ArchView
  • Obtain metric values of modules
  • Assign them to feature vectors
  • Normalize and display in a Kiviat diagram

9
Contents
  • Recap
  • Practical Applications
  • Conclusion

10
Practical Applications
  • In theory
  • Fractal Figures
  • Evolution Radar
  • ArchView
  • In practice
  • ckjm
  • Excel
  • DA4Java

11
The failures
  • Both FractalFigures and ArchView so called proof
    of concepts, not maintained software
  • EvolutionRadar refused to work properly on my
    machine

12
Plan B
  • ckjm applies the metrics described by Chidamber
    and Kemerer
  • Use Excel to visualize these metrics
  • Though unfortunately not in Kiviat diagrams
  • Use DA4Java to compare two revisions of the
    dataset to try and explain the differences in
    metrics

13
The dataset
  • ArgoUML
  • Versions 0.24 and 0.26
  • Two modules
  • org.argouml.model
  • org.aroguml.ui

14
ckjm
  • The metrics ckjm will calculate and display for
    each class are the following.
  • WMC - Weighted methods per class
  • DIT - Depth of Inheritance Tree
  • NOC - Number of Children
  • CBO - Coupling between object classes
  • RFC - Response for a Class
  • LCOM - Lack of cohesion in methods
  • Ca - Afferent couplings
  • NPM - Number of Public Methods

15
org.argouml.model
  • Averages
  • Only LCOM seemsinteresting

16
Evolizer and DA4Java
  • Evolizer is a platform to enable software
    evolution analysis within Eclipse
  • DA4Java is an Eclipse plugin to visualize and
    analyze Java source code.
  • Source code is visualized with nested graphs.
  • Visualization based on a FAMIX model
  • FAMIX is a language independent meta-model. The
    current working version is Famix 2.2 and it
    describes the static structure of object-oriented
    software systems.

17
DA4Java
18
(No Transcript)
19
Demonstration
20
Findings
  • Started with a file that lost some methods
  • Ended up with a removed sub-module
  • Neither the dependency graphs, nor the SVN logs
    gave a clear view of what happened

21
Conclusion
  • A lot of tools in the literature are just proof
    of concepts
  • Getting useful information from metrics is a
    tedious task
  • Often stumble into interesting things while
    looking somewhere else initially
Write a Comment
User Comments (0)
About PowerShow.com