Identifying and Improving Reusability Based on Coupling Patterns - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Identifying and Improving Reusability Based on Coupling Patterns

Description:

Identifying and Improving Reusability Based on Coupling Patterns ... Afferent (in-bound) and Efferent (out-bound) Couplings. Instability Metric ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 14
Provided by: hemswellL
Category:

less

Transcript and Presenter's Notes

Title: Identifying and Improving Reusability Based on Coupling Patterns


1
Identifying and Improving Reusability Based on
Coupling Patterns
  • Andrea Capiluppi and Cornelia Boldyreff
  • Department of Computing and Informatics
  • CROSS
  • University of Lincoln

2
(No Transcript)
3
(No Transcript)
4
Motivation and Background
  • Successful in-house commercial software reuse
  • The promise of reusable COTS has been realised,
    including OSS system components LAMP
  • Little reuse from OSS projects in OSS projects

5
Reasons for Missing Reuse link in OSS
  • Reuse not considered a critical success factor
  • Potential for reuse not investigated
  • Duplication of effort seen as leading to survival
    of the fittest!
  • Independence of OSS projects not invented here
    syndrome

6
Our Objective Reuse Technique for OSS Community
  • Assist OSS projects in identifying reusable
    components, so their benefits can be potentially
    realised in future OSS projects.
  • Focus on source code folders/subdirectories
  • Analysing folder-to-folder coupling as extracted
    via the Doxygen engine

7
(No Transcript)
8
Coupling Types
  • Dependency Relationship
  • Include Relationship
  • Function Call Relationship
  • Afferent (in-bound) and Efferent (out-bound)
    Couplings

9
Instability Metric
  • I Ce / (Ca Ce) see Gorton and Zhu 2005
  • The Instability is the ratio of efferent coupling
    to total coupling and ranges from 0 to 1.
  • Low Instability equals high reuse potential.
  • Since couplings among folders can vary due to
    number of calls, weighted factors have been
    introduced.

10
Case Studies for Analysis
  • Arla (8 years), Mplayer (4.5), XMMS (5), Gaim
    (6.5) all productive with frequent releases and
    thriving development communities
  • libc (C Library) and intl (local language) reused
    across these projects

11
Source Folders as Reusable Units
  • initial results show that OSS developers actively
    use folders as containers for similarly scoped
    elements and prefer intra-folder linking (on
    average Arla's folders appear less reusable, i.e.
    more unstable).
  • However, as folders increase in size over time,
    Ca decreases (architectural erosion).

12
Identifying Reusable Folders
  • Table 1 Reusable folders detected via coupling
    analysis shows a total of 14 potentially reusable
    folders
  • 6 false positives, but 8 true positives!
  • Implemented algorithm does actually select
    folders that are being actively reused (rx reused
    in Arla and tremor in MPlayer)

13
Future Developments
  • Refine the selection algorithm consider other
    types of coupling and other reuse characteristics
    to determine reuse potential.
  • Our vision a plug-in to widely used OSS
    configuration management systems, e.g. cvs and
    subversion, to automatically run our algorithm
    over the source code folders on check-in and thus
    alert developers to reuse possibilities!
Write a Comment
User Comments (0)
About PowerShow.com