Font Size: a A A

A Study Of Optimization Methods And Evaluation Measures For Software Module Clustering Problems

Posted on:2016-12-03Degree:MasterType:Thesis
Country:ChinaCandidate:J H HuangFull Text:PDF
GTID:2348330488957204Subject:Engineering
Abstract/Summary:PDF Full Text Request
The aim of software module clustering problems(SMCPs) is to automatically find a good quality clustering of software modules based on relationships among modules. It is generally known that good modularization of software leads to systems that are easier to design, develop, test, maintain, and evolve. In order to satisfy the requirements of business and living, the size of software system tends to be larger as its function becomes more powerful, which makes the software module clustering meaningful. In this thesis, we mainly focus on solving SMCPs properly according to the common rules. Based on Multi-agent Evolutionary Algorithms(MAEAs) and Memetic Algorithms(MAs), two algorithms are proposed for SMCPs. Meanwhile, two new measures, IMQ and MS, are proposed to evaluate the modularization quality. The main work of this thesis is summarized as follows:1. With the intrinsic properties of SMCPs in mind, MAEA-SMCPs and MA-SMCPs are proposed to solve SMCPs. By optimizing modularity quality(MQ), SMCPs are transformed to single-objective optimization problems. The performance of the two novel algorithms is validated on 17 real-world software systems, and the comparison with other algorithms is conducted, respectively. Experimental results not only show the capability and high efficiency of these two methods in successfully solving SMCPs, but also indicate that the performances of the two algorithms are superior to other traditional algorithms in terms of MQ. Besides, the performance of the MAEA-SMCPs is better than others in terms of stability and the speed of convergence.2. According to the common rules in the process of software design practically, the improved modularization quality measure, IMQ, is proposed, which could make up the shortage of the original quality measure, MQ. That's to say, IMQ not only retains the characteristics of MQ, but also takes the global modules, interface modules, and the directions of the edges between clusters into consideration. In the experiments, comparisons between IMQ and MQ are conducted on the results obtained by three single-objective optimization algorithms and two multi-objective optimization algorithms on a set of problems with varying sizes extracted from real-world software systems. The experimental results show that IMQ can find clusters which are more consistent with the general rules in software design.3. According to the common rules in the practical process of software design, a new modularization quality measure based on the structural similarity used in solving community detection problems is designed, which is labeled as MS. Moreover, a set of evaluation functions based on software design rules are proposed to evaluate the quality of partitions obtained by different measures. Then, in order to make a further comparison with the basic MQ, three optimization algorithms are employed to solve SMCPs. The efficacy of MS is tested on a set of problems extracted from real-world software systems with varying sizes. The experimental results show that MS performs well in solving SMCPs and can lead optimization algorithms to find clusters which are more consistent with the general rules in software design.
Keywords/Search Tags:Software Module Clustering Problems, Multi-agent Evolutionary Algorithms, Memetic Algorithms, Modularization Quality Measure, Similarity
PDF Full Text Request
Related items