Volume 16, Issue 1 (2-2024)                   itrc 2024, 16(1): 28-41 | Back to browse issues page


XML Print


Download citation:
BibTeX | RIS | EndNote | Medlars | ProCite | Reference Manager | RefWorks
Send citation to:

Keyvanpour M R, Karimi Zandian Z, Morsali F. Software Re-Modularization Method Based on Many-Objective Function. itrc 2024; 16 (1) :28-41
URL: http://journal.itrc.ac.ir/article-1-531-en.html
1- Department of Computer Engineering, Faculty of Engineering, Alzahra University, Tehran, Iran , keyvanpour@alzahra.ac.ir
2- Data Mining Lab, Department of Computer Engineering, Faculty of Engineering, Alzahra University, Tehran, Iran
Abstract:   (1922 Views)
Software evolution and continuous changes make maintenance difficult, reducing the quality of software structure and architecture. To cope with this challenge, re-modularization is used to promote the modular structure of software system by the re-grouping of software elements. In this paper, the proposed method recognizes various dependencies in terms of an objective function unlike what has been stated in some other methods. In this method, a search-based many-objective fitness function is proposed to formulate re-modularization as an optimization problem. The results of the proposed method have been compared to the effects of four other methods based on MQ and NED. The results show the proposed method improved re-modularization remarkably compared to others in terms of both MQ and NED criteria especially for smaller software. Therefore, the proposed method can be effective in redefining real-world applications. 
Full-Text [PDF 1065 kb]   (592 Downloads)    
Type of Study: Research | Subject: Information Technology

