Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this


  1. 1. ACDC: An Algorithm forComprehension-Driven Clustering By: Jimmy Carlos ejemplo
  2. 2. Highest cohesion clustering SS1 SS6 SS9 SS5 SS12 SS2 SS8 SS4 SS11 SS7 SS3 SS10
  3. 3. Contents of SS11
  4. 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. 5. Source file patternFile1 File2 Proc1 Proc4 Proc5 Proc2 Proc6 Var2 Proc3 Var1 Var3
  6. 6. Directory structure pattern Dir1 Dir2 File1 File4 File5 File2 File6 File8 File3 File7 File9
  7. 7. Body-header pattern bob.c alice.c bob.h alice.h
  8. 8. Leaf collection pattern sin.c cos.c tan.c
  9. 9. Support library pattern busy.c tired.c weary.c
  10. 10. Central dispatcher pattern dispatcher.c
  11. 11. Subgraph dominator pattern dominator.c a.c b.c e.c f.c g.c z.c
  12. 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. 13. Skeleton construction Source file clusters Body-header conglomeration Leaf collection and support library identification Ordered and limited subgraph domination Creation of “”
  14. 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. 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. 16. Algorithm validation We experimented with two different software systems, TOBEY and Linux. We measured the following: Performance 54 sec 84 sec Stability 81.3% 69.4% Skeleton size 64.3% 51.1% Quality 64.2% 55.7%
  17. 17. 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