Class Structure Refactoring of Object-Oriented Softwares Using Community Detection in Dependency Networks.

Weifeng Pan,Bing Li,Yutao Ma,Jing Liu,Yeyi Qin
DOI: https://doi.org/10.1007/s11704-009-0054-y
2009-01-01
Frontiers of Computer Science in China
Abstract:The quality of a software system is largely determined by its internal structures which always degrade over the software evolution. Therefore, the structures have to be reconditioned from time to time. However, the existing methods are very complex and resource-consuming when doing this task. In this paper, we present an approach to recondition the class structures of object-oriented (OO) software systems. It uses attribute-method networks and method-method networks to represent attributes, methods and dependencies between them; It proposes a guided community detection algorithm to obtain the optimized community structures in the method-method networks, which also correspond to the optimized class structures; It also provides a list of refactorings by comparing the optimized class structures with the real class structure in software systems and inspecting the attribute-method networks. The approach is evaluated using the open-source case study, JHotDraw 5.1, and the advantages of our approach are illustrated in comparison with existing methods.
What problem does this paper attempt to address?