Log in

Novel Automatic Approach Using Modified Differential Evaluation to Software Module Clustering Problem

  • Original Research
  • Published:
SN Computer Science Aims and scope Submit manuscript

    We’re sorry, something doesn't seem to be working properly.

    Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.

Abstract

Software modularization is complex but crucial to the software design process. The complexity in software modularization arises due to inter-dependencies among its constituting elements. A good software structure performs certain enhancement, and makes maintenance work easier for developers that consequently saves development and testing effort cycles. Software failures due to poor design and structure have motivated exhaustive research in this field. This encouraged the formulation of software modularization clustering problem (SMCP) as a search problem with an aim to identify the possible best module clustering solution that can optimize cohesion and coupling. With the inception of search-based software engineering, many optimization problems have been successfully addressed with meta-heuristics. Differential evolution (DE), a popular algorithm, is stable, versatile, robust with few control parameters and considered as an effective meta-heuristic for solving optimization problems. This paper introduces a novel formulation of DE as differential evolution software module clustering (DESMC) to identify optimal clustering solution for any software. It is guided by fitness based on modularization quality factors. The proposed formulation redefines classical concepts of donor vector, trial vector, and mutation operator for DESMC to adapt the discrete nature of SMCP. The performance of DESMC is evaluated on a set of test problems identified from literature and open source. Further, the results are compared against other three rivalry approaches, namely hill climbing, genetic algorithm, and particle swarm optimization. The observation shows that DESMC outperforms the existing state-of-the-art methods.

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

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (Germany)

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. Doval D, Mancoridis S, Mitchell BS (1999) Automatic clustering of software systems using a genetic algorithm. In STEP'99. Proceedings Ninth International Workshop Software Technology and Engineering Practice (pp. 73–81). IEEE.

  2. Harman M, Yao X. Software module clustering as a multi-objective search problem. IEEE Trans Software Eng. 2010;37(2):264–82.

    Google Scholar 

  3. Pressman, Roger S. Software engineering: a practitioner's approach. Palgrave macmillan, 2005.

  4. Mancoridis S, Mitchell BS, Rorres C, Chen Y, Gansner ER (1998) 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) (pp. 45–52). IEEE.

  5. Hutchens DH, Basili VR. System structure analysis: Clustering with data bindings. IEEE transactions on Software Engine; 1985.

  6. Saeed M, Maqbool O, Babri HA, Hassan SZ, Sarwar SM. Software clustering techniques and the use of combined algorithm. In Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings. (pp. 301–306). IEEE; 2003.

  7. Maqbool O, Babri H. Hierarchical clustering for software architecture recovery. IEEE Trans Software Eng. 2007;33(11):759–80.

    Article  Google Scholar 

  8. Naseem R, Maqbool O, Muhammad S. Cooperative clustering for software modularization. J Syst Softw. 2013;86(8):2045–62.

    Article  Google Scholar 

  9. Gupta N, Rana A, Gupta S. Fitness for Solving SMCP Using Evolutionary Algorithm. In IOP Conference Series: Materials Science and Engineering (Vol. 1099, No. 1, p. 012041). IOP Publishing; 2021.

  10. Mitchell BS. A heuristic search approach to solving the software clustering problem. Drexel University; 2002.

  11. Praditwong K. Solving software module clustering problem by evolutionary algorithms. In 2011 Eighth International Joint Conference on Computer Science and Software Engineering (JCSSE) (pp. 154–159). IEEE; 2011.

  12. Kumari AC, Srinivas K, Gupta MP. Software module clustering using a hyper-heuristic based multi-objective genetic algorithm. In 2013 3rd IEEE International Advance Computing Conference (IACC) (pp. 813–818). IEEE; 2013.

  13. Harman M, Swift S, Mahdavi K. An empirical study of the robustness of two module clustering fitness functions. In Proceedings of the 7th annual conference on Genetic and evolutionary computation (pp. 1029–1036); 2005.

  14. Chhabra JK. Improving package structure of object-oriented software using multi-objective optimization and weighted class connections. J King Saud Univ Comp Inform Sci. 2017;29(3):349–64.

    MathSciNet  Google Scholar 

  15. Bavota G, Gethers M, Oliveto R, Poshyvanyk D, Lucia AD. Improving software modularization via automated analysis of latent topics and dependencies. ACM Trans Softw Eng Method. 2014;23(1):1–33.

    Article  Google Scholar 

  16. Chhabra JK. Harmony search based remodularization for object-oriented software systems. Comput Lang Syst Struct. 2017;47:153–69.

    Google Scholar 

  17. Neetu G. ACTUM–tool for automatic class testing using meta-heuristics. In 2022 10th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO) (pp. 1–4). IEEE; 2022.

  18. Prajapati A, Chhabra JK. A particle swarm optimization-based heuristic for software module clustering problem. Arab J Sci Eng. 2018;43:7083–94.

    Article  Google Scholar 

  19. Hatami E, Arasteh B. An efficient and stable method to cluster software modules using ant colony optimization algorithm. J Supercomput. 2020;76(9):6786–808.

    Article  Google Scholar 

  20. Amarjeet J, Chhabra K. "FP-ABC: Fuzzy-Pareto dominance driven artificial bee colony algorithm for many-objective software module clustering", Comput. Lang. Syst. Structures, vol. 51, pp. 1–21, 2017.

  21. Amarjeet A, Chhabra JK. Many-objective artificial bee colony algorithm for large-scale software module clustering problem. Soft Comput. 2018;22(19):6341–61.

    Article  Google Scholar 

  22. Storn R, Price K. Differential evolution a simple evolution strategy for fast optimization. Dr Dobb’s J. 1997;22(4):18–24.

    MATH  Google Scholar 

  23. Varshney S, Mehrotra M. A differential evolution based approach to generate test data for data-flow coverage. In 2016 international conference on computing, communication and automation (ICCCA) (pp. 796–801). IEEE; 2016.

  24. Lichtblau D. Differential evolution in discrete optimization. Int J Swarm Intell Evol Comput. 2012;1(2012):1–10.

    Google Scholar 

  25. Uher V, Gajdoš P, Radecký M, Snášel V. Utilization of the discrete differential evolution for optimization in multidimensional point clouds. Computational Intelligence and Neuroscience, 2016.

  26. Maeda M, Chikuba Y. An Algorithm of Set-Based Differential Evolution for Discrete Optimization Problem. In Data Mining and Big Data: 7th International Conference, DMBD 2022, Bei**g, China, November 21–24, 2022, Proceedings, Part II (pp. 105–117). Singapore: Springer Nature Singapore; 2003.

  27. Sarhan QI, Ahmed BS, Bures M, Zamli KZ. Software Module Clustering: An In-Depth Literature Analysis. IEEE Trans Softw Eng. 2022;48(6):1905–28. https://doi.org/10.1109/TSE.2020.3042553.

    Article  Google Scholar 

  28. Lutz R. Evolving good hierarchical decompositions of complex systems. J Syst Architect. 2001;47(7):613–34.

    Article  Google Scholar 

  29. Harman M, Hierons RM, Proctor M. A New Representation And Crossover Operator For Search-based Optimization Of Software Modularization. In GECCO (Vol. 2, pp. 1351–1358); 2002.

  30. Seng O, Bauer M, Biehl M, Pache G. Search-based improvement of subsystem decompositions. In Proceedings of the 7th annual conference on Genetic and evolutionary computation. 2005; 1045–1051.

  31. Falkenauer E. Genetic algorithms and grou** problems. John Wiley & Sons Inc; 1998.

    MATH  Google Scholar 

  32. Kumari AC, Srinivas K. Software module clustering using a fast multi-objective hyper-heuristic evolutionary algorithm. Int J Appl Inform Syst. 2013;5(6):12–8.

    Google Scholar 

  33. Deb K, Pratap A, Agarwal S, Meyarivan TAMT. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evol Comput. 2002;6(2):182–97.

    Article  Google Scholar 

  34. Mkaouer W, Kessentini M, Shaout A, Koligheu P, Bechikh S, Deb K, Ouni A. Many-objective software remodularization using NSGA-III. ACM Trans Softw Eng Methodol. 2015;24(3):1–45.

    Article  Google Scholar 

  35. Arasteh B, Fatolahzadeh A, Kiani F. Savalan: Multi objective and homogeneous method for software modules clustering. J Softw. 2022;34(1): e2408.

    Google Scholar 

  36. Bishnoi M, Singh P. Modularizing software systems using PSO optimized hierarchical clustering. In 2016 International Conference on Computational Techniques in Information and Communication Technologies (ICCTICT) (pp. 659–664). IEEE; 2016.

  37. Sun J, Xu Y, Wang S. PSO with reverse edge for multi-objective software module clustering. Int J Perform Eng. 2018;14(10):2423.

    Google Scholar 

  38. Jiaze S, Beilei L. Density PSO-based software module clustering algorithm. 2018;25(4), 38.

  39. Abdeen H, Ducasse S, Sahraoui H, Alloui I. Automatic package coupling and cycle minimization. In 2009 16th working conference on reverse engineering (pp. 103–112). IEEE; 2009.

  40. Kirkpatrick S, Gelatt CD, Vecchi MP. Optimization by simulated annealing. science, 1983; 220(4598), 671-680.

  41. Mahdavi K, Harman M, Hierons RM. A multiple hill climbing approach to software module clustering. In International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings. (pp. 315–324). IEEE; 2003.

  42. Huang J, Liu J. A similarity-based modularization quality measure for software module clustering problems. Inf Sci. 2016;342:96–110.

    Article  Google Scholar 

  43. Harman M, Mansouri SA, Zhang Y. Search-based software engineering: Trends techniques and applications. ACM Comput Surv. 2012;45(1):11–61.

    Article  Google Scholar 

Download references

Acknowledgements

No funding was received to assist with the preparation of this manuscript.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sumit Kumar.

Ethics declarations

Conflict of Interest

There is no conflict of interest.

Consent for publication

Informed consent was obtained for the study.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This article is part of the topical collection “Advanced Computing and Data Sciences” guest edited by Mayank Singh, Vipin Tyagi and P.K. Gupta.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gupta, N., Kumar, S., Gupta, V. et al. Novel Automatic Approach Using Modified Differential Evaluation to Software Module Clustering Problem. SN COMPUT. SCI. 4, 816 (2023). https://doi.org/10.1007/s42979-023-02238-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s42979-023-02238-6

Keywords

Navigation