References
1. V. Lenarduzzi, A. Sillitti, and D. Taibi, “Analyzing forty years of software maintenance models,” in 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), 2017, pp. 146–148.
2. M. Gupta, A. Serebrenik, and P. Jalote, “Improving software maintenance using process mining and predictive analytics,” in 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), 2017, pp. 681–686.
3. A. H. F. Tabrizi and H. Izadkhah, “Software modularization by combining genetic and hierarchical algorithms,” in 2019 5th Conference on Knowledge Based Engineering and Innovation (KBEI), 2019, pp. 454–459.
4. S. Mancoridis, B. S. Mitchell, C. Rorres, Y. Chen, and E. R. Gansner, “Using automatic clustering to produce high-level system organizations of source code,” in Proceedings. 6th International Workshop on Program Comprehension. IWPC’98 (Cat. No. 98TB100242), 1998, pp. 45–52.
5. L. Mu, V. Sugumaran, and F. Wang, “A hybrid genetic algorithm for software architecture re-modularization,” Inf. Syst. Front., vol. 22, no. 5, pp. 1133–1161, 2020.
6. [6] B. Pourasghar, H. Izadkhah, A. Isazadeh, and S. Lotfi, “A graph-based clustering algorithm for software systems modularization,” Inf. Softw. Technol., vol. 133, p. 106469, 2021.
7. M. Kargar, A. Isazadeh, and H. Izadkhah, “Improving the modularization quality of heterogeneous multi-programming software systems by unifying structural and semantic concepts,” J. Supercomput., vol. 76, no. 1, pp. 87–121, 2020, doi: 10.1007/s11227-019-02995-3.
8. A. Isazadeh, H. Izadkhah, and I. Elgedawy, Source code modularization: theory and techniques. springer, 2017.
9. G. Bavota, A. De Lucia, A. Marcus, and R. Oliveto, “Software re-modularization based on structural and semantic metrics,” in 2010 17th Working Conference on Reverse Engineering, 2010, pp. 195–204.
10. J. K. Chhabra and others, “Harmony search based remodularization for object-oriented software systems,” Comput. Lang. Syst. & Struct., vol. 47, pp. 153–169, 2017.
11. B. S. Mitchell and S. Mancoridis, “On the automatic modularization of software systems using the bunch tool,” IEEE Trans. Softw. Eng., vol. 32, no. 3, pp. 193–208, 2006.
12. A. M. Saeidi, J. Hage, R. Khadka, and S. Jansen, “A searchbased approach to multi-view clustering of software systems,” in 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER), 2015, pp. 429–438.
13. F. Morsali and M. R. Keyvanpour, “Search-based software module clustering techniques: A review article,” in 2017 IEEE 4th International Conference on Knowledge-Based Engineering and Innovation (KBEI), 2017, pp. 977–983
14. J. Hwa, S. Yoo, Y.-S. Seo, and D.-H. Bae, “Search-based approaches for software module clustering based on multiple relationship factors,” Int. J. Softw. Eng. Knowl. Eng., vol. 27, no. 07, pp. 1033–1062, 2017.
15. J. K. Chhabra and others, “Many-objective artificial bee colony algorithm for large-scale software module clustering problem,” Soft Comput., vol. 22, no. 19, pp. 6341–6361, 2018.
16. K. Praditwong, M. Harman, and X. Yao, “Software module clustering as a multi-objective search problem,” IEEE Trans. Softw. Eng., vol. 37, no. 2, pp. 264–282, 2010.
17. W. Mkaouer et al., “Many-objective software remodularization using NSGA-III,” ACM Trans. Softw. Eng. Methodol., vol. 24, no. 3, pp. 1–45, 2015.
18. G. Scanniello, A. D’Amico, C. D’Amico, and T. D’Amico, “Using the kleinberg algorithm and vector space model for software system clustering,” in 2010 IEEE 18th International Conference on Program Comprehension, 2010, pp. 180–189.
19. C. Patel, A. Hamou-Lhadj, and J. Rilling, “Software clustering using dynamic analysis and static dependencies,” in 2009 13th European Conference on Software Maintenance and Reengineering, 2009, pp. 27–36.
20. M. de O. Barros, “An analysis of the effects of composite objectives in multiobjective software module clustering,” in Proceedings of the 14th annual conference on Genetic and evolutionary computation, 2012, pp. 1205–1212.
21. J. Huang and J. Liu, “A similarity-based modularization quality measure for software module clustering problems,” Inf. Sci. (Ny)., vol. 342, pp. 96–110, 2016.
22. N. Teymourian, H. Izadkhah, and A. Isazadeh, “A fast clustering algorithm for modularization of large-scale software systems,” IEEE Trans. Softw. Eng., 2020.
23. A. Khalilipour and M. Challenger, “Automatic Remodularization of Clustered Codes Considering Invocation Types,” in 2021 7th International Conference on Web Research (ICWR), 2021, pp. 109–113.
24. A. Prajapati, “Software Package Restructuring with Improved Search-based Optimization and Objective Functions,” Arab. J. Sci. Eng., pp. 1–21, 2021.
25. G. Bavota, M. Gethers, R. Oliveto, D. Poshyvanyk, and A. de Lucia, “Improving software modularization via automated analysis of latent topics and dependencies,” ACM Trans. Softw. Eng. Methodol., vol. 23, no. 1, pp. 1–33, 2014.
26. R. Naseem, O. Maqbool, and S. Muhammad, “Cooperative clustering for software modularization,” J. Syst. Softw., vol. 86, no. 8, pp. 2045–2062, 2013.
27. G. Bavota, A. De Lucia, A. Marcus, and R. Oliveto, “Using structural and semantic measures to improve software modularization,” Empir. Softw. Eng., vol. 18, no. 5, pp. 901– 932, 2013.
28. J. K. Chhabra and others, “Improving modular structure of software system using structural and lexical dependency,” Inf. Softw. Technol., vol. 82, pp. 96–120, 2017.
29. “http://www.stan4j.com/.”
30. “http://www.structure101.com/”.
31. H. Abdeen, S. Ducasse, and H. Sahraoui, “Modularization metrics: Assessing package organization in legacy large objectoriented software,” in 2011 18th Working Conference on Reverse Engineering, 2011, pp. 394–398.
32. F. B. e Abreu, G. Pereira, and P. Sousa, “A coupling-guided cluster analysis approach to reengineer the modularity of object-oriented systems,” in Proceedings of the fourth european conference on software maintenance and reengineering, 2000, pp. 13–22.
33. F. B. e Abreu and M. Goulao, “Coupling and cohesion as modularization drivers: Are we being over-persuaded?,” in Proceedings Fifth European Conference on Software Maintenance and Reengineering, 2001, pp. 47–57.
34. C. Y. Chong and S. P. Lee, “Analyzing maintainability and reliability of object-oriented software using weighted complex network,” J. Syst. Softw., vol. 110, pp. 28–53, 2015.
35. X. Wang, X.-Z. Gao, and K. Zenger, “The overview of harmony search,” in An introduction to harmony search optimization method, Springer, 2015, pp. 5–11
36. M. Dubey, V. Kumar, M. Kaur, and T.-P. Dao, “A systematic review on harmony search algorithm: theory, literature, and applications,” Math. Probl. Eng., vol. 2021, 2021.
37. M. Mahdavi, M. Fesanghary, and E. Damangir, “An improved harmony search algorithm for solving optimization problems,” Appl. Math. Comput., vol. 188, no. 2, pp. 1567–1579, 2007.
38. U. Erdemir and F. Buzluca, “A learning-based module extraction method for object-oriented systems,” J. Syst. Softw., vol. 97, pp. 156–177, 2014.
39. J. Wu, A. E. Hassan, and R. C. Holt, “Comparison of clustering algorithms in the context of software evolution,” in 21st IEEE International Conference on Software Maintenance (ICSM’05), 2005, pp. 525–535.
40. V. Kumar, J. K. Chhabra, and D. Kumar, “Parameter adaptive harmony search algorithm for unimodal and multimodal optimization problems,” J. Comput. Sci., vol. 5, no. 2, pp. 144– 155, 2014.
41. J. Brest, S. Greiner, B. Boskovic, M. Mernik, and V. Zumer, “Self-adapting control parameters in differential evolution: A comparative study on numerical benchmark problems,” IEEE Trans. Evol. Comput., vol. 10, no. 6, pp. 646–657, 2006.
42. A. Farrugia, “Vertex-partitioning into fixed additive inducedhereditary properties is NP-hard,” arXiv Prepr. math/0306158, 2003.

Add your comments about this article : Your username or Email:
CAPTCHA

Send email to the article author


Rights and permissions
Creative Commons License This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.