Skip to main content
Log in

Multi-dimensional information-driven many-objective software remodularization approach

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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

    Article  Google Scholar 

  2. 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

  3. 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

    Article  Google Scholar 

  4. Parashar A, Chhabra J K. Package-restructuring based on software change history. National Academy Science Letters, 2017, 40(1): 21–27

    Article  MathSciNet  Google Scholar 

  5. 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

  6. 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

    Article  Google Scholar 

  7. 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

  8. 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

  9. Amarjeet, Chhabra J K. Harmony search based remodularization for object-oriented software systems. Computer Languages, Systems & Structures, 2017, 47: 153–169

    Article  Google Scholar 

  10. 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

    Article  Google Scholar 

  11. Amarjeet, Chhabra J K. Many-objective artificial bee colony algorithm for large-scale software module clustering problem. Soft Computing, 2018, 22(19): 6341–6361

    Article  Google Scholar 

  12. 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

    Article  Google Scholar 

  13. 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

  14. 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

    Article  Google Scholar 

  15. 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

  16. 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

  17. Kumari A C, Srinivas K. Hyper-heuristic approach for multi-objective software module clustering. Journal of Systems and Software, 2016, 117: 384–401

    Article  Google Scholar 

  18. Prajapati A, Geem Z W. Harmony search-based approach for multi-objective software architecture reconstruction. Mathematics, 2020, 8: 1906

    Article  Google Scholar 

  19. 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

  20. 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

    Google Scholar 

  21. Li W, Henry S. Object-oriented metrics that predict maintainability. Journal of Systems and Software, 1993, 23(2): 111–122

    Article  Google Scholar 

  22. Chidamber S R, Kemerer C F. A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 1994, 20(6): 476–493

    Article  Google Scholar 

  23. 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

  24. 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

  25. 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

    Article  Google Scholar 

  26. Hitz M, Montazeri B. Measuring coupling and cohesion in object-oriented systems. In: Proceedings of the International Symposium on Applied Corporate Computing. 1995

  27. Eder J, Kappel G, Schreft M. Coupling and cohesion in object-oriented systems. Klagenfurt: University of Klagenfurt, 1994

    Google Scholar 

  28. 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

  29. Savić M, Ivanović M, Radovanović M. Analysis of high structural class coupling in object-oriented software systems. Computing, 2017, 99(11): 1055–1079

    Article  MathSciNet  MATH  Google Scholar 

  30. Wu Z, Palmer M. Verbs semantics and lexical selection. In: Proceedings of the 32nd Annual Meeting on Association for Computational Linguistics. 1994, 133–138

  31. McLachlan G J, Krishnan T. The EM Algorithm and Extensions. 2nd ed. Hoboken: John Wiley & Sons, Inc., 2008

    Book  MATH  Google Scholar 

  32. 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

    Article  Google Scholar 

  33. 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

  34. 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

  35. 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

  36. Fluri B. Assessing changeability by investigating the propagation of change types. In: Proceedings of the 29th International Conference on Software Engineering. 2007, 97–98

  37. 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

  38. 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

  39. 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

    Article  Google Scholar 

  40. 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

    Article  Google Scholar 

  41. 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

    Article  Google Scholar 

  42. 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

  43. 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

  44. 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

    Article  Google Scholar 

  45. 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

    Article  Google Scholar 

  46. 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

  47. Zhang Q, Li H. MOEA/D: a multiobjective evolutionary algorithm based on decomposition. IEEE Transactions on Evolutionary Computation, 2007, 11(6): 712–731

    Article  Google Scholar 

  48. Yuan Y, Xu H. Multiobjective flexible job shop scheduling using memetic algorithms. IEEE Transactions on Automation Science and Engineering, 2015, 12(1): 336–353

    Article  Google Scholar 

  49. 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

  50. 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

  51. Harman M, Jones B F. Search-based software engineering. Information and Software Technology, 2001, 43(14): 833–839

    Article  Google Scholar 

  52. Karaboga D. An idea based on honey bee swarm for numerical optimization. Kayseri: Erciyes University, 2005

  53. 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

    Article  Google Scholar 

  54. 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

    Article  MathSciNet  Google Scholar 

  55. Andritsos P, Tzerpos V. Information-theoretic software clustering. IEEE Transactions on Software Engineering, 2005, 31(2): 150–165

    Article  Google Scholar 

  56. 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Amarjeet Prajapati.

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11704-022-1449-2

Keywords

Navigation