Skip to main content

Advertisement

Log in

Clustered design-model generation from a program source code using chaos-based metaheuristic algorithms

  • Original Article
  • Published:
Neural Computing and Applications Aims and scope Submit manuscript

Abstract

Comprehension of the structure of software will facilitate maintaining the software more efficiently. Clustering software modules, as a reverse engineering technique, is assumed to be an effective technique in extracting comprehensible structural-models of software from the source code. Finding the best clustering model of a software system is regarded as a NP-complete problem. Minimizing the connections among the created clusters, maximizing the internal connections within the created clusters and maximizing the clustering quality are considered to be the most important objectives in software module clustering (SMC). Poor success rate, low stability and modularization quality are regarded as the major drawbacks of the previously proposed methods. In this paper, five different heuristic algorithms (Bat, Cuckoo, Teaching–Learning-Based, Black Widow and Grasshopper algorithms) are proposed for optimal clustering of software modules. Also, the effects of chaos theory in the performance of these algorithms in this problem have been experimentally investigated. The results of conducted experiments on the eight standard and real-world applications indicate that performance of the BWO, PSO, and TLB algorithms are higher than the other algorithms in SMC problem; also, the performance of these algorithm increased when their initial population were generated with logistic chaos method instead of random method. The average MQ of the generated clusters for the selected benchmark set by BWO, PSO and TLB are 3.155, 3.120 and 2.778, respectively.

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

Access this article

Subscribe and save

Springer+ Basic
$34.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 excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

Explore related subjects

Discover the latest articles and news from researchers in related subjects, suggested using machine learning.

