Abstract
Most of the search-based software remodularization (SBSR) approaches designed to address the software remodularization problem (SRP) areutilizing only structural information-based coupling and cohesion quality criteria. However, in practice apart from these quality criteria, there require other aspects of coupling and cohesion quality criteria such as lexical and changed-history in designing the modules of the software systems. Therefore, consideration of limited aspects of software information in the SBSR may generate a sub-optimal modularization solution. Additionally, such modularization can be good from the quality metrics perspective but may not be acceptable to the developers. To produce a remodularization solution acceptable from both quality metrics and developers’ perspectives, this paper exploited more dimensions of software information to define the quality criteria as modularization objectives. Further, these objectives are simultaneously optimized using a tailored many-objective artificial bee colony (MaABC) to produce a remodularization solution. To assess the effectiveness of the proposed approach, we applied it over five software projects. The obtained remodularization solutions are evaluated with the software quality metrics and developers view of remodularization. Results demonstrate that the proposed software remodularization is an effective approach for generating good quality modularization solutions.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
References
Mkaouer W, Kessentini M, Shaout A, Koligheu P, Bechikh S, Deb K, Ouni A. Many-objective software remodularization using NSGA-III. ACM Transactions on Software Engineering and Methodology, 2015, 24(3): 17
Mancoridis S, Mitchell B S, Rorres C, Chen Y F R, Gansner E R. Using automatic clustering to produce high-level system organizations of source code. In: Proceedings of the 6th International Workshop on Program Comprehension. 1998, 45–52
Parashar A, Chhabra J K. Mining software change data stream to predict changeability of classes of object-oriented software system. Evolving Systems, 2016, 7(2): 117–128
Parashar A, Chhabra J K. Package-restructuring based on software change history. National Academy Science Letters, 2017, 40(1): 21–27
Anquetil N, Lethbridge T C. Experiments with clustering as a software remodularization method. In: Proceedings of the 6th Working Conference on Reverse Engineering. 1999, 235–255
Praditwong K, Harman M, Yao X. Software module clustering as a multi-objective search problem. IEEE Transactions on Software Engineering, 2011, 37(2): 264–282
Abdeen H, Ducasse S, Sahraoui H A, Alloui I. Automatic package coupling and cycle minimization. In: Proceedings of the 16th Working Conference on Reverse Engineering. 2009, 103–112
Mahdavi K, Harman M, Hierons R M. A multiple hill climbing approach to software module clustering. In: Proceedings of the International Conference on Software Maintenance. 2003, 315–324
Amarjeet, Chhabra J K. Harmony search based remodularization for object-oriented software systems. Computer Languages, Systems & Structures, 2017, 47: 153–169
Amarjeet, Chhabra J K. FP-ABC: fuzzy-Pareto dominance driven artificial bee colony algorithm for many-objective software module clustering. Computer Languages, Systems & Structures, 2018, 51: 1–21
Amarjeet, Chhabra J K. Many-objective artificial bee colony algorithm for large-scale software module clustering problem. Soft Computing, 2018, 22(19): 6341–6361
Marcus A, Poshyvanyk D, Ferenc R. Using the conceptual cohesion of classes for fault prediction in object-oriented systems. IEEE Transactions on Software Engineering, 2008, 34(2): 287–300
Bavota G, De Lucia A, Marcus A, Oliveto R. Software re-modularization based on structural and semantic metrics. In: Proceedings of the 17th Working Conference on Reverse Engineering. 2010, 195–204
Prajapati A, Parashar A, Chhabra J K. Restructuring object-oriented software systems using various aspects of class information. Arabian Journal for Science and Engineering, 2020, 45(12): 10433–10457
Doval D, Mancoridis S, Mitchell B S. Automatic clustering of software systems using a genetic algorithm. In: Proceedings of the 9th International Workshop Software Technology and Engineering Practice. 1999, 73–81
de Oliveira Barros M. 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, 1205–1212
Kumari A C, Srinivas K. Hyper-heuristic approach for multi-objective software module clustering. Journal of Systems and Software, 2016, 117: 384–401
Prajapati A, Geem Z W. Harmony search-based approach for multi-objective software architecture reconstruction. Mathematics, 2020, 8: 1906
Kargar M, Isazadeh A, Izadkhah H. Semantic-based software clustering using hill climbing. In: Proceedings of the International Symposium on Computer Science and Software Engineering Conference. 2017, 55–60
Rathee A, Chhabra J K. Clustering for software remodularization by using structural, conceptual and evolutionary features. Journal of Universal Computer Science, 2018, 24(12): 1731–1757
Li W, Henry S. Object-oriented metrics that predict maintainability. Journal of Systems and Software, 1993, 23(2): 111–122
Chidamber S R, Kemerer C F. A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 1994, 20(6): 476–493
Martin R. OO design quality metrics-an analysis of dependencies. In: Proceedings of the Workshop on Pragmatic and Theoretical Directions in Object-Oriented Software Metrics. 1994
Briand L, Devanbu P, Melo W. An investigation into coupling measures for C++. In: Proceedings of the 19th International Conference on Software Engineering. 1997, 412–421
Briand L C, Daly J W, Wüst J K. A unified framework for coupling measurement in object-oriented systems. IEEE Transactions on Software Engineering, 1999, 25(1): 91–121
Hitz M, Montazeri B. Measuring coupling and cohesion in object-oriented systems. In: Proceedings of the International Symposium on Applied Corporate Computing. 1995
Eder J, Kappel G, Schreft M. Coupling and cohesion in object-oriented systems. Klagenfurt: University of Klagenfurt, 1994
Lee Y S, Liang B, Wu S, Wang F. Measuring the coupling and cohesion of an object-oriented program based on information flow. In: Proceedings of the International Conference on Software Quality. 1995
Savić M, Ivanović M, Radovanović M. Analysis of high structural class coupling in object-oriented software systems. Computing, 2017, 99(11): 1055–1079
Wu Z, Palmer M. Verbs semantics and lexical selection. In: Proceedings of the 32nd Annual Meeting on Association for Computational Linguistics. 1994, 133–138
McLachlan G J, Krishnan T. The EM Algorithm and Extensions. 2nd ed. Hoboken: John Wiley & Sons, Inc., 2008
Zimmermann T, Weißgerber P, Diehl S, Zeller A. Mining version histories to guide software changes. IEEE Transactions on Software Engineering, 2005, 31(6): 429–445
Beck F, Diehl S. Evaluating the impact of software evolution on software clustering. In: Proceedings of the 17th Working Conference on Reverse Engineering. 2010, 99–108
Oliva G A, Santana F W S, Gerosa M A, de Souza C R B. Towards a classification of logical dependencies origins: a case study. In: Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution. 2011, 31–40
Beyer D, Noack A. Clustering software artifacts based on frequent common changes. In: Proceedings of the 13th International Workshop on Program Comprehension. 2005, 259–268
Fluri B. Assessing changeability by investigating the propagation of change types. In: Proceedings of the 29th International Conference on Software Engineering. 2007, 97–98
D’Ambros M, Lanza M, Robbes R. On the relationship between change coupling and software defects. In: Proceedings of the 16th Working Conference on Reverse Engineering. 2009, 135–144
Sun X, Li B, Zhang Q. A change proposal driven approach for changeability assessment using FCA-based impact analysis. In: Proceedings of the 36th International Conference on Computer Software and Applications. 2012, 328–333
Saxena D K, Duro J A, Tiwari A, Deb K, Zhang Q. Objective reduction in many-objective optimization: linear and nonlinear algorithms. IEEE Transactions on Evolutionary Computation, 2013, 17(1): 77–99
Yuan Y, Xu H, Wang B, Yao X. A new dominance relation-based evolutionary algorithm for many-objective optimization. IEEE Transactions on Evolutionary Computation, 2016, 20(1): 16–37
Yang S, Li M, Liu X, Zheng J. A grid-based evolutionary algorithm for many-objective optimization. IEEE Transactions on Evolutionary Computation, 2013, 17(5): 721–736
Díaz-Manríquez A, Toscano-Pulido G, Coello C A C, Landa-Becerra R. A ranking method based on the R2 indicator for many-objective optimization. In: Proceedings of the IEEE Congress on Evolutionary Computation. 2013, 1523–1530
Zitzler E, Künzli S. Indicator-based selection in multiobjective search. In: Proceedings of the 8th International Conference on Parallel Problem Solving from Nature. 2004, 832–842
Wang H, Jiao L, Yao X. Two_Arch2: an improved two-archive algorithm for many-objective optimization. IEEE Transactions on Evolutionary Computation, 2015, 19(4): 524–541
Rachmawati L, Srinivasan D. Multiobjective evolutionary algorithm with controllable focus on the knees of the Pareto front. IEEE Transactions on Evolutionary Computation, 2009, 13(4): 810–824
Rachmawati L, Srinivasan D. Preference incorporation in multi-objective evolutionary algorithms: a survey. In: Proceedings of the IEEE International Conference on Evolutionary Computation. 2006, 962–968
Zhang Q, Li H. MOEA/D: a multiobjective evolutionary algorithm based on decomposition. IEEE Transactions on Evolutionary Computation, 2007, 11(6): 712–731
Yuan Y, Xu H. Multiobjective flexible job shop scheduling using memetic algorithms. IEEE Transactions on Automation Science and Engineering, 2015, 12(1): 336–353
Lygoe R J, Cary M, Fleming P J. A real-world application of a many-objective optimisation complexity reduction process. In: Proceedings of the 7th International Conference on Evolutionary Multi-Criterion Optimization. 2013, 641–655
Narukawa K, Rodemann T. Examining the performance of evolutionary many-objective optimization algorithms on a real-world application. In: Proceedings of the 6th International Conference on Genetic and Evolutionary Computing. 2012, 316–319
Harman M, Jones B F. Search-based software engineering. Information and Software Technology, 2001, 43(14): 833–839
Karaboga D. An idea based on honey bee swarm for numerical optimization. Kayseri: Erciyes University, 2005
Li K, Chen R, Fu G, Yao Z. Two-archive evolutionary algorithm for constrained multiobjective optimization. IEEE Transactions on Evolutionary Computation, 2019, 23(2): 303–315
Prajapati A. Two-archive fuzzy-Pareto-dominance swarm optimization for many-objective software architecture reconstruction. Arabian Journal for Science and Engineering, 2021, 46(4): 3503–3518
Andritsos P, Tzerpos V. Information-theoretic software clustering. IEEE Transactions on Software Engineering, 2005, 31(2): 150–165
Jalali N S, Izadkhah H, Lotfi S. Multi-objective search-based software modularization: structural and non-structural features. Soft Computing, 2019, 23(21): 11141–11165
Author information
Authors and Affiliations
Corresponding author
Additional information
Amarjeet Prajapati is currently working as Assistant Professor in Department of Computer Science Engineering & Information Technology at Jaypee Institute of Information Technology, India. He received his PhD degree from National Institute of Technology, India. He has published many research papers in reputed journals and conferences. His area of interest includes software engineering, metaheuristic algorithms, machine learning, and soft computing.
Anshu Parashar is currently working as Assistant Professor in Department of Computer Science & Engineering at Thapar Institute of Engineering & Technology (TIET), India. He received his PhD degree from National Institute of Technology, India. He has published many research papers papers in reputed journals and various national and international conferences. His area of interest includes software engineering, machine learning, blockchain and cloud computing for sustainable development.
Amit Rathee is currently working as Assistant Professor in the Department of Computer Science, Government College Barota, India. He was awarded a PhD degree from National Institute of Technology, India in 2020. He has presented and published many research papers in reputed journals and various national and international conferences. His research interests include software engineering, human-computer interaction, soft computing, algorithm, and artificial intelligence.
Electronic supplementary material
Rights and permissions
About this article
Cite this article
Prajapati, A., Parashar, A. & Rathee, A. Multi-dimensional information-driven many-objective software remodularization approach. Front. Comput. Sci. 17, 173209 (2023). https://doi.org/10.1007/s11704-022-1449-2
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11704-022-1449-2