SlideShare a Scribd company logo
1 of 4
Download to read offline
IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308
__________________________________________________________________________________________
Volume: 02 Issue: 12 | Dec-2013, Available @ http://www.ijret.org 426
A SURVEY ON CLUSTERING TECHNIQUES FOR IDENTIFICATION OF
EXTRACT CLASS OPPORTUNITIES
Suchithra Chandran1
, Bright Gee Varghese.R2
1
Post Graduate Student, 2
Assistant professor, Department of Computer Science and Engineering, Karunya University,
Tamil Nadu, India
suchithracc@gmail.com, brightfsona@yahoo.co.in
Abstract
Refactoring is a growing research area in the field of software remodularization. Refactoring is an essential practice in software
development field. Refactoring is done to clean up the code and to minimize the chance of introducing the bugs. Extract class
refactoring is done to improve the design of the system thereby increasing the cohesion among the class members and reducing the
coupling between two classes. Extract class refactoring is performed on large, complex and less cohesive classes, which are doing
functions that should be split into two or more classes. Such large and complex classes are decomposed to several classes during
refactoring. During refactoring a new class is created and the entities that perform a function are moved to it. For extract class
refactoring the classes to be extracted for refactoring has to be identified first. The identified refactoring opportunities are then
evaluated to check whether they preserve the original behavior of the system. Refactoring is performed even after the release of the
software to improve its performance. Clustering is a technique used to group the similar entities in a class. Several clustering
algorithms are used to find these refactoring opportunities. In this survey various clustering techniques to identify those classes are
reviewed considering its advantages and disadvantages.
Keywords: Clustering, Object-oriented system, Refactoring, Software remodularization
----------------------------------------------------------------------***------------------------------------------------------------------------
1. INTRODUCTION
Main aim of Object Oriented (OO) design is to distribute the
responsibilities of a software system into several classes to
reduce the system complexity. To reduce the complexity the
large and complex classes are decomposed to form several
smaller classes. A class with more than one responsibility has
low cohesion. So decomposition of these classes should be
done to improve the cohesion.
In [1] (Fokaefs.M et al. 2012) says, refactoring is the process
of restructuring the existing code of a system by preserving
the external behavior. It is done to improve the design
structure of the system. To improve the design of a system its
cohesion should be increased and the coupling should be
decreased. Extract Class refactoring is a technique of
decomposing the large and complex classes with one or more
responsibilities. Decomposition is done by splitting the classes
performing more than one function or responsibility which
should be done by more than one class. Before performing
Extract Class refactoring, the first step is to identify the classes
which should be extracted to form a separate class to improve
the cohesion. Clustering technique is usually used to find the
similar methods and attributes used for performing a function
in a class. Clustering method includes: Hierarchical clustering
algorithms, Partitional clustering algorithms, Graph theoretic
clustering.
2. HIERARCHICAL CLUSTERING
Hierarchical Clustering Algorithm is one of the most widely
used technique for clustering the related entities from a highly
complex class to form a separate class.
In [2] (Lung.C et al. 2006) proposed a method for
restructuring the program using clustering technique. The
proposed approach has four phases. First phase is data
collection and processing. During this phase the source code is
parsed and an entity-attribute matrix is generated. The entities
in a class are clustered based on the attributes they share.
Second phase is clustering. During clustering the resemblance
coefficient metric is calculated to measure the similarity
between the entities. Then clusters are formed using the three
hierarchical agglomerative clustering algorithm: SLINK
(Single Linkage), CLINK (Complete Linkage), WPGMA.
Then among these the best algorithm selected. Third phase is
visualization and analysis. The result of clustering phase is
represented in the form of tree. From these the clusters are
identified. Fourth phase is restructuring. The complex classes
identified are decomposed and formed several classes thereby
increasing cohesion. The advantage of the technique is that it
identifies low-cohesive functions and performs restructuring
to improve the quality of ill-structured programs.
IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308
__________________________________________________________________________________________
Volume: 02 Issue: 12 | Dec-2013, Available @ http://www.ijret.org 427
In [3] (Czibula.L et al. 2007) proposed a hierarchical
agglomerative clustering technique for restructuring software
systems(HARS), that identifies the refactorings needed to
restructure the software system to improve the quality of the
system. The clustering approach for refactoring
determination(CARD) consists of three steps: data collection,
grouping and refactorings extraction. During grouping the
entities identified at previous step is re-grouped using
clustering algorithm. The clustering algorithm used is
hierarchical agglomerative clustering algorithm. The linkage
metrics used is complete linkage, maximum distance between
the members of two clusters. In HARS algorithm, each entity
from the software system is put in its own cluster. Then select
two most similar clusters from the current partition. Merge the
two clusters into a single new cluster. The number of clusters
in the partition is now decreased. The advantage of this
approach is that the overall running time of HARS algorithm
is reduced to 3.68 minutes when compared to partitioning
clustering algorithm, which is about 5 minutes.
In [4] (Fokaefs.M et al. 2009) proposed a method for
decomposition of large classes to improve coupling and
cohesion using Agglomerative Clustering algorithm based on
Jaccard distance between the class members to identify the
attributes and methods that can be extracted to a separate
class. This identification has two parts, clustering and filtering.
Clustering is done using agglomerative clustering algorithm to
identify the classes to be extracted. Filtering is done using a
set of rules to evaluate the degree of functionality and to check
whether the suggested refactorings preserve the behavior of
the system. This methodology does not define a fixed
threshold value for distance instead its applied for several
threshold values ranging from 0.1 to 0.9. This method also
produces large number of suggestions that may include
duplicate suggestions.
In [5] (Rao.A et al. 2011) proposed another method using
metrics supplemented agglomerative clustering technique to
identify the low cohesive classes to extract them to a separate
class thereby improving cohesion. The proposed approach has
two steps. First identifying low cohesive classes using the
metrics LCOM (Lack of Cohesion in Methods), TCC ( Tight
Class Cohesion) values. Secondly, the metrics supplemented
agglomerative clustering technique is applied to the low
cohesive classes. During this step the similarity between the
class members are calculated using Jaccard similarity metric
value and then agglomerative clustering algorithm is used to
find the cluster of class members at a specified threshold to be
extracted to separate class. The advantage of this approach is
that it can handle a situation where agglomerative clustering
alone cannot find proper clusters.
In [6] (Cassell.K et al. 2011) proposed a dual clustering
approach for extract class refactoring. The approach uses a
divisive clustering based on structural information, followed
by agglomerative clustering based on semantic information.
The divisive structural clustering algorithm known as
betweenness clustering separates the class members into
groups based on the dependencies between the class members.
Betweenness clustering is a graph-based technique where the
nodes represent the class members and edges represent the
dependency among them. The betweenness value is calculated
to group the class members. Then an agglomerative clustering
technique based on semantics is used to combine the smaller
groups with the larger ones. The technique starts with seed
clusters and then it adds closely related clusters to them until
the stopping criterion is reached. Betweenness clustering uses
extended structural information in addition to local
information. The disadvantage is that the technique is complex
as it uses two complementary algorithms.
3. PARTITIONAL CLUSTERING
In partitional clustering methods, an initial cluster is given and
then the instances are moved from one cluster to other to
obtain better cluster.
In [7] (Czibula.L et al. 2006) has proposed a partitional
clustering technique called k-means for refactoring
determination (kRED). The clustering approach has three
steps: data collection, grouping and refactorings extraction.
During grouping the set of entities identified at the previous
step is re-grouped to clusters using k-means algorithm. For the
kRED algorithm, the initial number of clusters is given and the
initial centroid is defined. The clusters are recalculated when
each object is assigned to the closest cluster. This is repeated
until two consecutive iterations remain unchanged or if the
number of iterations performed exceeds the maximum number
of iterations allowed. The disadvantage is that the performance
depends on the initial centroid, so no guarantee of optimal
solution.
In [8] (Czibula.L et al. 2008) proposed a partitional clustering
algorithm for improving the structure of the object-oriented
software systems. The clustering approach used here has three
steps: Initially the system is analysed and relevant entities are
extracted, the entities extracted are re-grouped using
partitional clustering algorithm for refactoring determination
(PARED), finally the new system is compared with the
original to obtain the list of refactorings. In PARED technique,
the initial number of clusters and the initial medoids are
determined. Then the clusters and medoids are recalculated
when each object is assigned to the closest medoid. This is
repeated until there is no change in the partition. The approach
has an overall running time of 1.2 minutes which is less when
compared with the kRED algorithm. The evolutionary
algorithms has to be executed 10 times to obtain a stable
result, while PARED algorithm has to be executed just once.
The disadvantage of this technique is that the result is not
finite as the initial partition can change.
IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308
__________________________________________________________________________________________
Volume: 02 Issue: 12 | Dec-2013, Available @ http://www.ijret.org 428
4. GRAPH THEORETIC CLUSTERING
In graph-theoretic clustering methods, clusters are formed
from graphs. In [9] (Mancoridis.S et al. 1998) proposed an
approach to develop high-level system code by restructuring
the source code. In the proposed approach, initially the source
code is parsed to obtain the system modules and module-level
dependency and is represented as a Module Dependency
Graph(MDG). Then several automatic software
modularization algorithms are applied to automatically
partition the graph into clusters in a way so as to minimize
inter-connectivity and maximize intra-connectivity.
Modularization Algorithms used might be Optimal Clustering
Algorithm, Sub-Optimal Clustering Algorithm, Genetic
Algorithm. Then builds a hierarchy of clusters using
hierarchical clustering algorithm. For systems with large
number of modules, hierarchical clustering and genetic
clustering algorithm produces optimal solution. Automatic
modularization techniques are useful to programmers who
lack familiarity with a system. The disadvantage is that the
modularization quality does not consider the Interconnection
Strength (IS) of the relationships that exist between the
modules in the system.
In [10] (Xanthos.S 2006) proposed a spectral graph
partitioning technique to identify the large classes in the
object-oriented system. In this approach the class diagram is
analysed and a graph is formed where the vertices are the
classes and the edges are the messages they exchange. Then
this graph is iteratively bipartitioned. In each iteration the
graph is partitioned to two sub-graphs. The iteration stops
when a less cohesive class is formed during the partition.
These sub-graphs forms separate classes thereby increasing
cohesion. This approach minimizes the communication
between the modules of the system thereby reducing coupling.
The disadvantage is that it’s hard to find an optimal partition.
In [11] (Bavota.G et al. 2010) proposed a technique for
identifying extract class opportunities exploiting structural and
semantic relationships between the methods of the classes.
The proposed approach starts from a class with low cohesion,
the input class is parsed in order to extract a weighted graph
representing it, each node represents a method of the class and
weight of an edge represents a measure reflecting structural
relationship such as attribute references, method calls and
semantic relationship of two connected methods. Once the
graph is computed a MaxFlow-MinCut algorithm is used to
partition the original graph into two subgraphs, cutting a
minimum number of edges with low weight. This two sub
graphs form two new classes that have higher cohesion than
original class without increasing coupling. Better refactoring
opportunities are identified by using the combination of
structural and semantic cohesion measures. The disadvantage
is that the MaxFlow-MinCut algorithm is able to split the
original class into only two sub-graphs, so only two new
classes can be extracted.
5. COMPARISON OF VARIOUS ALGORITHMS
The following table shows the comparison of various
clustering algorithms used for identifying the extract class
opportunities.
Table -1: Comparison of various clustering algorithms
Parameter Hierarchical
Clustering
Partitional clustering Graph partitioning
Running Time Less Higher compared to hierarchical clustering. Depends on the partitioning algorithm.
Solution Produces
optimal
solution.
No guarantee of optimal solution. No guarantee of optimal solution.
Performance Good
Performance.
Performance depends on initial cluster. Performance depends on the partitioning
algorithm.
Deterministic or
Non-
deterministic
output
Deterministic Non-Deterministic Deterministic
Finite or Non-
finite output
Finite Non-finite Non-finite
IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308
__________________________________________________________________________________________
Volume: 02 Issue: 12 | Dec-2013, Available @ http://www.ijret.org 429
6. CONCLUSION
This paper gives a survey on various clustering techniques for
identifying the extract class opportunities. The survey showed
that there are several clustering approaches for the
identification. Among the techniques reviewed, hierarchical
clustering technique identifies better extract class
opportunities for performing extract class refactoring than
partitioned or any other clustering algorithms.
ACKNOWLEDGEMENTS
I am highly indebted to Mr. Bright Gee Varghese, Assistant
Professor, Department of Computer Science and Engineering
for his guidance and I would like to thank all the authors of the
references which were very helpful for this survey.
REFERENCES
[1]. Fokaefs,M., Tsantalis,N., Stroulia,E.,
Chatzigeorgiou,A.,2012. “Identification and Application
of Extract Class refactorings in object-oriented systems,”
Journal of Systems and Software, vol.85, issue 10, pp.
2241-2260.
[2]. Chung-Horng Lung, Xia Xu, MarziaZaman, and
Anand Srinivasan, 2006.“Program Restructuring through
Clustering Techniques,” SCAM '06: Proceedings of the
Source Code Analysis and Manipulation, Fourth IEEE
International Workshop, pp. 75- 84.
[3]. Czibula,I. G. and Serban, G., 2007. “Hierarchical
clustering for software systems restructuring,”
INFOCOMP Journal of Computer Science, Brasil6 , no.
4, 43 - 51.
[4]. Fokaefs,M., Tsantalis,N., Stroulia,E., Chatzigeorgiou,A.,
2009. “Decomposing object-oriented class modules
using an agglomerative clustering technique,” In: 25th
IEEE International Conference on Software Maintenance
(ICSM’2009), Edmonton, AB, Canada.
[5] AnandaRao.A, and K. Narendar Reddy, 2011.
"Identifying Clusters of Concepts in a Low Cohesive
Class for Extract Class Refactoring Using Metrics
Supplemented Agglomerative Clustering Technique,"
International Journal of Computer Science Issues, vol. 8,
issue 5, no. 2, pp. 185-194.
[6] Keith Cassell, Peter Andreae, and Lindsay Groves,
2011."A Dual Clustering Approach to the Extract Class
Refactoring," 23rd International Conference on Software
Engineering and Knowledge Engineering (SEKE'11),
Miami, FL, USA.
[7] Czibula, I. G. and Serban, G., 2006. “Improving Systems
Design Using a Clustering Approach,” International
Journal of Computer Science and NetworkSecurity
(IJCSNS), 6(12):40–49.
[8] Czibula.I.G, G.Serban, 2008.“A partitional clustering
algorithm for improving the structure of object-oriented
software systems,” StudiaUniversitatis Babes-Bolyai,
Informatica 53 (2), 105-114.
[9] Mancoridis, S., Mitchell, B.S., Rorres, C., Chen, Y.,
Gansner, E.R.,1998. “Using automaticclustering to
produce high-level system organizations of source
code,” In: 6th
International Workshop on Program
Comprehension. IEEE Computer SocietyPress, pp. 45–
52.
[10 Xanthos, S., 2006. “Clustering Object-oriented
Software Systems using Spectral GraphPartitioning,”
ACM Student Research Competition.
[11] Bavota,G., De Lucia, A., Oliveto, R., 2010.
“Identifying extract class refactoring opportunities
using structural and semantic cohesion measures,”
Journal of Systemsand Software 84, 397–41.
BIOGRAPHIES
Suchithra Chandran is pursuing MTech
(Computer Science and Engineering) degree
from Karunya University, Tamil Nadu, India.
She received her B.E (Computer Science and
Engineering) degree from AMS Engineering
College, Tamil Nadu, India.
Bright Gee Varghese. R completed his B.E
(Computer Science and Engineering) from Sun
College of Engineering and Technology,
Nagercoil, Tamil Nadu, India in 2003. He
started his career as Lecturer in Sun College of
Engineering and Technology, Nagercoil, from
June 2003. He completed his M.E from Vinayaka Mission
university, Salem, Tamil Nadu in 2011.Currently he is
working as an Assistant Professor in Computer Science
Department in Karunya University and pursuing part time
Ph.D in Karunya University, Tamil Nadu, India. His main
research area is Software Engineering.

More Related Content

What's hot

Study of the Class and Structural Changes Caused By Incorporating the Target ...
Study of the Class and Structural Changes Caused By Incorporating the Target ...Study of the Class and Structural Changes Caused By Incorporating the Target ...
Study of the Class and Structural Changes Caused By Incorporating the Target ...ijceronline
 
A comparative study of clustering and biclustering of microarray data
A comparative study of clustering and biclustering of microarray dataA comparative study of clustering and biclustering of microarray data
A comparative study of clustering and biclustering of microarray dataijcsit
 
Building a Classifier Employing Prism Algorithm with Fuzzy Logic
Building a Classifier Employing Prism Algorithm with Fuzzy LogicBuilding a Classifier Employing Prism Algorithm with Fuzzy Logic
Building a Classifier Employing Prism Algorithm with Fuzzy LogicIJDKP
 
Machine Learning Algorithms for Image Classification of Hand Digits and Face ...
Machine Learning Algorithms for Image Classification of Hand Digits and Face ...Machine Learning Algorithms for Image Classification of Hand Digits and Face ...
Machine Learning Algorithms for Image Classification of Hand Digits and Face ...IRJET Journal
 
Clustering Approach Recommendation System using Agglomerative Algorithm
Clustering Approach Recommendation System using Agglomerative AlgorithmClustering Approach Recommendation System using Agglomerative Algorithm
Clustering Approach Recommendation System using Agglomerative AlgorithmIRJET Journal
 
An efficient feature selection in
An efficient feature selection inAn efficient feature selection in
An efficient feature selection incsandit
 
A Novel Penalized and Compensated Constraints Based Modified Fuzzy Possibilis...
A Novel Penalized and Compensated Constraints Based Modified Fuzzy Possibilis...A Novel Penalized and Compensated Constraints Based Modified Fuzzy Possibilis...
A Novel Penalized and Compensated Constraints Based Modified Fuzzy Possibilis...ijsrd.com
 
Improved Slicing Algorithm For Greater Utility In Privacy Preserving Data Pub...
Improved Slicing Algorithm For Greater Utility In Privacy Preserving Data Pub...Improved Slicing Algorithm For Greater Utility In Privacy Preserving Data Pub...
Improved Slicing Algorithm For Greater Utility In Privacy Preserving Data Pub...Waqas Tariq
 
Extensive Analysis on Generation and Consensus Mechanisms of Clustering Ensem...
Extensive Analysis on Generation and Consensus Mechanisms of Clustering Ensem...Extensive Analysis on Generation and Consensus Mechanisms of Clustering Ensem...
Extensive Analysis on Generation and Consensus Mechanisms of Clustering Ensem...IJECEIAES
 
EVALUATING SYMMETRIC INFORMATION GAP BETWEEN DYNAMICAL SYSTEMS USING PARTICLE...
EVALUATING SYMMETRIC INFORMATION GAP BETWEEN DYNAMICAL SYSTEMS USING PARTICLE...EVALUATING SYMMETRIC INFORMATION GAP BETWEEN DYNAMICAL SYSTEMS USING PARTICLE...
EVALUATING SYMMETRIC INFORMATION GAP BETWEEN DYNAMICAL SYSTEMS USING PARTICLE...Zac Darcy
 
A Combined Approach for Feature Subset Selection and Size Reduction for High ...
A Combined Approach for Feature Subset Selection and Size Reduction for High ...A Combined Approach for Feature Subset Selection and Size Reduction for High ...
A Combined Approach for Feature Subset Selection and Size Reduction for High ...IJERA Editor
 
IRJET- Optimal Number of Cluster Identification using Robust K-Means for ...
IRJET-  	  Optimal Number of Cluster Identification using Robust K-Means for ...IRJET-  	  Optimal Number of Cluster Identification using Robust K-Means for ...
IRJET- Optimal Number of Cluster Identification using Robust K-Means for ...IRJET Journal
 
IDENTIFICATION AND INVESTIGATION OF THE USER SESSION FOR LAN CONNECTIVITY VIA...
IDENTIFICATION AND INVESTIGATION OF THE USER SESSION FOR LAN CONNECTIVITY VIA...IDENTIFICATION AND INVESTIGATION OF THE USER SESSION FOR LAN CONNECTIVITY VIA...
IDENTIFICATION AND INVESTIGATION OF THE USER SESSION FOR LAN CONNECTIVITY VIA...ijcseit
 
Iaetsd an efficient and large data base using subset selection algorithm
Iaetsd an efficient and large data base using subset selection algorithmIaetsd an efficient and large data base using subset selection algorithm
Iaetsd an efficient and large data base using subset selection algorithmIaetsd Iaetsd
 
Automatic Unsupervised Data Classification Using Jaya Evolutionary Algorithm
Automatic Unsupervised Data Classification Using Jaya Evolutionary AlgorithmAutomatic Unsupervised Data Classification Using Jaya Evolutionary Algorithm
Automatic Unsupervised Data Classification Using Jaya Evolutionary Algorithmaciijournal
 
A Low Rank Mechanism to Detect and Achieve Partially Completed Image Tags
A Low Rank Mechanism to Detect and Achieve Partially Completed Image TagsA Low Rank Mechanism to Detect and Achieve Partially Completed Image Tags
A Low Rank Mechanism to Detect and Achieve Partially Completed Image TagsIRJET Journal
 
Novel text categorization by amalgamation of augmented k nearest neighbourhoo...
Novel text categorization by amalgamation of augmented k nearest neighbourhoo...Novel text categorization by amalgamation of augmented k nearest neighbourhoo...
Novel text categorization by amalgamation of augmented k nearest neighbourhoo...ijcsity
 

What's hot (19)

A0310112
A0310112A0310112
A0310112
 
Study of the Class and Structural Changes Caused By Incorporating the Target ...
Study of the Class and Structural Changes Caused By Incorporating the Target ...Study of the Class and Structural Changes Caused By Incorporating the Target ...
Study of the Class and Structural Changes Caused By Incorporating the Target ...
 
A comparative study of clustering and biclustering of microarray data
A comparative study of clustering and biclustering of microarray dataA comparative study of clustering and biclustering of microarray data
A comparative study of clustering and biclustering of microarray data
 
Building a Classifier Employing Prism Algorithm with Fuzzy Logic
Building a Classifier Employing Prism Algorithm with Fuzzy LogicBuilding a Classifier Employing Prism Algorithm with Fuzzy Logic
Building a Classifier Employing Prism Algorithm with Fuzzy Logic
 
Machine Learning Algorithms for Image Classification of Hand Digits and Face ...
Machine Learning Algorithms for Image Classification of Hand Digits and Face ...Machine Learning Algorithms for Image Classification of Hand Digits and Face ...
Machine Learning Algorithms for Image Classification of Hand Digits and Face ...
 
Clustering Approach Recommendation System using Agglomerative Algorithm
Clustering Approach Recommendation System using Agglomerative AlgorithmClustering Approach Recommendation System using Agglomerative Algorithm
Clustering Approach Recommendation System using Agglomerative Algorithm
 
Saif_CCECE2007_full_paper_submitted
Saif_CCECE2007_full_paper_submittedSaif_CCECE2007_full_paper_submitted
Saif_CCECE2007_full_paper_submitted
 
An efficient feature selection in
An efficient feature selection inAn efficient feature selection in
An efficient feature selection in
 
A Novel Penalized and Compensated Constraints Based Modified Fuzzy Possibilis...
A Novel Penalized and Compensated Constraints Based Modified Fuzzy Possibilis...A Novel Penalized and Compensated Constraints Based Modified Fuzzy Possibilis...
A Novel Penalized and Compensated Constraints Based Modified Fuzzy Possibilis...
 
Improved Slicing Algorithm For Greater Utility In Privacy Preserving Data Pub...
Improved Slicing Algorithm For Greater Utility In Privacy Preserving Data Pub...Improved Slicing Algorithm For Greater Utility In Privacy Preserving Data Pub...
Improved Slicing Algorithm For Greater Utility In Privacy Preserving Data Pub...
 
Extensive Analysis on Generation and Consensus Mechanisms of Clustering Ensem...
Extensive Analysis on Generation and Consensus Mechanisms of Clustering Ensem...Extensive Analysis on Generation and Consensus Mechanisms of Clustering Ensem...
Extensive Analysis on Generation and Consensus Mechanisms of Clustering Ensem...
 
EVALUATING SYMMETRIC INFORMATION GAP BETWEEN DYNAMICAL SYSTEMS USING PARTICLE...
EVALUATING SYMMETRIC INFORMATION GAP BETWEEN DYNAMICAL SYSTEMS USING PARTICLE...EVALUATING SYMMETRIC INFORMATION GAP BETWEEN DYNAMICAL SYSTEMS USING PARTICLE...
EVALUATING SYMMETRIC INFORMATION GAP BETWEEN DYNAMICAL SYSTEMS USING PARTICLE...
 
A Combined Approach for Feature Subset Selection and Size Reduction for High ...
A Combined Approach for Feature Subset Selection and Size Reduction for High ...A Combined Approach for Feature Subset Selection and Size Reduction for High ...
A Combined Approach for Feature Subset Selection and Size Reduction for High ...
 
IRJET- Optimal Number of Cluster Identification using Robust K-Means for ...
IRJET-  	  Optimal Number of Cluster Identification using Robust K-Means for ...IRJET-  	  Optimal Number of Cluster Identification using Robust K-Means for ...
IRJET- Optimal Number of Cluster Identification using Robust K-Means for ...
 
IDENTIFICATION AND INVESTIGATION OF THE USER SESSION FOR LAN CONNECTIVITY VIA...
IDENTIFICATION AND INVESTIGATION OF THE USER SESSION FOR LAN CONNECTIVITY VIA...IDENTIFICATION AND INVESTIGATION OF THE USER SESSION FOR LAN CONNECTIVITY VIA...
IDENTIFICATION AND INVESTIGATION OF THE USER SESSION FOR LAN CONNECTIVITY VIA...
 
Iaetsd an efficient and large data base using subset selection algorithm
Iaetsd an efficient and large data base using subset selection algorithmIaetsd an efficient and large data base using subset selection algorithm
Iaetsd an efficient and large data base using subset selection algorithm
 
Automatic Unsupervised Data Classification Using Jaya Evolutionary Algorithm
Automatic Unsupervised Data Classification Using Jaya Evolutionary AlgorithmAutomatic Unsupervised Data Classification Using Jaya Evolutionary Algorithm
Automatic Unsupervised Data Classification Using Jaya Evolutionary Algorithm
 
A Low Rank Mechanism to Detect and Achieve Partially Completed Image Tags
A Low Rank Mechanism to Detect and Achieve Partially Completed Image TagsA Low Rank Mechanism to Detect and Achieve Partially Completed Image Tags
A Low Rank Mechanism to Detect and Achieve Partially Completed Image Tags
 
Novel text categorization by amalgamation of augmented k nearest neighbourhoo...
Novel text categorization by amalgamation of augmented k nearest neighbourhoo...Novel text categorization by amalgamation of augmented k nearest neighbourhoo...
Novel text categorization by amalgamation of augmented k nearest neighbourhoo...
 

Viewers also liked

Advanced control systems in two wheeler and finding the collision site of the...
Advanced control systems in two wheeler and finding the collision site of the...Advanced control systems in two wheeler and finding the collision site of the...
Advanced control systems in two wheeler and finding the collision site of the...eSAT Publishing House
 
Static analysis of portal axle output shaft using
Static analysis of portal axle output shaft usingStatic analysis of portal axle output shaft using
Static analysis of portal axle output shaft usingeSAT Publishing House
 
Mathematical model for an area source and the point
Mathematical model for an area source and the pointMathematical model for an area source and the point
Mathematical model for an area source and the pointeSAT Publishing House
 
Create shear stair for reinforcement of concrete
Create shear stair for reinforcement of concreteCreate shear stair for reinforcement of concrete
Create shear stair for reinforcement of concreteeSAT Publishing House
 
Review study on performance of seismically tested repaired shear walls
Review study on performance of seismically tested repaired shear wallsReview study on performance of seismically tested repaired shear walls
Review study on performance of seismically tested repaired shear wallseSAT Publishing House
 
Power system stability improvement under three
Power system stability improvement under threePower system stability improvement under three
Power system stability improvement under threeeSAT Publishing House
 
Cfd analaysis of flow through a conical exhaust
Cfd analaysis of flow through a conical exhaustCfd analaysis of flow through a conical exhaust
Cfd analaysis of flow through a conical exhausteSAT Publishing House
 
Analysis of aerodynamic characteristics of a supercritical airfoil for low sp...
Analysis of aerodynamic characteristics of a supercritical airfoil for low sp...Analysis of aerodynamic characteristics of a supercritical airfoil for low sp...
Analysis of aerodynamic characteristics of a supercritical airfoil for low sp...eSAT Publishing House
 
Arsenic removal from water using activated carbon
Arsenic removal from water using activated carbonArsenic removal from water using activated carbon
Arsenic removal from water using activated carboneSAT Publishing House
 
An overview of methods for monitoring web services based on the quality of se...
An overview of methods for monitoring web services based on the quality of se...An overview of methods for monitoring web services based on the quality of se...
An overview of methods for monitoring web services based on the quality of se...eSAT Publishing House
 
Gps enabled android application for bus
Gps enabled android application for busGps enabled android application for bus
Gps enabled android application for buseSAT Publishing House
 
Harmonized scheme for data mining technique to progress decision support syst...
Harmonized scheme for data mining technique to progress decision support syst...Harmonized scheme for data mining technique to progress decision support syst...
Harmonized scheme for data mining technique to progress decision support syst...eSAT Publishing House
 
Monitoring and control of grain storage using plc
Monitoring and control of grain storage using plcMonitoring and control of grain storage using plc
Monitoring and control of grain storage using plceSAT Publishing House
 
Implementation of cyclic convolution based on fnt
Implementation of cyclic convolution based on fntImplementation of cyclic convolution based on fnt
Implementation of cyclic convolution based on fnteSAT Publishing House
 
Use of cloud federation without need of identity federation using dynamic acc...
Use of cloud federation without need of identity federation using dynamic acc...Use of cloud federation without need of identity federation using dynamic acc...
Use of cloud federation without need of identity federation using dynamic acc...eSAT Publishing House
 
Burrows wheeler based data compression and secure transmission
Burrows wheeler based data compression and secure transmissionBurrows wheeler based data compression and secure transmission
Burrows wheeler based data compression and secure transmissioneSAT Publishing House
 
Flow balanced routing in wireless sensor networks
Flow balanced routing in wireless sensor networksFlow balanced routing in wireless sensor networks
Flow balanced routing in wireless sensor networkseSAT Publishing House
 
Parallel unit connected generator model for third
Parallel unit connected generator model for thirdParallel unit connected generator model for third
Parallel unit connected generator model for thirdeSAT Publishing House
 

Viewers also liked (20)

Advanced control systems in two wheeler and finding the collision site of the...
Advanced control systems in two wheeler and finding the collision site of the...Advanced control systems in two wheeler and finding the collision site of the...
Advanced control systems in two wheeler and finding the collision site of the...
 
Static analysis of portal axle output shaft using
Static analysis of portal axle output shaft usingStatic analysis of portal axle output shaft using
Static analysis of portal axle output shaft using
 
Quality of service (qos) in wi max
Quality of service (qos) in wi maxQuality of service (qos) in wi max
Quality of service (qos) in wi max
 
Mathematical model for an area source and the point
Mathematical model for an area source and the pointMathematical model for an area source and the point
Mathematical model for an area source and the point
 
Create shear stair for reinforcement of concrete
Create shear stair for reinforcement of concreteCreate shear stair for reinforcement of concrete
Create shear stair for reinforcement of concrete
 
Review study on performance of seismically tested repaired shear walls
Review study on performance of seismically tested repaired shear wallsReview study on performance of seismically tested repaired shear walls
Review study on performance of seismically tested repaired shear walls
 
Scrum an agile process
Scrum an agile processScrum an agile process
Scrum an agile process
 
Power system stability improvement under three
Power system stability improvement under threePower system stability improvement under three
Power system stability improvement under three
 
Cfd analaysis of flow through a conical exhaust
Cfd analaysis of flow through a conical exhaustCfd analaysis of flow through a conical exhaust
Cfd analaysis of flow through a conical exhaust
 
Analysis of aerodynamic characteristics of a supercritical airfoil for low sp...
Analysis of aerodynamic characteristics of a supercritical airfoil for low sp...Analysis of aerodynamic characteristics of a supercritical airfoil for low sp...
Analysis of aerodynamic characteristics of a supercritical airfoil for low sp...
 
Arsenic removal from water using activated carbon
Arsenic removal from water using activated carbonArsenic removal from water using activated carbon
Arsenic removal from water using activated carbon
 
An overview of methods for monitoring web services based on the quality of se...
An overview of methods for monitoring web services based on the quality of se...An overview of methods for monitoring web services based on the quality of se...
An overview of methods for monitoring web services based on the quality of se...
 
Gps enabled android application for bus
Gps enabled android application for busGps enabled android application for bus
Gps enabled android application for bus
 
Harmonized scheme for data mining technique to progress decision support syst...
Harmonized scheme for data mining technique to progress decision support syst...Harmonized scheme for data mining technique to progress decision support syst...
Harmonized scheme for data mining technique to progress decision support syst...
 
Monitoring and control of grain storage using plc
Monitoring and control of grain storage using plcMonitoring and control of grain storage using plc
Monitoring and control of grain storage using plc
 
Implementation of cyclic convolution based on fnt
Implementation of cyclic convolution based on fntImplementation of cyclic convolution based on fnt
Implementation of cyclic convolution based on fnt
 
Use of cloud federation without need of identity federation using dynamic acc...
Use of cloud federation without need of identity federation using dynamic acc...Use of cloud federation without need of identity federation using dynamic acc...
Use of cloud federation without need of identity federation using dynamic acc...
 
Burrows wheeler based data compression and secure transmission
Burrows wheeler based data compression and secure transmissionBurrows wheeler based data compression and secure transmission
Burrows wheeler based data compression and secure transmission
 
Flow balanced routing in wireless sensor networks
Flow balanced routing in wireless sensor networksFlow balanced routing in wireless sensor networks
Flow balanced routing in wireless sensor networks
 
Parallel unit connected generator model for third
Parallel unit connected generator model for thirdParallel unit connected generator model for third
Parallel unit connected generator model for third
 

Similar to Clustering techniques for identifying extract class refactoring opportunities

Survey on software remodularization techniques
Survey on software remodularization techniquesSurvey on software remodularization techniques
Survey on software remodularization techniqueseSAT Publishing House
 
Survey on software remodularization techniques
Survey on software remodularization techniquesSurvey on software remodularization techniques
Survey on software remodularization techniqueseSAT Publishing House
 
An Empirical Study for Defect Prediction using Clustering
An Empirical Study for Defect Prediction using ClusteringAn Empirical Study for Defect Prediction using Clustering
An Empirical Study for Defect Prediction using Clusteringidescitation
 
IRJET- Customer Segmentation from Massive Customer Transaction Data
IRJET- Customer Segmentation from Massive Customer Transaction DataIRJET- Customer Segmentation from Massive Customer Transaction Data
IRJET- Customer Segmentation from Massive Customer Transaction DataIRJET Journal
 
Classification of text data using feature clustering algorithm
Classification of text data using feature clustering algorithmClassification of text data using feature clustering algorithm
Classification of text data using feature clustering algorithmeSAT Publishing House
 
Density Based Clustering Approach for Solving the Software Component Restruct...
Density Based Clustering Approach for Solving the Software Component Restruct...Density Based Clustering Approach for Solving the Software Component Restruct...
Density Based Clustering Approach for Solving the Software Component Restruct...IRJET Journal
 
An Analysis On Clustering Algorithms In Data Mining
An Analysis On Clustering Algorithms In Data MiningAn Analysis On Clustering Algorithms In Data Mining
An Analysis On Clustering Algorithms In Data MiningGina Rizzo
 
A SURVEY ON OPTIMIZATION APPROACHES TO TEXT DOCUMENT CLUSTERING
A SURVEY ON OPTIMIZATION APPROACHES TO TEXT DOCUMENT CLUSTERINGA SURVEY ON OPTIMIZATION APPROACHES TO TEXT DOCUMENT CLUSTERING
A SURVEY ON OPTIMIZATION APPROACHES TO TEXT DOCUMENT CLUSTERINGijcsa
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)theijes
 
IRJET- Diverse Approaches for Document Clustering in Product Development Anal...
IRJET- Diverse Approaches for Document Clustering in Product Development Anal...IRJET- Diverse Approaches for Document Clustering in Product Development Anal...
IRJET- Diverse Approaches for Document Clustering in Product Development Anal...IRJET Journal
 
Clustering Algorithm Based On Correlation Preserving Indexing
Clustering Algorithm Based On Correlation Preserving IndexingClustering Algorithm Based On Correlation Preserving Indexing
Clustering Algorithm Based On Correlation Preserving IndexingIOSR Journals
 
03 cs3024 pankaj_jajoo
03 cs3024 pankaj_jajoo03 cs3024 pankaj_jajoo
03 cs3024 pankaj_jajooMeetika Gupta
 
A Comparative Study Of Various Clustering Algorithms In Data Mining
A Comparative Study Of Various Clustering Algorithms In Data MiningA Comparative Study Of Various Clustering Algorithms In Data Mining
A Comparative Study Of Various Clustering Algorithms In Data MiningNatasha Grant
 
Enhancing the performance of cluster based text summarization using support v...
Enhancing the performance of cluster based text summarization using support v...Enhancing the performance of cluster based text summarization using support v...
Enhancing the performance of cluster based text summarization using support v...eSAT Journals
 
Improve the Performance of Clustering Using Combination of Multiple Clusterin...
Improve the Performance of Clustering Using Combination of Multiple Clusterin...Improve the Performance of Clustering Using Combination of Multiple Clusterin...
Improve the Performance of Clustering Using Combination of Multiple Clusterin...ijdmtaiir
 
Document retrieval using clustering
Document retrieval using clusteringDocument retrieval using clustering
Document retrieval using clusteringeSAT Journals
 
IRJET- Sampling Selection Strategy for Large Scale Deduplication of Synthetic...
IRJET- Sampling Selection Strategy for Large Scale Deduplication of Synthetic...IRJET- Sampling Selection Strategy for Large Scale Deduplication of Synthetic...
IRJET- Sampling Selection Strategy for Large Scale Deduplication of Synthetic...IRJET Journal
 
Feature Selection Algorithm for Supervised and Semisupervised Clustering
Feature Selection Algorithm for Supervised and Semisupervised ClusteringFeature Selection Algorithm for Supervised and Semisupervised Clustering
Feature Selection Algorithm for Supervised and Semisupervised ClusteringEditor IJCATR
 

Similar to Clustering techniques for identifying extract class refactoring opportunities (20)

Survey on software remodularization techniques
Survey on software remodularization techniquesSurvey on software remodularization techniques
Survey on software remodularization techniques
 
Survey on software remodularization techniques
Survey on software remodularization techniquesSurvey on software remodularization techniques
Survey on software remodularization techniques
 
An Empirical Study for Defect Prediction using Clustering
An Empirical Study for Defect Prediction using ClusteringAn Empirical Study for Defect Prediction using Clustering
An Empirical Study for Defect Prediction using Clustering
 
IRJET- Customer Segmentation from Massive Customer Transaction Data
IRJET- Customer Segmentation from Massive Customer Transaction DataIRJET- Customer Segmentation from Massive Customer Transaction Data
IRJET- Customer Segmentation from Massive Customer Transaction Data
 
Du35687693
Du35687693Du35687693
Du35687693
 
Classification of text data using feature clustering algorithm
Classification of text data using feature clustering algorithmClassification of text data using feature clustering algorithm
Classification of text data using feature clustering algorithm
 
Density Based Clustering Approach for Solving the Software Component Restruct...
Density Based Clustering Approach for Solving the Software Component Restruct...Density Based Clustering Approach for Solving the Software Component Restruct...
Density Based Clustering Approach for Solving the Software Component Restruct...
 
An Analysis On Clustering Algorithms In Data Mining
An Analysis On Clustering Algorithms In Data MiningAn Analysis On Clustering Algorithms In Data Mining
An Analysis On Clustering Algorithms In Data Mining
 
A SURVEY ON OPTIMIZATION APPROACHES TO TEXT DOCUMENT CLUSTERING
A SURVEY ON OPTIMIZATION APPROACHES TO TEXT DOCUMENT CLUSTERINGA SURVEY ON OPTIMIZATION APPROACHES TO TEXT DOCUMENT CLUSTERING
A SURVEY ON OPTIMIZATION APPROACHES TO TEXT DOCUMENT CLUSTERING
 
M43016571
M43016571M43016571
M43016571
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
 
IRJET- Diverse Approaches for Document Clustering in Product Development Anal...
IRJET- Diverse Approaches for Document Clustering in Product Development Anal...IRJET- Diverse Approaches for Document Clustering in Product Development Anal...
IRJET- Diverse Approaches for Document Clustering in Product Development Anal...
 
Clustering Algorithm Based On Correlation Preserving Indexing
Clustering Algorithm Based On Correlation Preserving IndexingClustering Algorithm Based On Correlation Preserving Indexing
Clustering Algorithm Based On Correlation Preserving Indexing
 
03 cs3024 pankaj_jajoo
03 cs3024 pankaj_jajoo03 cs3024 pankaj_jajoo
03 cs3024 pankaj_jajoo
 
A Comparative Study Of Various Clustering Algorithms In Data Mining
A Comparative Study Of Various Clustering Algorithms In Data MiningA Comparative Study Of Various Clustering Algorithms In Data Mining
A Comparative Study Of Various Clustering Algorithms In Data Mining
 
Enhancing the performance of cluster based text summarization using support v...
Enhancing the performance of cluster based text summarization using support v...Enhancing the performance of cluster based text summarization using support v...
Enhancing the performance of cluster based text summarization using support v...
 
Improve the Performance of Clustering Using Combination of Multiple Clusterin...
Improve the Performance of Clustering Using Combination of Multiple Clusterin...Improve the Performance of Clustering Using Combination of Multiple Clusterin...
Improve the Performance of Clustering Using Combination of Multiple Clusterin...
 
Document retrieval using clustering
Document retrieval using clusteringDocument retrieval using clustering
Document retrieval using clustering
 
IRJET- Sampling Selection Strategy for Large Scale Deduplication of Synthetic...
IRJET- Sampling Selection Strategy for Large Scale Deduplication of Synthetic...IRJET- Sampling Selection Strategy for Large Scale Deduplication of Synthetic...
IRJET- Sampling Selection Strategy for Large Scale Deduplication of Synthetic...
 
Feature Selection Algorithm for Supervised and Semisupervised Clustering
Feature Selection Algorithm for Supervised and Semisupervised ClusteringFeature Selection Algorithm for Supervised and Semisupervised Clustering
Feature Selection Algorithm for Supervised and Semisupervised Clustering
 

More from eSAT Publishing House

Likely impacts of hudhud on the environment of visakhapatnam
Likely impacts of hudhud on the environment of visakhapatnamLikely impacts of hudhud on the environment of visakhapatnam
Likely impacts of hudhud on the environment of visakhapatnameSAT Publishing House
 
Impact of flood disaster in a drought prone area – case study of alampur vill...
Impact of flood disaster in a drought prone area – case study of alampur vill...Impact of flood disaster in a drought prone area – case study of alampur vill...
Impact of flood disaster in a drought prone area – case study of alampur vill...eSAT Publishing House
 
Hudhud cyclone – a severe disaster in visakhapatnam
Hudhud cyclone – a severe disaster in visakhapatnamHudhud cyclone – a severe disaster in visakhapatnam
Hudhud cyclone – a severe disaster in visakhapatnameSAT Publishing House
 
Groundwater investigation using geophysical methods a case study of pydibhim...
Groundwater investigation using geophysical methods  a case study of pydibhim...Groundwater investigation using geophysical methods  a case study of pydibhim...
Groundwater investigation using geophysical methods a case study of pydibhim...eSAT Publishing House
 
Flood related disasters concerned to urban flooding in bangalore, india
Flood related disasters concerned to urban flooding in bangalore, indiaFlood related disasters concerned to urban flooding in bangalore, india
Flood related disasters concerned to urban flooding in bangalore, indiaeSAT Publishing House
 
Enhancing post disaster recovery by optimal infrastructure capacity building
Enhancing post disaster recovery by optimal infrastructure capacity buildingEnhancing post disaster recovery by optimal infrastructure capacity building
Enhancing post disaster recovery by optimal infrastructure capacity buildingeSAT Publishing House
 
Effect of lintel and lintel band on the global performance of reinforced conc...
Effect of lintel and lintel band on the global performance of reinforced conc...Effect of lintel and lintel band on the global performance of reinforced conc...
Effect of lintel and lintel band on the global performance of reinforced conc...eSAT Publishing House
 
Wind damage to trees in the gitam university campus at visakhapatnam by cyclo...
Wind damage to trees in the gitam university campus at visakhapatnam by cyclo...Wind damage to trees in the gitam university campus at visakhapatnam by cyclo...
Wind damage to trees in the gitam university campus at visakhapatnam by cyclo...eSAT Publishing House
 
Wind damage to buildings, infrastrucuture and landscape elements along the be...
Wind damage to buildings, infrastrucuture and landscape elements along the be...Wind damage to buildings, infrastrucuture and landscape elements along the be...
Wind damage to buildings, infrastrucuture and landscape elements along the be...eSAT Publishing House
 
Shear strength of rc deep beam panels – a review
Shear strength of rc deep beam panels – a reviewShear strength of rc deep beam panels – a review
Shear strength of rc deep beam panels – a revieweSAT Publishing House
 
Role of voluntary teams of professional engineers in dissater management – ex...
Role of voluntary teams of professional engineers in dissater management – ex...Role of voluntary teams of professional engineers in dissater management – ex...
Role of voluntary teams of professional engineers in dissater management – ex...eSAT Publishing House
 
Risk analysis and environmental hazard management
Risk analysis and environmental hazard managementRisk analysis and environmental hazard management
Risk analysis and environmental hazard managementeSAT Publishing House
 
Monitoring and assessment of air quality with reference to dust particles (pm...
Monitoring and assessment of air quality with reference to dust particles (pm...Monitoring and assessment of air quality with reference to dust particles (pm...
Monitoring and assessment of air quality with reference to dust particles (pm...eSAT Publishing House
 
Low cost wireless sensor networks and smartphone applications for disaster ma...
Low cost wireless sensor networks and smartphone applications for disaster ma...Low cost wireless sensor networks and smartphone applications for disaster ma...
Low cost wireless sensor networks and smartphone applications for disaster ma...eSAT Publishing House
 
Coastal zones – seismic vulnerability an analysis from east coast of india
Coastal zones – seismic vulnerability an analysis from east coast of indiaCoastal zones – seismic vulnerability an analysis from east coast of india
Coastal zones – seismic vulnerability an analysis from east coast of indiaeSAT Publishing House
 
Can fracture mechanics predict damage due disaster of structures
Can fracture mechanics predict damage due disaster of structuresCan fracture mechanics predict damage due disaster of structures
Can fracture mechanics predict damage due disaster of structureseSAT Publishing House
 
Assessment of seismic susceptibility of rc buildings
Assessment of seismic susceptibility of rc buildingsAssessment of seismic susceptibility of rc buildings
Assessment of seismic susceptibility of rc buildingseSAT Publishing House
 
A geophysical insight of earthquake occurred on 21 st may 2014 off paradip, b...
A geophysical insight of earthquake occurred on 21 st may 2014 off paradip, b...A geophysical insight of earthquake occurred on 21 st may 2014 off paradip, b...
A geophysical insight of earthquake occurred on 21 st may 2014 off paradip, b...eSAT Publishing House
 
Effect of hudhud cyclone on the development of visakhapatnam as smart and gre...
Effect of hudhud cyclone on the development of visakhapatnam as smart and gre...Effect of hudhud cyclone on the development of visakhapatnam as smart and gre...
Effect of hudhud cyclone on the development of visakhapatnam as smart and gre...eSAT Publishing House
 
Disaster recovery sustainable housing
Disaster recovery sustainable housingDisaster recovery sustainable housing
Disaster recovery sustainable housingeSAT Publishing House
 

More from eSAT Publishing House (20)

Likely impacts of hudhud on the environment of visakhapatnam
Likely impacts of hudhud on the environment of visakhapatnamLikely impacts of hudhud on the environment of visakhapatnam
Likely impacts of hudhud on the environment of visakhapatnam
 
Impact of flood disaster in a drought prone area – case study of alampur vill...
Impact of flood disaster in a drought prone area – case study of alampur vill...Impact of flood disaster in a drought prone area – case study of alampur vill...
Impact of flood disaster in a drought prone area – case study of alampur vill...
 
Hudhud cyclone – a severe disaster in visakhapatnam
Hudhud cyclone – a severe disaster in visakhapatnamHudhud cyclone – a severe disaster in visakhapatnam
Hudhud cyclone – a severe disaster in visakhapatnam
 
Groundwater investigation using geophysical methods a case study of pydibhim...
Groundwater investigation using geophysical methods  a case study of pydibhim...Groundwater investigation using geophysical methods  a case study of pydibhim...
Groundwater investigation using geophysical methods a case study of pydibhim...
 
Flood related disasters concerned to urban flooding in bangalore, india
Flood related disasters concerned to urban flooding in bangalore, indiaFlood related disasters concerned to urban flooding in bangalore, india
Flood related disasters concerned to urban flooding in bangalore, india
 
Enhancing post disaster recovery by optimal infrastructure capacity building
Enhancing post disaster recovery by optimal infrastructure capacity buildingEnhancing post disaster recovery by optimal infrastructure capacity building
Enhancing post disaster recovery by optimal infrastructure capacity building
 
Effect of lintel and lintel band on the global performance of reinforced conc...
Effect of lintel and lintel band on the global performance of reinforced conc...Effect of lintel and lintel band on the global performance of reinforced conc...
Effect of lintel and lintel band on the global performance of reinforced conc...
 
Wind damage to trees in the gitam university campus at visakhapatnam by cyclo...
Wind damage to trees in the gitam university campus at visakhapatnam by cyclo...Wind damage to trees in the gitam university campus at visakhapatnam by cyclo...
Wind damage to trees in the gitam university campus at visakhapatnam by cyclo...
 
Wind damage to buildings, infrastrucuture and landscape elements along the be...
Wind damage to buildings, infrastrucuture and landscape elements along the be...Wind damage to buildings, infrastrucuture and landscape elements along the be...
Wind damage to buildings, infrastrucuture and landscape elements along the be...
 
Shear strength of rc deep beam panels – a review
Shear strength of rc deep beam panels – a reviewShear strength of rc deep beam panels – a review
Shear strength of rc deep beam panels – a review
 
Role of voluntary teams of professional engineers in dissater management – ex...
Role of voluntary teams of professional engineers in dissater management – ex...Role of voluntary teams of professional engineers in dissater management – ex...
Role of voluntary teams of professional engineers in dissater management – ex...
 
Risk analysis and environmental hazard management
Risk analysis and environmental hazard managementRisk analysis and environmental hazard management
Risk analysis and environmental hazard management
 
Monitoring and assessment of air quality with reference to dust particles (pm...
Monitoring and assessment of air quality with reference to dust particles (pm...Monitoring and assessment of air quality with reference to dust particles (pm...
Monitoring and assessment of air quality with reference to dust particles (pm...
 
Low cost wireless sensor networks and smartphone applications for disaster ma...
Low cost wireless sensor networks and smartphone applications for disaster ma...Low cost wireless sensor networks and smartphone applications for disaster ma...
Low cost wireless sensor networks and smartphone applications for disaster ma...
 
Coastal zones – seismic vulnerability an analysis from east coast of india
Coastal zones – seismic vulnerability an analysis from east coast of indiaCoastal zones – seismic vulnerability an analysis from east coast of india
Coastal zones – seismic vulnerability an analysis from east coast of india
 
Can fracture mechanics predict damage due disaster of structures
Can fracture mechanics predict damage due disaster of structuresCan fracture mechanics predict damage due disaster of structures
Can fracture mechanics predict damage due disaster of structures
 
Assessment of seismic susceptibility of rc buildings
Assessment of seismic susceptibility of rc buildingsAssessment of seismic susceptibility of rc buildings
Assessment of seismic susceptibility of rc buildings
 
A geophysical insight of earthquake occurred on 21 st may 2014 off paradip, b...
A geophysical insight of earthquake occurred on 21 st may 2014 off paradip, b...A geophysical insight of earthquake occurred on 21 st may 2014 off paradip, b...
A geophysical insight of earthquake occurred on 21 st may 2014 off paradip, b...
 
Effect of hudhud cyclone on the development of visakhapatnam as smart and gre...
Effect of hudhud cyclone on the development of visakhapatnam as smart and gre...Effect of hudhud cyclone on the development of visakhapatnam as smart and gre...
Effect of hudhud cyclone on the development of visakhapatnam as smart and gre...
 
Disaster recovery sustainable housing
Disaster recovery sustainable housingDisaster recovery sustainable housing
Disaster recovery sustainable housing
 

Recently uploaded

Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 

Recently uploaded (20)

Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 

Clustering techniques for identifying extract class refactoring opportunities

  • 1. IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 __________________________________________________________________________________________ Volume: 02 Issue: 12 | Dec-2013, Available @ http://www.ijret.org 426 A SURVEY ON CLUSTERING TECHNIQUES FOR IDENTIFICATION OF EXTRACT CLASS OPPORTUNITIES Suchithra Chandran1 , Bright Gee Varghese.R2 1 Post Graduate Student, 2 Assistant professor, Department of Computer Science and Engineering, Karunya University, Tamil Nadu, India suchithracc@gmail.com, brightfsona@yahoo.co.in Abstract Refactoring is a growing research area in the field of software remodularization. Refactoring is an essential practice in software development field. Refactoring is done to clean up the code and to minimize the chance of introducing the bugs. Extract class refactoring is done to improve the design of the system thereby increasing the cohesion among the class members and reducing the coupling between two classes. Extract class refactoring is performed on large, complex and less cohesive classes, which are doing functions that should be split into two or more classes. Such large and complex classes are decomposed to several classes during refactoring. During refactoring a new class is created and the entities that perform a function are moved to it. For extract class refactoring the classes to be extracted for refactoring has to be identified first. The identified refactoring opportunities are then evaluated to check whether they preserve the original behavior of the system. Refactoring is performed even after the release of the software to improve its performance. Clustering is a technique used to group the similar entities in a class. Several clustering algorithms are used to find these refactoring opportunities. In this survey various clustering techniques to identify those classes are reviewed considering its advantages and disadvantages. Keywords: Clustering, Object-oriented system, Refactoring, Software remodularization ----------------------------------------------------------------------***------------------------------------------------------------------------ 1. INTRODUCTION Main aim of Object Oriented (OO) design is to distribute the responsibilities of a software system into several classes to reduce the system complexity. To reduce the complexity the large and complex classes are decomposed to form several smaller classes. A class with more than one responsibility has low cohesion. So decomposition of these classes should be done to improve the cohesion. In [1] (Fokaefs.M et al. 2012) says, refactoring is the process of restructuring the existing code of a system by preserving the external behavior. It is done to improve the design structure of the system. To improve the design of a system its cohesion should be increased and the coupling should be decreased. Extract Class refactoring is a technique of decomposing the large and complex classes with one or more responsibilities. Decomposition is done by splitting the classes performing more than one function or responsibility which should be done by more than one class. Before performing Extract Class refactoring, the first step is to identify the classes which should be extracted to form a separate class to improve the cohesion. Clustering technique is usually used to find the similar methods and attributes used for performing a function in a class. Clustering method includes: Hierarchical clustering algorithms, Partitional clustering algorithms, Graph theoretic clustering. 2. HIERARCHICAL CLUSTERING Hierarchical Clustering Algorithm is one of the most widely used technique for clustering the related entities from a highly complex class to form a separate class. In [2] (Lung.C et al. 2006) proposed a method for restructuring the program using clustering technique. The proposed approach has four phases. First phase is data collection and processing. During this phase the source code is parsed and an entity-attribute matrix is generated. The entities in a class are clustered based on the attributes they share. Second phase is clustering. During clustering the resemblance coefficient metric is calculated to measure the similarity between the entities. Then clusters are formed using the three hierarchical agglomerative clustering algorithm: SLINK (Single Linkage), CLINK (Complete Linkage), WPGMA. Then among these the best algorithm selected. Third phase is visualization and analysis. The result of clustering phase is represented in the form of tree. From these the clusters are identified. Fourth phase is restructuring. The complex classes identified are decomposed and formed several classes thereby increasing cohesion. The advantage of the technique is that it identifies low-cohesive functions and performs restructuring to improve the quality of ill-structured programs.
  • 2. IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 __________________________________________________________________________________________ Volume: 02 Issue: 12 | Dec-2013, Available @ http://www.ijret.org 427 In [3] (Czibula.L et al. 2007) proposed a hierarchical agglomerative clustering technique for restructuring software systems(HARS), that identifies the refactorings needed to restructure the software system to improve the quality of the system. The clustering approach for refactoring determination(CARD) consists of three steps: data collection, grouping and refactorings extraction. During grouping the entities identified at previous step is re-grouped using clustering algorithm. The clustering algorithm used is hierarchical agglomerative clustering algorithm. The linkage metrics used is complete linkage, maximum distance between the members of two clusters. In HARS algorithm, each entity from the software system is put in its own cluster. Then select two most similar clusters from the current partition. Merge the two clusters into a single new cluster. The number of clusters in the partition is now decreased. The advantage of this approach is that the overall running time of HARS algorithm is reduced to 3.68 minutes when compared to partitioning clustering algorithm, which is about 5 minutes. In [4] (Fokaefs.M et al. 2009) proposed a method for decomposition of large classes to improve coupling and cohesion using Agglomerative Clustering algorithm based on Jaccard distance between the class members to identify the attributes and methods that can be extracted to a separate class. This identification has two parts, clustering and filtering. Clustering is done using agglomerative clustering algorithm to identify the classes to be extracted. Filtering is done using a set of rules to evaluate the degree of functionality and to check whether the suggested refactorings preserve the behavior of the system. This methodology does not define a fixed threshold value for distance instead its applied for several threshold values ranging from 0.1 to 0.9. This method also produces large number of suggestions that may include duplicate suggestions. In [5] (Rao.A et al. 2011) proposed another method using metrics supplemented agglomerative clustering technique to identify the low cohesive classes to extract them to a separate class thereby improving cohesion. The proposed approach has two steps. First identifying low cohesive classes using the metrics LCOM (Lack of Cohesion in Methods), TCC ( Tight Class Cohesion) values. Secondly, the metrics supplemented agglomerative clustering technique is applied to the low cohesive classes. During this step the similarity between the class members are calculated using Jaccard similarity metric value and then agglomerative clustering algorithm is used to find the cluster of class members at a specified threshold to be extracted to separate class. The advantage of this approach is that it can handle a situation where agglomerative clustering alone cannot find proper clusters. In [6] (Cassell.K et al. 2011) proposed a dual clustering approach for extract class refactoring. The approach uses a divisive clustering based on structural information, followed by agglomerative clustering based on semantic information. The divisive structural clustering algorithm known as betweenness clustering separates the class members into groups based on the dependencies between the class members. Betweenness clustering is a graph-based technique where the nodes represent the class members and edges represent the dependency among them. The betweenness value is calculated to group the class members. Then an agglomerative clustering technique based on semantics is used to combine the smaller groups with the larger ones. The technique starts with seed clusters and then it adds closely related clusters to them until the stopping criterion is reached. Betweenness clustering uses extended structural information in addition to local information. The disadvantage is that the technique is complex as it uses two complementary algorithms. 3. PARTITIONAL CLUSTERING In partitional clustering methods, an initial cluster is given and then the instances are moved from one cluster to other to obtain better cluster. In [7] (Czibula.L et al. 2006) has proposed a partitional clustering technique called k-means for refactoring determination (kRED). The clustering approach has three steps: data collection, grouping and refactorings extraction. During grouping the set of entities identified at the previous step is re-grouped to clusters using k-means algorithm. For the kRED algorithm, the initial number of clusters is given and the initial centroid is defined. The clusters are recalculated when each object is assigned to the closest cluster. This is repeated until two consecutive iterations remain unchanged or if the number of iterations performed exceeds the maximum number of iterations allowed. The disadvantage is that the performance depends on the initial centroid, so no guarantee of optimal solution. In [8] (Czibula.L et al. 2008) proposed a partitional clustering algorithm for improving the structure of the object-oriented software systems. The clustering approach used here has three steps: Initially the system is analysed and relevant entities are extracted, the entities extracted are re-grouped using partitional clustering algorithm for refactoring determination (PARED), finally the new system is compared with the original to obtain the list of refactorings. In PARED technique, the initial number of clusters and the initial medoids are determined. Then the clusters and medoids are recalculated when each object is assigned to the closest medoid. This is repeated until there is no change in the partition. The approach has an overall running time of 1.2 minutes which is less when compared with the kRED algorithm. The evolutionary algorithms has to be executed 10 times to obtain a stable result, while PARED algorithm has to be executed just once. The disadvantage of this technique is that the result is not finite as the initial partition can change.
  • 3. IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 __________________________________________________________________________________________ Volume: 02 Issue: 12 | Dec-2013, Available @ http://www.ijret.org 428 4. GRAPH THEORETIC CLUSTERING In graph-theoretic clustering methods, clusters are formed from graphs. In [9] (Mancoridis.S et al. 1998) proposed an approach to develop high-level system code by restructuring the source code. In the proposed approach, initially the source code is parsed to obtain the system modules and module-level dependency and is represented as a Module Dependency Graph(MDG). Then several automatic software modularization algorithms are applied to automatically partition the graph into clusters in a way so as to minimize inter-connectivity and maximize intra-connectivity. Modularization Algorithms used might be Optimal Clustering Algorithm, Sub-Optimal Clustering Algorithm, Genetic Algorithm. Then builds a hierarchy of clusters using hierarchical clustering algorithm. For systems with large number of modules, hierarchical clustering and genetic clustering algorithm produces optimal solution. Automatic modularization techniques are useful to programmers who lack familiarity with a system. The disadvantage is that the modularization quality does not consider the Interconnection Strength (IS) of the relationships that exist between the modules in the system. In [10] (Xanthos.S 2006) proposed a spectral graph partitioning technique to identify the large classes in the object-oriented system. In this approach the class diagram is analysed and a graph is formed where the vertices are the classes and the edges are the messages they exchange. Then this graph is iteratively bipartitioned. In each iteration the graph is partitioned to two sub-graphs. The iteration stops when a less cohesive class is formed during the partition. These sub-graphs forms separate classes thereby increasing cohesion. This approach minimizes the communication between the modules of the system thereby reducing coupling. The disadvantage is that it’s hard to find an optimal partition. In [11] (Bavota.G et al. 2010) proposed a technique for identifying extract class opportunities exploiting structural and semantic relationships between the methods of the classes. The proposed approach starts from a class with low cohesion, the input class is parsed in order to extract a weighted graph representing it, each node represents a method of the class and weight of an edge represents a measure reflecting structural relationship such as attribute references, method calls and semantic relationship of two connected methods. Once the graph is computed a MaxFlow-MinCut algorithm is used to partition the original graph into two subgraphs, cutting a minimum number of edges with low weight. This two sub graphs form two new classes that have higher cohesion than original class without increasing coupling. Better refactoring opportunities are identified by using the combination of structural and semantic cohesion measures. The disadvantage is that the MaxFlow-MinCut algorithm is able to split the original class into only two sub-graphs, so only two new classes can be extracted. 5. COMPARISON OF VARIOUS ALGORITHMS The following table shows the comparison of various clustering algorithms used for identifying the extract class opportunities. Table -1: Comparison of various clustering algorithms Parameter Hierarchical Clustering Partitional clustering Graph partitioning Running Time Less Higher compared to hierarchical clustering. Depends on the partitioning algorithm. Solution Produces optimal solution. No guarantee of optimal solution. No guarantee of optimal solution. Performance Good Performance. Performance depends on initial cluster. Performance depends on the partitioning algorithm. Deterministic or Non- deterministic output Deterministic Non-Deterministic Deterministic Finite or Non- finite output Finite Non-finite Non-finite
  • 4. IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 __________________________________________________________________________________________ Volume: 02 Issue: 12 | Dec-2013, Available @ http://www.ijret.org 429 6. CONCLUSION This paper gives a survey on various clustering techniques for identifying the extract class opportunities. The survey showed that there are several clustering approaches for the identification. Among the techniques reviewed, hierarchical clustering technique identifies better extract class opportunities for performing extract class refactoring than partitioned or any other clustering algorithms. ACKNOWLEDGEMENTS I am highly indebted to Mr. Bright Gee Varghese, Assistant Professor, Department of Computer Science and Engineering for his guidance and I would like to thank all the authors of the references which were very helpful for this survey. REFERENCES [1]. Fokaefs,M., Tsantalis,N., Stroulia,E., Chatzigeorgiou,A.,2012. “Identification and Application of Extract Class refactorings in object-oriented systems,” Journal of Systems and Software, vol.85, issue 10, pp. 2241-2260. [2]. Chung-Horng Lung, Xia Xu, MarziaZaman, and Anand Srinivasan, 2006.“Program Restructuring through Clustering Techniques,” SCAM '06: Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop, pp. 75- 84. [3]. Czibula,I. G. and Serban, G., 2007. “Hierarchical clustering for software systems restructuring,” INFOCOMP Journal of Computer Science, Brasil6 , no. 4, 43 - 51. [4]. Fokaefs,M., Tsantalis,N., Stroulia,E., Chatzigeorgiou,A., 2009. “Decomposing object-oriented class modules using an agglomerative clustering technique,” In: 25th IEEE International Conference on Software Maintenance (ICSM’2009), Edmonton, AB, Canada. [5] AnandaRao.A, and K. Narendar Reddy, 2011. "Identifying Clusters of Concepts in a Low Cohesive Class for Extract Class Refactoring Using Metrics Supplemented Agglomerative Clustering Technique," International Journal of Computer Science Issues, vol. 8, issue 5, no. 2, pp. 185-194. [6] Keith Cassell, Peter Andreae, and Lindsay Groves, 2011."A Dual Clustering Approach to the Extract Class Refactoring," 23rd International Conference on Software Engineering and Knowledge Engineering (SEKE'11), Miami, FL, USA. [7] Czibula, I. G. and Serban, G., 2006. “Improving Systems Design Using a Clustering Approach,” International Journal of Computer Science and NetworkSecurity (IJCSNS), 6(12):40–49. [8] Czibula.I.G, G.Serban, 2008.“A partitional clustering algorithm for improving the structure of object-oriented software systems,” StudiaUniversitatis Babes-Bolyai, Informatica 53 (2), 105-114. [9] Mancoridis, S., Mitchell, B.S., Rorres, C., Chen, Y., Gansner, E.R.,1998. “Using automaticclustering to produce high-level system organizations of source code,” In: 6th International Workshop on Program Comprehension. IEEE Computer SocietyPress, pp. 45– 52. [10 Xanthos, S., 2006. “Clustering Object-oriented Software Systems using Spectral GraphPartitioning,” ACM Student Research Competition. [11] Bavota,G., De Lucia, A., Oliveto, R., 2010. “Identifying extract class refactoring opportunities using structural and semantic cohesion measures,” Journal of Systemsand Software 84, 397–41. BIOGRAPHIES Suchithra Chandran is pursuing MTech (Computer Science and Engineering) degree from Karunya University, Tamil Nadu, India. She received her B.E (Computer Science and Engineering) degree from AMS Engineering College, Tamil Nadu, India. Bright Gee Varghese. R completed his B.E (Computer Science and Engineering) from Sun College of Engineering and Technology, Nagercoil, Tamil Nadu, India in 2003. He started his career as Lecturer in Sun College of Engineering and Technology, Nagercoil, from June 2003. He completed his M.E from Vinayaka Mission university, Salem, Tamil Nadu in 2011.Currently he is working as an Assistant Professor in Computer Science Department in Karunya University and pursuing part time Ph.D in Karunya University, Tamil Nadu, India. His main research area is Software Engineering.