Object-Oriented Software Systems Restructuring through Clustering
ICAISC '08 Proceedings of the 9th international conference on Artificial Intelligence and Soft Computing
Refactorings detection using hierarchical clustering
ECC'08 Proceedings of the 2nd conference on European computing conference
Adaptive refactoring using a core-based clustering approach
SEPADS'10 Proceedings of the 9th WSEAS international conference on Software engineering, parallel and distributed systems
Clustering based adaptive refactoring
WSEAS Transactions on Information Science and Applications
Clustering methodologies for software engineering
Advances in Software Engineering
Hi-index | 0.00 |
Program restructuring is a key method for improving the quality of ill-structured programs, thereby increasing the understandability and reducing the maintenance cost. It is a challenging task and a great deal of research is still ongoing. This paper presents an approach to program restructuring at the function level, based on clustering techniques with cohesion as the major concern. Clustering has been widely used to group related entities together. The approach focuses on automated support for identifying ill-structured or low-cohesive functions and providing heuristic advice in both the development and evolution phases. A new similarity measure is defined and studied intensively. The approach is applied to restructure a real industrial program. The empirical observations show that the heuristic advice provided by the approach can help software designers make better decision of why and how to restructure a program. Specific source code level software metrics are presented to demonstrate the value of the approach.