Welcome To WUJNS
武汉大学学报 英文版 | Wuhan University Journal of Natural Sciences
Wan Fang
CNKI
CSCD
Wuhan University
Latest Article
Software Module Clustering Algorithm Using Probability Selection
Time:2018-3-29  
SUN Jiaze, LING Beilei
1.School of Computer Science and Technology, Xi’an University of Posts and Telecommunications, Xi’an 710121, Shaanxi, China; 2. Shaanxi Key Laboratory of Network Data Intelligent Processing, Xi’an University of Posts and Telecommunications, Xi’an 710121, Shaanxi, China
Abstract:
Software module clustering problem is an important and challenging problem in software reverse engineering whose main goal is to obtain a good modular structure of the software system. The large complex software system can be divided into some subsystems that are easy to understand and maintain through the software module clustering. Aiming at solving the problem of slow convergence speed, the poor clustering result, and the complex algorithm, a software module clustering algorithm using probability selection is proposed. Firstly, we convert the software system into complex network diagram, and then we use the operation of merger, adjustment and optimization to get the software module clustering scheme. To evaluate the effectiveness of the algorithm, a set of experiments was performed on 5 real-world module clustering problems. The comparison of the experimental results proves the simplicity of the algorithm as well as the low time complexity and fast convergence speed. This algorithm provides a simple and effective engineering method for software module clustering problem.
Key words:software module clustering; complex network; merger; adjustment; optimization; probability selection
CLC number:TP 311.5
References:
[1]	Wang Y, Chen X, Cao C. Study on cost of application soft-ware system maintenance [J]. Computer Engineering, 2001, 27(7): 65-66.
[2]	Bishnoi M, Singh P. Modularizing software systems using PSO optimized hierarchical clustering [C] //International Conference on Computational Techniques in Information and Communication Technologies. Washington D C: IEEE, 2016: 659-664.
[3]	Hussain I, Khanum A. A novel approach for software architecture recovery using particle swarm optimization [J]. The International Arab Journal of Information Technology, 2015, 12(1): 32-41.
[4]	Praditwong K,  Harman M,  Yao X. Software module clustering as a multi-objective search problem [J]. IEEE Transactions on Software Engineering, 2010, 37(2): 264-282.
[5]	Praditwong K, Yao X. A new multi-objective evolutionary optimisation algorithm: The two-archive algorithm [C] //  Proceedings of the 2006 International Conference on Com-putational Intelligence and Security. Washington D C: IEEE, 2006: 286-291.
[6]	Praditwong K. Solving software module clustering problem by evolutionary algorithms[C] // Eighth International Joint Conference on Computer Science and Software Engineering (JCSSE 2011). Washington D C: IEEE, 2011: 154-159.
[7]	Huang J, Liu J. A similarity-based modularization quality measure for software module clustering problems [J]. Information Sciences, 2016, 342: 96-110.
[8]	Sun S, Xia C, Wang L. Survey of the measurement of soft-ware structures based on complex networks [J]. CAAI Transactions on Intelligent Systems, 2011, 6(3): 208-212.
[9]	Watts D J, Strogatz S H. Collective dynamics of small world networks [J]. Nature, 1998, 393(6684): 440-442.
[10]	Barabasi A L, Albert R. Emergence of scaling in random networks [J]. Science, 1999, 286(5439): 509-512.
[11]	Wang B, Lu J. Software networks nodes impact analysis of complex software systems [J]. Journal of Software, 2013, 24(12): 2814-2829(Ch).
[12]	Potanin A, Noble J, Frean M, et al. Scale-free geometry in object-oriented programs [J]. Communications of the ACM, 2005, 48(5): 99-103.
[13]	Kumari A C, Srinivas K. Software module clustering using a hyper-heuristic based multi-objective genetic algorit-  hm[C] // Proceedings of the 2013 3rd IEEE International Advance Computing Conference. Ghaziabad: Advance Computing Conference, 2013: 813-818.
[14]	Ma Y, He K, Li B, et al. Empirical study on the characteris-tics of complex networks in networked software [J]. Journal of Software, 2011, 22(3): 381-407(Ch).
[15]	Myers C R. Software systems as complex networks: structure, function, and evolvability of software collaboration graphs [J]. Physical Review E, 2003, 68(2): 352-375.
[16]	Mitchell B S. A heuristic search approach to solving the software clustering problem[C]// Proceedings of the International Conference on Software. Washington D C: IEEE, 2003: 285-288.
[17]	Mancoridis S, Mitchell B S, Chen Y F, et al. Bunch: a clus-tering tool for the recovery and maintenance of software system structures[C]//  Proc of Int Conf of Software Maintenance. Washington D C: IEEE, 1999: 50-59.
[18]	Doval D, Mancoridis S, Mitchell B S. Automatic clustering of software systems using a genetic algorithm[C] // Proceesings of IEEE Conference on Software Technology and Engineering Practice(STEP’99). Washington D C: IEEE, 1999: 73-81.
[19]	Bavota G, Gethers M, Oliveto R, et al. Improving software modularization via automated analysis of latent topics and dependencies[J]. ACM Trans Softw Eng Method, 2014, 23(1): 1-33. 
[20]	Kumara A C, Srinivas K. Software module clustering using a fast multi-objective hyper-heuristic evolutionary algorithm [J]. International Journal of Applied Information Systems, 2013, 5(6): 12-13.
[21]	Liu C, Liu J, Jiang Z. A multi objective evolutionary algo-rithm based on similarity for community detection from signed social networks [J]. IEEE Trans Cybern, 2014, 44(12): 2274-2287. 
[22]	Praditwong K. Solving software module clustering problem by evolutionary algorithms[C] // Eighth International Joint Conference on Computer Science and Software Engineering (JCSSE 2011). Washington D C: IEEE, 2011: 154-159.
[23]	Wang G, Zhang Q, Ma X, et al. Granular computing models for knowledge uncertainty [J]. Journal of Software, 2011, 22(4): 676-694(Ch).
[24]	Qian G, Zhang L, Zhang L, et al. Modeling method and characteristics analysis of software dependency networks [J]. Computer Science, 2008, 35(11): 239-243(Ch).
[25]	Pan W, Li B, Ma Y, et al. Multi-granularity evolution analysis of software using complex network theory [J]. Journal of Systems Science and Complexity, 2011, 24(6): 1068- 1082(Ch).
[26]	Pan W, Li B, Ma Y, et al. Measuring structural quality of object-oriented software via bug propagation analysis on weighted software networks [J]. Journal of Computer Sci-ence and Technology, 2010, 25(6): 1202-1213.
[27]	Britoe A F, Goulao M. Coupling and cohesion as modularization drivers: Are we being over-persuaded[C]// Proceedings of the 15th European Conference on Software Maintenance and Reengineering. Washington D C: IEEE Computer Society, 2001: 47-57.
[28]	Mahdavi K, Harman M,  Hierons R M. A multiple hill climbing approach to software module clustering [C] // Proceedings of the International Conference on Software Maintenance. Washington D C: IEEE, 2003: 315-324.
[29]	Huang J, Liu J, Yao X. A multi-agent evolutionary algorithm for software module clustering problems [J]. Soft Computing, 2016, 21(12): 3415-3428.
Welcome To WUJNS

HOME | Aim and Scope | Editoral Board | Current Issue | Back Issue | Subscribe | Crosscheck | Polishing | Contact us Copyright © 1997-2018 All right reserved