The Conceptual Coupling Metrics for Object-Oriented Systems - PowerPoint PPT Presentation

About This Presentation
Title:

The Conceptual Coupling Metrics for Object-Oriented Systems

Description:

Title: Cohesion Author: Dennis Last modified by: Denys Created Date: 3/17/2005 10:49:34 PM Document presentation format: On-screen Show Other titles – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 17
Provided by: DENN266
Learn more at: https://www.cs.wm.edu
Category:

less

Transcript and Presenter's Notes

Title: The Conceptual Coupling Metrics for Object-Oriented Systems


1
The Conceptual Coupling Metrics for
Object-Oriented Systems
  • Denys Poshyvanyk and Andrian Marcus
  • SEVERE group _at_
  • 22nd IEEE International Conference on Software
    Maintenance
  • Philadelphia, Pennsylvania
  • September 27, 2006

2
Motivation
  • Concepts and classes
  • Implementation and representation of concepts
  • Semantic information

3
Example
  • Methods from MySecMan class in Mozilla

4
Approach
  • Latent Semantic Indexing
  • Advantages
  • captures essential semantic info via
    dimensionality reduction
  • overcomes problems with polysemy and synonymy
  • easy to apply on the source code

5
Related Work
  • Coupling measures
  • Previously solved problems
  • Traceability link recovery
  • Managing software artifacts
  • Conceptual cohesion
  • Software clustering
  • Concept/feature location
  • Requirements traceability
  • Isolating concerns in requirements

6
Extracting Semantic Info
  • Source code -gt Corpus (doc method)
  • Preprocessing split_identifiers
    SplitIdentifiers
  • Vector space term-by-document matrix
  • Singular Value Decomposition -gt LSI subspace

7
Computing Conceptual Similarity
  • Cosine between vectors

8
Conceptual Coupling between Classes
  • Method - Class conceptual similarity
  • Class - Class conceptual similarity

Conceptual coupling between A and B 0.4
Class A
Class B
0.5
method1
method1
0.6
0.5
0.2
0.7
method2
method2
0.4
0.3
0.4
0.3
0.2
0.4
method3
method3
0.3
9
Maximal Conceptual Coupling
  • Conceptual coupling based on the strongest
    conceptual coupling link

Conceptual coupling between A and B 0.56
Class A
Class B
0.5
method1
method1
0.6
0.7
0.2
0.7
method2
method2
0.4
0.3
0.6
0.3
0.2
0.4
method3
method3
0.4
10
Are We Measuring Anything New?
  • Compare with other coupling measures
  • Coupling between classes (CBO) Chidamber04
  • Response for class (RFC) Chidamber04
  • Message passing coupling (MPC) Li93
  • Data abstraction coupling (DAC) Li93
  • Information-flow based coupling (IPC) Lee95
  • A suite of coupling measures by Briand et al
    ACAIC, OCAIC, ACMIC and OCMIC
  • Tools
  • Columbus Ferenc04
  • IRC2M

11
Software Systems
  • Ten open-source systems from different domains

12
Principal Component Analysis
  • Identifying groups of metrics (variables) which
    measure the same underlying mechanism that
    defines coupling (dimension)
  • PCA procedure
  • collect data
  • identify outliers
  • perform PCA

13
PCA Results Rotated Components
  • CoCC and CoCCm define new dimensions (PC2
    and PC6)

14
Discussion of the Results
  • Conceptual similarities between all pairs of
    classes
  • Selected classes with highest values of
    conceptual coupling
  • No direct structural dependencies

15
Discussion of the Results Cont.
  • Concepts
  • TortoiseCVS merge and update CVS operations
  • WinMerge checking out a revision of the file
  • Related concepts and history of common changes

16
Current Future Work
  • Connection to change/fault proneness
  • Impact analysis
  • Hidden dependencies/indirect coupling
  • Aspect mining
  • Refining canonical feature sets
  • Concept location and clustering
Write a Comment
User Comments (0)
About PowerShow.com