Identifying Clusters of Concepts in a Low Cohesive Class for Extract Class Refactoring Using Metrics Supplemented Agglomerative Clustering Technique
Object oriented software with low cohesive classes can increase maintenance cost. Low cohesive classes are likely to be introduced into the software during initial design due to deviation from design principles and during evolution due to software deterioration. Low cohesive class performs operations that should be done by two or more classes. The low cohesive classes need to be identified and refactored using extract class refactoring to improve the cohesion. In this regard, two aspects are involved; the first one is to identify the low cohesive classes and the second one is to identify the clusters of concepts in the low cohesive classes for extract class refactoring. In this paper, we propose metrics supplemented agglomerative clustering technique for covering the above two aspects. The proposed metrics are validated using Weyukers properties. The approach is applied successfully on two examples and on a case study.
Keywords: Low Cohesive Class, Metrics, Agglomerative Clustering Technique, Dendrogram, Extract Class Refactoring, Jaccard Similarity Coefficient.
Download Full-Text
ABOUT THE AUTHORS
A. Ananda Rao
Prof. Ananda Rao Akepogu received B.Sc.(M.P.C) degree from Silver Jubilee Govt. College, SV University, Andhra Pradesh, India. He received B.Tech. degree in Computer Science & Engineering and M.Tech. degree in A.I & Robotics from University of Hyderabad, India. He received Ph.D. from Indian Institute of Technology, Madras, India. He is Professor of Computer Science & Engineering and Principal of JNTUA College of Engineering, Anantapur, India. Prof. Ananda Rao published more than fifty research papers in international journals, conferences and authored three books. His main research interests include software engineering and data mining.
K. Narendar Reddy
Narendar Reddy K is pursuing Ph.D. in Computer Science & Engineering from JNTUA, Anantapur, India and he received his M.Tech. in Computer Science & Engineering from the same University. He received Bachelor’s degree in Computer Science & Engineering (AMIE(CSE)) from Institution of Engineers, Calcutta, India. Currently he is working as Associate Professor of Computer Science & Engineering at CVR College of Engineering, Hyderabad, India. His main research interests include Object oriented software design, software metrics, refactoring, and software testing. He is a member of IEEE, ACM, AMIE(I), and IAENG.
A. Ananda Rao
Prof. Ananda Rao Akepogu received B.Sc.(M.P.C) degree from Silver Jubilee Govt. College, SV University, Andhra Pradesh, India. He received B.Tech. degree in Computer Science & Engineering and M.Tech. degree in A.I & Robotics from University of Hyderabad, India. He received Ph.D. from Indian Institute of Technology, Madras, India. He is Professor of Computer Science & Engineering and Principal of JNTUA College of Engineering, Anantapur, India. Prof. Ananda Rao published more than fifty research papers in international journals, conferences and authored three books. His main research interests include software engineering and data mining.
K. Narendar Reddy
Narendar Reddy K is pursuing Ph.D. in Computer Science & Engineering from JNTUA, Anantapur, India and he received his M.Tech. in Computer Science & Engineering from the same University. He received Bachelor’s degree in Computer Science & Engineering (AMIE(CSE)) from Institution of Engineers, Calcutta, India. Currently he is working as Associate Professor of Computer Science & Engineering at CVR College of Engineering, Hyderabad, India. His main research interests include Object oriented software design, software metrics, refactoring, and software testing. He is a member of IEEE, ACM, AMIE(I), and IAENG.