ACDC: An Algorithm forComprehension-Driven Clustering
Vassilios Tzerpos
R.C. Holt
Highest cohesion clustering
SS1
SS2
SS4
SS11
SS12
SS9
SS10
SS8
SS5
SS6
SS7SS3
Contents of SS11
Essential comprehension features
Effective cluster namingBounded cluster cardinalityFamiliarity
Comprehension as pattern recognition Certain subsystem patterns emerge often in
manual decompositions of software systems
Source file pattern
Proc3
Proc2
Proc1 Proc4
Proc6
Proc5
Var1
Var2
Var3
File1 File2
Directory structure pattern
File3
File2
File1 File4
File6
File5
File7
File8
File9
Dir1 Dir2
Body-header pattern
alice.c
bob.h
bob.c
alice.h
Leaf collection pattern
sin.c tan.ccos.c
Support library pattern
busy.c weary.ctired.c
Central dispatcher pattern
dispatcher.c
Subgraph dominator pattern
dominator.c
a.c
z.cg.cf.ce.cd.c
c.cb.c
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
Skeleton construction
Source file clustersBody-header conglomerationLeaf collection and support library
identificationOrdered and limited subgraph dominationCreation of “support.ss”
Orphan Adoption
Incremental clustering techniqueOrphan: a newly introduced resource to a
software systemOrphans are adopted by the subsystem that
interacts mostly with themAssuming that a substantial skeleton has
been constructed in the first stage, the same technique can be applied here
ACDC properties
Subsystems have familiar or intuitive namesThe cardinality of the subsystems is
boundedThe final decomposition is nested and
unbalancedLimited use of the directory patternMagic numbers not important
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%
Conclusions
Clustering approaches should focus on comprehension
Pattern-driven approach appears to perform satisfactorily
Impact of ACDC’s features on comprehension remains to be determined