ACDC: An Algorithm for ComprehensionDriven Clustering - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

ACDC: An Algorithm for ComprehensionDriven Clustering

Description:

Leaf collection pattern. sin.c. tan.c. cos.c. Support library ... Leaf collection and support library identification. Ordered and limited subgraph domination ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 18
Provided by: scien80
Category:

less

Transcript and Presenter's Notes

Title: ACDC: An Algorithm for ComprehensionDriven Clustering


1
ACDC An Algorithm forComprehension-Driven
Clustering
  • Vassilios Tzerpos
  • R.C. Holt

2
Highest cohesion clustering
SS1
SS6
SS9
SS5
SS12
SS2
SS8
SS4
SS11
SS7
SS10
SS3
3
Contents of SS11
4
Essential comprehension features
  • Effective cluster naming
  • Bounded cluster cardinality
  • Familiarity
  • Comprehension as pattern recognition
  • Certain subsystem patterns emerge often in manual
    decompositions of software systems

5
Source file pattern
File1
File2
Var2
Var1
Var3
6
Directory structure pattern
Dir1
Dir2
File1
File4
File5
File2
File6
File8
File3
File7
File9
7
Body-header pattern
bob.c
alice.c
bob.h
alice.h
8
Leaf collection pattern
sin.c
tan.c
cos.c
9
Support library pattern
busy.c
weary.c
tired.c
10
Central dispatcher pattern
dispatcher.c
11
Subgraph dominator pattern
dominator.c
a.c
c.c
b.c
z.c
g.c
f.c
e.c
d.c
12
The ACDC algorithm
  • Two stages
  • Using a pattern-driven approach, a skeleton of
    the final decomposition is created. Subsystems
    are named appropriately.
  • The decomposition is completed by applying an
    extended version of the Orphan Adoption algorithm

13
Skeleton construction
  • Source file clusters
  • Body-header conglomeration
  • Leaf collection and support library
    identification
  • Ordered and limited subgraph domination
  • Creation of support.ss

14
Orphan Adoption
  • Incremental clustering technique
  • Orphan a newly introduced resource to a software
    system
  • Orphans are adopted by the subsystem that
    interacts mostly with them
  • Assuming that a substantial skeleton has been
    constructed in the first stage, the same
    technique can be applied here

15
ACDC properties
  • Subsystems have familiar or intuitive names
  • The cardinality of the subsystems is bounded
  • The final decomposition is nested and unbalanced
  • Limited use of the directory pattern
  • Magic numbers not important

16
Algorithm validation
  • We experimented with two different software
    systems, TOBEY and Linux.
  • We measured the following
  • Performance
  • Stability
  • Skeleton size
  • Quality

54 sec 84 sec
81.3 69.4
64.3 51.1
64.2 55.7
17
Conclusions
  • Clustering approaches should focus on
    comprehension
  • Pattern-driven approach appears to perform
    satisfactorily
  • Impact of ACDCs features on comprehension
    remains to be determined
Write a Comment
User Comments (0)
About PowerShow.com