Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

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

Published: 08 November 2022 Publication History

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.

References

[1]
Mkaouer W, Kessentini M, Shaout A, Koligheu P, Bechikh S, Deb K, and Ouni A Many-objective software remodularization using NSGA-III ACM Transactions on Software Engineering and Methodology 2015 24 3 17
[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 and 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
[4]
Parashar A and Chhabra J K Package-restructuring based on software change history National Academy Science Letters 2017 40 1 21-27
[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, and Yao X Software module clustering as a multi-objective search problem IEEE Transactions on Software Engineering 2011 37 2 264-282
[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 and Chhabra J K Harmony search based remodularization for object-oriented software systems Computer Languages, Systems & Structures 2017 47 153-169
[10]
Amarjeet and 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
[11]
Amarjeet and Chhabra J K Many-objective artificial bee colony algorithm for large-scale software module clustering problem Soft Computing 2018 22 19 6341-6361
[12]
Marcus A, Poshyvanyk D, and 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
[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, and 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
[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 and Srinivas K Hyper-heuristic approach for multi-objective software module clustering Journal of Systems and Software 2016 117 384-401
[18]
Prajapati A and Geem Z W Harmony search-based approach for multi-objective software architecture reconstruction Mathematics 2020 8 1906
[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 and Chhabra J K Clustering for software remodularization by using structural, conceptual and evolutionary features Journal of Universal Computer Science 2018 24 12 1731-1757
[21]
Li W and Henry S Object-oriented metrics that predict maintainability Journal of Systems and Software 1993 23 2 111-122
[22]
Chidamber S R and Kemerer C F A metrics suite for object oriented design IEEE Transactions on Software Engineering 1994 20 6 476-493
[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, and Wüst J K A unified framework for coupling measurement in object-oriented systems IEEE Transactions on Software Engineering 1999 25 1 91-121
[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, and Schreft M Coupling and cohesion in object-oriented systems 1994 Klagenfurt University of Klagenfurt
[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, and Radovanović M Analysis of high structural class coupling in object-oriented software systems Computing 2017 99 11 1055-1079
[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 and Krishnan T The EM Algorithm and Extensions 2008 2nd ed. Hoboken John Wiley & Sons, Inc.
[32]
Zimmermann T, Weißgerber P, Diehl S, and Zeller A Mining version histories to guide software changes IEEE Transactions on Software Engineering 2005 31 6 429-445
[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, and Zhang Q Objective reduction in many-objective optimization: linear and nonlinear algorithms IEEE Transactions on Evolutionary Computation 2013 17 1 77-99
[40]
Yuan Y, Xu H, Wang B, and Yao X A new dominance relation-based evolutionary algorithm for many-objective optimization IEEE Transactions on Evolutionary Computation 2016 20 1 16-37
[41]
Yang S, Li M, Liu X, and Zheng J A grid-based evolutionary algorithm for many-objective optimization IEEE Transactions on Evolutionary Computation 2013 17 5 721-736
[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, and Yao X Two_Arch2: an improved two-archive algorithm for many-objective optimization IEEE Transactions on Evolutionary Computation 2015 19 4 524-541
[45]
Rachmawati L and 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
[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 and Li H MOEA/D: a multiobjective evolutionary algorithm based on decomposition IEEE Transactions on Evolutionary Computation 2007 11 6 712-731
[48]
Yuan Y and Xu H Multiobjective flexible job shop scheduling using memetic algorithms IEEE Transactions on Automation Science and Engineering 2015 12 1 336-353
[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 and Jones B F Search-based software engineering Information and Software Technology 2001 43 14 833-839
[52]
Karaboga D. An idea based on honey bee swarm for numerical optimization. Kayseri: Erciyes University, 2005
[53]
Li K, Chen R, Fu G, and Yao Z Two-archive evolutionary algorithm for constrained multiobjective optimization IEEE Transactions on Evolutionary Computation 2019 23 2 303-315
[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
[55]
Andritsos P and Tzerpos V Information-theoretic software clustering IEEE Transactions on Software Engineering 2005 31 2 150-165
[56]
Jalali N S, Izadkhah H, and Lotfi S Multi-objective search-based software modularization: structural and non-structural features Soft Computing 2019 23 21 11141-11165

Cited By

View all
  • (2024)Margin distribution and structural diversity guided ensemble pruningMachine Language10.1007/s10994-023-06429-3113:6(3545-3567)Online publication date: 18-Jan-2024
  • (2024)Applying Graph Partitioning-Based Seeding Strategies to Software ModularisationApplications of Evolutionary Computation10.1007/978-3-031-56852-7_16(240-258)Online publication date: 3-Mar-2024

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Frontiers of Computer Science: Selected Publications from Chinese Universities
Frontiers of Computer Science: Selected Publications from Chinese Universities  Volume 17, Issue 3
Jun 2023
238 pages
ISSN:2095-2228
EISSN:2095-2236
Issue’s Table of Contents

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 08 November 2022
Accepted: 24 May 2022
Received: 16 August 2021

Author Tags

  1. software restructuring
  2. remodularization
  3. multi-objective optimization
  4. software coupling and cohesion

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Margin distribution and structural diversity guided ensemble pruningMachine Language10.1007/s10994-023-06429-3113:6(3545-3567)Online publication date: 18-Jan-2024
  • (2024)Applying Graph Partitioning-Based Seeding Strategies to Software ModularisationApplications of Evolutionary Computation10.1007/978-3-031-56852-7_16(240-258)Online publication date: 3-Mar-2024

View Options

View options

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media