+ All Categories
Home > Software > ModularityCheck - A Tool for Assessing Modularity using Co-Change Clusters

ModularityCheck - A Tool for Assessing Modularity using Co-Change Clusters

Date post: 26-Jul-2015
Category:
Upload: marco-tulio-valente
View: 102 times
Download: 0 times
Share this document with a friend
Popular Tags:
25
ModularityCheck A Tool for Assessing Modularity using Co-Change Clusters Luciana Silva, Daniel Félix, Marco Tulio Valente, and Marcelo Maia http://aserg.labsoft.dcc.ufmg.br
Transcript

ModularityCheck

A Tool for Assessing Modularity using Co-Change Clusters

Luciana Silva, Daniel Félix,

Marco Tulio Valente, and Marcelo Maia

http://aserg.labsoft.dcc.ufmg.br

Motivation

What is a well-modularized system?

2

3

4

ModularityCheck

• A tool for assessing and exploring modularity

• Using change data (commits)

5

How it Works• Step #1: Co-Change Graph

6

Co-change Graphs

• Geronimo– Density = 0.01

7

Co-change Graphs

• Geronimo– Density = 0.01 sparse

8

Co-change Graphs

• Geronimo– Density = 0.01sparse, but dense subgraphs

9

Co-change Clustering

• Step #2: graph clustering algorithm– Chamaleon– Designed for sparse graphs

• Co-change clusters: – Groups of classes that frequently change

together

• Geronimo:– 21 co-change clusters– Density: 0.80 / cluster

10

Visualization– Step #3: Visualization using distribution maps

11

Co-change Clusters Patterns

• Step #4: Classification in patterns:– Well-encapsulated– Partially encapsulated– Crosscutting

12

Well-encapsulated clusters

13

Well-encapsulated clusters

14

Well-encapsulated clusters

15

Nice modules!

Well-encapsulated clusters

16

Well-encapsulated clusters

17

Well-encapsulated clusters

18

Package Split refactoring?

Partially encapsulated clusters

19

Partially encapsulated clusters

20

Partially encapsulated clusters

21

Move Classrefactoring?

Crosscutting Clusters

22

Crosscutting Clusters

23

Crosscutting Clusters

24

Crosscutting concern?Modularization Flaw?Major refactoring?Re-architecting?

aserg.labsoft.dcc.ufmg.br/modularitycheck

Live Demo Tomorrow – 11:00 AM

25


Recommended