software evolution is a natural phenomenon due to the changing requirements. Understanding the program structure is a significant and complicated factor in maintaining and evolving the software when software lacks the...
详细信息
software evolution is a natural phenomenon due to the changing requirements. Understanding the program structure is a significant and complicated factor in maintaining and evolving the software when software lacks the appropriate design documents. clustering software modules, as a reverse engineering method, can be used to create an abstract structural model of software. clustering software modules is a method which decomposes software system modules into several clusters (subsystems) by using module dependency graph. Finding the best clustering for the modules of software is regarded as an NP-complete problem. The main purpose of this study is to develop a method for optimal clustering of softwaremodules in such a way that dependent modules are grouped within a cluster. software module clustering problem was designed as a hybrid/discrete optimization problem. In this paper, using ant colony optimization algorithm, we made an attempt to find a good clustering of software systems. Producing the high-quality clusters of softwaremodules, generating more stable results compared with the previous heuristic methods and attaining higher convergence are the main merits of the proposed method over the previous methods.
暂无评论