References

  1. Mitchell BS, Mancoridis S (2002) A heuristic search approach to solving the software clustering problem. Drexel University, Philadelphia

    Google Scholar 

  2. Praditwong K, Harman M, Yao X (2011) Software module clustering as a multi-objective search problem. IEEE Trans Software Eng 37(2):282–264

    Article  Google Scholar 

  3. Roger S (2000) Pressman: software engineering: a practitioner’s approach (European Adaptation). McGrawHill, New York

    Google Scholar 

  4. Prajapati A, Chhabra JK (2017) A particle swarm optimization-based heuristic for software module clustering problem. Arab J Sci Eng 43(12):7083–7094

    Article  Google Scholar 

  5. Mancoridis S et al (1999) Bunch: a clustering tool for the recovery and maintenance of software system structures. In: Proceedings IEEE international conference on software maintenance-1999 (ICSM'99). Software Maintenance for Business Change'(Cat. No. 99CB36360) IEEE

  6. Mamaghani A, Hajizadeh M (2014) Software modularization using the modified firefly algorithm. In: 8th Malaysian software engineering conference (MySEC)

  7. Harman M, Swift S, Mahdavi K (2005) An empirical study of the robustness of two module clustering fitness functions. In: Proceedings of the 7th annual conference on genetic and evolutionary computation

  8. Praditwong K (2011) Solving software module clustering problem by evolutionary algorithms. In 2011 eighth international joint conference on computer science and software engineering (JCSSE). IEEE

  9. Chhabra JK (2017) Harmony search based remodularization for object-oriented software systems. Comput Lang Syst Struct 47:153–169

    Google Scholar 

  10. Mahdavi K, Harman M, Hierons RM (2003) A multiple hill climbing approach to software module clustering. In: International conference on software maintenance, 2003. ICSM 2003. Proceedings 2003. IEEE

  11. Bavota G et al (2012) Putting the developer in-the-loop: an interactive GA for software re-modularization. In: International symposium on search based software engineering. Springer, Berlin

  12. Maletic JI, Marcus A (2001) Supporting program comprehension using semantic and structural information. In: Proceedings of the 23rd international conference on software engineering 2001. IEEE Computer Society

  13. Barros MdO (2012) 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

  14. Gandomi AH, Yang XS, Alavi AH et al (2013) Bat algorithm for constrained optimization tasks. Neural Comput Appl 22:1239–1255. https://doi.org/10.1007/s00521-012-1028-915

    Article  Google Scholar 

  15. Arcuri A, Yao X (2014) Co-evolutionary automatic programming for software development. Inf Sci 259:412–432

    Article  Google Scholar 

  16. Saremi S, Mirjalili S, Lewis A (2017) Grasshopper optimisation algorithm: theory and application. Adv Eng Softw 105:30–47. ISSN 0965-9978

  17. Chhabra JK (2017) Improving package structure of object-oriented software using multi-objective optimization and weighted class connections. J King Saud Univ Comput Inf Sci 29(3):349–364

    Google Scholar 

  18. Chhabra JK (2017) Improving modular structure of software system using structural and lexical dependency. Inf Softw Technol 82:96–120

    Article  Google Scholar 

  19. Amarjeet, Chhabra JK (2018) TA-ABC: two-archive artificial bee colony for multi-objective software module clustering problem. J Intell Syst 27(4):619–641. https://doi.org/10.1515/jisys-2016-0253

    Article  Google Scholar 

  20. Pourasghar B, Izadkhah H, Isazadeh A, Lotfi S (2021) A graph-based clustering algorithm for software systems modularization. Inf Softw Technol 133:106469

    Article  Google Scholar 

  21. Güngör E, Cavus E, Pehlivan İ (2019) A logistic map Runge Kutta-4 solution for FPGA using fixed point representation. Chaos Theory Appl 1 (1): 19–28. Retrieved from https://dergipark.org.tr/en/pub/chaos/issue/50396/653250

  22. Yang XS, Deb S (2014) Cuckoo search: recent advances and applications. Neural Comput Applc 24:169–174. https://doi.org/10.1007/s00521-013-1367-1

    Article  Google Scholar 

  23. Arasteh B, Sadegi R, Arasteh K (2019) Bölen: software module clustering method using the combination of shuffled frog leaping and genetic algorithm. Data Technol Appl ahead-of-print No. ahead-of-print. https://doi.org/10.1108/DTA-08-2019-0138

  24. Rao RV, Savsani VJ, Vakharia DP (2011)Teaching-learning-based optimization: a novel method for constrained mechanical design optimization problems. Comput Aided Des 43(3):303–315, ISSN 0010-4485, https://doi.org/10.1016/j.cad.2010.12.015

  25. Hayyolalam V, Pourhaji Kazem A (2020) Black Widow Optimization Algorithm: a novel meta-heuristic approach for solving engineering optimization problems. Eng Appl Artif Intell 87:103249, ISSN 0952-1976

  26. Arasteh B, Fatolahzadeh A, Kiani F (2022) Savalan: multi objective and homogeneous method for software modules clustering. J Softw Evol 34(1):e2408. https://doi.org/10.1002/smr.240829

    Article  Google Scholar 

  27. Arasteh B, Razieh S, Keyvan A (2020) ARAZ: a software modules clustering method using the combination of particle swarm optimization and genetic algorithms. Intell Decis Technol 14(4):449–462

    Article  Google Scholar 

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

  29. Zelinka I, Diep QB, Snášel V, Das S, Innocenti G, Tesi A, Schoen F, Kuznetsov NV (2022) Impact of chaotic dynamics on the performance of metaheuristic optimization algorithms: an experimental analysis. Inf Sci 587:692–719, ISSN 0020-0255. https://doi.org/10.1016/j.ins.2021.10.076

Download references

Acknowledgements

The authors declare that no funds, grants, or other support were received during the preparation of this manuscript. The authors have no relevant financial or non-financial interests to disclose.

Author information

Authors and Affiliations

Authors

Contributions

All authors contributed to the study conception and design. Thesis statement, data collection and analysis were performed by BA. Experiments have been performed by BA and also, the report of the manuscript was written by him. Statistical analysis of the results has been performed by BA.

Corresponding author

Correspondence to Bahman Arasteh.

Ethics declarations

Conflict of interests

The authors declared that they have no conflict of interest.

Additional information

Publisher's Note

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

Rights and permissions

Springer Nature or its licensor 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

Arasteh, B. Clustered design-model generation from a program source code using chaos-based metaheuristic algorithms. Neural Comput & Applic 35, 3283–3305 (2023). https://doi.org/10.1007/s00521-022-07781-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00521-022-07781-6

Keywords