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

Amarjeet PRAJAPATI , Anshu PARASHAR , Amit RATHEE

Front. Comput. Sci. ›› 2023, Vol. 17 ›› Issue (3) : 173209

PDF (4045KB)
Front. Comput. Sci. ›› 2023, Vol. 17 ›› Issue (3) : 173209 DOI: 10.1007/s11704-022-1449-2
Software
RESEARCH ARTICLE

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

Author information +
History +
PDF (4045KB)

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.

Graphical abstract

Keywords

software restructuring / remodularization / multi-objective optimization / software coupling and cohesion

Cite this article

Download citation ▾
Amarjeet PRAJAPATI, Anshu PARASHAR, Amit RATHEE. Multi-dimensional information-driven many-objective software remodularization approach. Front. Comput. Sci., 2023, 17(3): 173209 DOI:10.1007/s11704-022-1449-2

登录浏览全文

4963

注册一个新账户 忘记密码

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

[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

[4]

Parashar A, 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, 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 , Chhabra J K . Harmony search based remodularization for object-oriented software systems. Computer Languages, Systems & Structures, 2017, 47: 153–169

[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

[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

[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

[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

[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

[18]

Prajapati A, 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, 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, Henry S . Object-oriented metrics that predict maintainability. Journal of Systems and Software, 1993, 23( 2): 111–122

[22]

Chidamber S R, 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, 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, Schreft M. Coupling and cohesion in object-oriented systems. Klagenfurt: University of Klagenfurt, 1994

[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

[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

[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

[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

[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

[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

[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

[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

[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

[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

[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

[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

[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, Tzerpos V . Information-theoretic software clustering. IEEE Transactions on Software Engineering, 2005, 31( 2): 150–165

[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

RIGHTS & PERMISSIONS

Higher Education Press

AI Summary AI Mindmap
PDF (4045KB)

Supplementary files

FCS-21449-OF-AP_suppl_1

1069

Accesses

0

Citation

Detail

Sections
Recommended

AI思维导图

/