ACDC: An Algorithm for Comprehension-Driven Clustering Vassilios Tzerpos R.C. Holt.

Slides:



Advertisements
Similar presentations
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
Advertisements

ARCHITECTURAL RECOVERY TO AID DETECTION OF ARCHITECTURAL DEGRADATION Joshua Garcia*, Daniel Popescu*, Chris Mattmann* †, Nenad Medvidovic*, and Yuanfang.
Benjamin J. Deaver Advisor – Dr. LiGuo Huang Department of Computer Science and Engineering Southern Methodist University.
Image Indexing and Retrieval using Moment Invariants Imran Ahmad School of Computer Science University of Windsor – Canada.
An Introduction to Programming and Object Oriented Design using Java 2 nd Edition. May 2004 Jaime Niño Frederick Hosch Chapter 0 : Introduction to Object.
Chapter 6: Design of Expert Systems
Chapter 25 GRASP: More Objects with Responsibilities 1CS6359 Fall 2011 John Cole.
A Tool to Support Ontology Creation Based on Incremental Mini- Ontology Merging Zonghui Lian Data Extraction Research Group Supported by Spring Conference.
Software Architecture Design Instructor: Dr. Jerry Gao.
Manajemen Basis Data Pertemuan 8 Matakuliah: M0264/Manajemen Basis Data Tahun: 2008.
Architecture & Data Management of XML-Based Digital Video Library System Jacky C.K. Ma Michael R. Lyu.
GRASP : Designing Objects with Responsibilities
Computer Science 1 Web as a graph Anna Karpovsky.
Page 1 11/6/2005 A Change Model in a SCM Tool Author: IvicaCrnkovic ABB Industrial Products. Wenbin Xiang.
1 Prototype Hierarchy Based Clustering for the Categorization and Navigation of Web Collections Zhao-Yan Ming, Kai Wang and Tat-Seng Chua School of Computing,
Computer Systems & Architecture Lesson Software Product Lines.
Continuation From Chapter From Chapter 1
1 Using Heuristic Search Techniques to Extract Design Abstractions from Source Code The Genetic and Evolutionary Computation Conference (GECCO'02). Brian.
SDLC: System Development Life Cycle Dr. Bilal IS 582 Spring 2006.
Object Oriented Analysis and Design Introduction.
Name : Emad Zargoun Id number : EASTERN MEDITERRANEAN UNIVERSITY DEPARTMENT OF Computing and technology “ITEC547- text mining“ Prof.Dr. Nazife Dimiriler.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
1 Research Groups : KEEL: A Software Tool to Assess Evolutionary Algorithms for Data Mining Problems SCI 2 SMetrology and Models Intelligent.
Swarm Computing Applications in Software Engineering By Chaitanya.
Enhanced State Estimation by Advanced Substation Monitoring PSerc Project Review MeetingTexas A&M University November 7, 2001 College Station, TX PIs:
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio CERN.
1 Testing Object-Oriented Software A Presentation at a DFW ASEE Meeting Dr. David C. Kung The University of Texas at Arlington and Advanced Software International.
28 April 2004 Javier Faulín & Israel Gil 1 DESCRIPTION OF THE ALGACEA-2 ALGORITHM IN THE ROUTING OPTIMIZATION IN CVRP Javier Faulín Department of Statistics.
Early Adopter: Integrating Concepts from Parallel and Distributed Computing into the Undergraduate Curriculum Eileen Kraemer Computer Science Department.
Lecture 3 Software Engineering Models (Cont.)
Clustering Methods K- means. K-means Algorithm Assume that K=3 and initially the points are assigned to clusters as follows. C 1 ={x 1,x 2,x 3 }, C 2.
Ioana Sora, Gabriel Glodean, Mihai Gligor Department of Computers Politehnica University of Timisoara Software Architecture Reconstruction: An Approach.
Copyright ©2012 by Pearson Education, Inc. All rights reserved. Emergency Care, Twelfth Edition Limmer O’Keefe Dickinson Introduction to Emergency Medical.
CS746: Software Architecture plg.uwaterloo.ca/~holt/cs/746/04f Tues 4pm-6pm, DC3314 Prof. Ric Holt, EIT3003 TA: Jingwei Wu.
Learning Decompositional Shape Models from Examples Alex Levinshtein Cristian Sminchisescu Sven Dickinson Sven Dickinson University of Toronto.
Event Data History David Adams BNL Atlas Software Week December 2001.
Software Clustering Based on Information Loss Minimization Periklis Andritsos University of Toronto Vassilios Tzerpos York University The 10th Working.
Professional video communications Outlook/Exchange Scheduler for Codian.
CS205 Software Engineering_Overview Specifications: The Ariane 6 must be able to deliver both satellite hardware and crew into geostationary orbit. (Ariane.
CONTENTS Area of study 2 Key knowledge Key skills.
AMB HW LOW LEVEL SIMULATION VS HW OUTPUT G. Volpi, INFN Pisa.
Using Social Network Analysis Methods for the Prediction of Faulty Components Gholamreza Safi.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Mining Graph Patterns Efficiently via Randomized Summaries Chen Chen, Cindy X. Lin, Matt Fredrikson, Mihai Christodorescu, Xifeng Yan, Jiawei Han VLDB’09.
Communicative Language Teaching
An Introduction to Git David Johndrow COMP 490 – Senior Design & Development 2/11/16.
1 Modeling the Search Landscape of Metaheuristic Software Clustering Algorithms Dagstuhl – Software Architecture Brian S. Mitchell
Energy Models for Graph Clustering Bo-Young Kim Applied Algorithm Lab, KAIST.
BEACH 04J. Piedra1 SiSA Tracking Silicon stand alone (SiSA) tracking optimization SiSA validation Matthew Herndon University of Wisconsin Joint Physics.
Real-Time Systems Laboratory Seolyoung, Jeong The CASCADAS Framework for Autonomic Communications Autonomic Communication Springer.
(Not too) Real-Time JVM (Progress Report)
Software Configuration Management CSC-532
CSC207 Fall 2016.
Personality Psychology
OGSA-WG Security Use Cases Jan 29, 2004
'. \s\s I. '.. '... · \ \ \,, I.
Software Clustering.
SYS466 Domain Classes – Part 1.
Chapter 0 : Introduction to Object Oriented Design
Software Design Lecture : 8
“The-best-of-2-worlds philosophy: developing local dismantling and global infrastructure network for sustainable e-waste treatment in emerging economies”
About Multimedia Files
' '· \ ·' ,,,,
Geant4 Workshop 02 October 2002, CERN Hajime Yoshida
Architecture Recovery
How to Extract / UnRAR with 7-Zip
Chapter 8, Design Patterns Introduction
Integration Testing.
Presentation transcript:

ACDC: An Algorithm for Comprehension-Driven Clustering Vassilios Tzerpos R.C. Holt

Highest cohesion clustering SS1 SS2 SS4 SS11 SS12 SS9 SS10 SS8 SS5 SS6 SS7 SS3

Contents of SS11

Essential comprehension features §Effective cluster naming §Bounded cluster cardinality §Familiarity l Comprehension as pattern recognition l Certain subsystem patterns emerge often in manual decompositions of software systems

Source file pattern Proc3 Proc2 Proc1Proc4 Proc6 Proc5 Var1 Var2 Var3 File1File2

Directory structure pattern File3 File2 File1File4 File6 File5 File7 File8 File9 Dir1Dir2

Body-header pattern alice.c bob.h bob.c alice.h

Leaf collection pattern sin.ctan.ccos.c

Support library pattern busy.cweary.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: l Using a pattern-driven approach, a “skeleton” of the final decomposition is created. Subsystems are named appropriately. l The decomposition is completed by applying an extended version of the Orphan Adoption algorithm

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

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

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

Algorithm validation §We experimented with two different software systems, TOBEY and Linux. §We measured the following: l Performance l Stability l Skeleton size l Quality 54 sec84 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