{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,9]],"date-time":"2026-05-09T18:23:48Z","timestamp":1778351028322,"version":"3.51.4"},"reference-count":80,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2015,5,13]],"date-time":"2015-05-13T00:00:00Z","timestamp":1431475200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2015,5,13]]},"abstract":"<jats:p>Software systems nowadays are complex and difficult to maintain due to continuous changes and bad design choices. To handle the complexity of systems, software products are, in general, decomposed in terms of packages\/modules containing classes that are dependent. However, it is challenging to automatically remodularize systems to improve their maintainability. The majority of existing remodularization work mainly satisfy one objective which is improving the structure of packages by optimizing coupling and cohesion. In addition, most of existing studies are limited to only few operation types such as move class and split packages. Many other objectives, such as the design semantics, reducing the number of changes and maximizing the consistency with development change history, are important to improve the quality of the software by remodularizing it. In this article, we propose a novel many-objective search-based approach using NSGA-III. The process aims at finding the optimal remodularization solutions that improve the structure of packages, minimize the number of changes, preserve semantics coherence, and reuse the history of changes. We evaluate the efficiency of our approach using four different open-source systems and one automotive industry project, provided by our industrial partner, through a quantitative and qualitative study conducted with software engineers.<\/jats:p>","DOI":"10.1145\/2729974","type":"journal-article","created":{"date-parts":[[2015,5,15]],"date-time":"2015-05-15T16:05:34Z","timestamp":1431705934000},"page":"1-45","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":233,"title":["Many-Objective Software Remodularization Using NSGA-III"],"prefix":"10.1145","volume":"24","author":[{"given":"Wiem","family":"Mkaouer","sequence":"first","affiliation":[{"name":"University of Michigan"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marouane","family":"Kessentini","sequence":"additional","affiliation":[{"name":"University of Michigan"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Adnan","family":"Shaout","sequence":"additional","affiliation":[{"name":"University of Michigan"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Patrice","family":"Koligheu","sequence":"additional","affiliation":[{"name":"University of Michigan"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Slim","family":"Bechikh","sequence":"additional","affiliation":[{"name":"University of Michigan"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kalyanmoy","family":"Deb","sequence":"additional","affiliation":[{"name":"Michigan State University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ali","family":"Ouni","sequence":"additional","affiliation":[{"name":"University of Michigan"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2015,5,13]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2009.13"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2011.55"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the Working Conference on Reverse Engineering., 212--221","author":"Abdeen H."},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the 6th Working Conference on Reverse Engineering. IEEE, 235--255","author":"Anquetil N."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985795"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-013-9249-9"},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the International Conference on Evolutionary Multi-Criterion Optimization. 413--427","author":"Asafuddoula M. D."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1162\/EVCO_a_00009"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-33119-0_7"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2010.29"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-012-9226-8"},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of the IEEE Congress on Evolutionary Computation. 2129--2137","author":"Bechikh S."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00500-011-0694-3"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEVC.2010.2041060"},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the 6th IEEE Symposium on Search-Based Software Engineering. IEEE, 31--45","author":"Boukhdhir A."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/11844297_54"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1162\/evco.2009.17.2.135"},{"key":"e_1_2_1_18_1","doi-asserted-by":"crossref","volume-title":"Statistical Power Analysis for the Behavioral Sciences","author":"Cohen J.","DOI":"10.4324\/9780203771587"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1137\/S1052623496307510"},{"key":"e_1_2_1_20_1","volume-title":"Multiobjective Optimization Using Evolutionary Algorithms","author":"Deb K."},{"key":"e_1_2_1_21_1","doi-asserted-by":"crossref","unstructured":"K. Deb and S. Gupta. 2010. Towards a link between knee solutions and preferred solution methodologies. In Swarm Evolutionary and Memetic Computing. Springer 182--189.  K. Deb and S. Gupta. 2010. Towards a link between knee solutions and preferred solution methodologies. In Swarm Evolutionary and Memetic Computing. Springer 182--189.","DOI":"10.1007\/978-3-642-17563-3_22"},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the IEEE Congress on Evolutionary Computation. 1--8.","author":"Deb K."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEVC.2013.2281535"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/4235.996017"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the IEEE Congress on Evolutionary Computation. 3353--3360","author":"Deb K."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.5019\/j.ijcir.2006.67"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEVC.2006.876362"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-01020-0_39"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.swevo.2011.02.001"},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of the International Conference on Software Engineering. IEEE, 462--471","author":"Ferrucci F."},{"key":"e_1_2_1_31_1","volume-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler M.","year":"1999"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.asoc.2010.04.004"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2464576.2480770"},{"key":"e_1_2_1_34_1","volume-title":"Proceedings of the Genetic and Evolutionary Computation Conference. Morgan Kaufmann Publishers Inc.","author":"Harman M."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0950-5849(01)00189-6"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2379776.2379787"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1276958.1277176"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-01020-0_34"},{"key":"e_1_2_1_39_1","doi-asserted-by":"crossref","unstructured":"A. L.\n      Jaimes C. A.\n      Coello Coello H. E.\n      Aguirre and \n      K.\n      Tanaka\n  . \n  2014\n  . Objective space partitioning using conflict information for solving many-objective problems. In Parallel Problem Solving from \n  Nature Lecture Notes in Computer Science vol. \n  6238 305--327.   A. L. Jaimes C. A. Coello Coello H. E. Aguirre and K. Tanaka. 2014. Objective space partitioning using conflict information for solving many-objective problems. In Parallel Problem Solving from Nature Lecture Notes in Computer Science vol. 6238 305--327.","DOI":"10.1016\/j.ins.2014.02.002"},{"key":"e_1_2_1_40_1","volume-title":"Proceedings of the IEEE Congress on Evolutionary Computation, 1605--1612","author":"Jaimes A. L."},{"key":"e_1_2_1_41_1","volume-title":"Proceedings of the Conference on Evolutionary Multicriterion Optimization. 307--321","author":"Jain H."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1830483.1830731"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2001.972794"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2011.22"},{"key":"e_1_2_1_45_1","volume-title":"Proceedings of the 2nd International Conference on Evolutionary Multi-Criterion Optimization. Springer, 376--390","author":"Khare V."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2012.16"},{"key":"e_1_2_1_47_1","volume-title":"Proceedings of IEEE Congress on Evolutionary Computation. 3983--3990","author":"Kukkonen S."},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/PROC.1980.11805"},{"key":"e_1_2_1_49_1","volume-title":"Proceedings of the International Workshop on Program Comprehension. 45--55","author":"Mancoridis S."},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.70732"},{"key":"e_1_2_1_51_1","volume-title":"Basics of Applied Statistics","author":"Miller R. G."},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2006.31"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00500-007-0218-3"},{"key":"e_1_2_1_54_1","volume-title":"Proceedings of the Combining Modelling and Search-Based Software Engineering Workshop in the International Conference on Software Engineering. 61--66","author":"Mkaouer M. W."},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/2372251.2372260"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2007.06.003"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2013.31"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10515-011-0098-8"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2012.6405292"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10515-011-0098-8"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463372.2463554"},{"key":"e_1_2_1_63_1","volume-title":"Proceedings of the 28th IEEE\/ACM International Conference on Automated Software Engineering. 268--278","author":"Palomba F."},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2010.26"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2010.5609577"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEVC.2009.2017515"},{"key":"e_1_2_1_67_1","volume-title":"Proceedings of the IEEE Congress on Evolutionary Computation. 2848--2855","author":"Recio G."},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.5555\/2961491.2961541"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEVC.2012.2185847"},{"key":"e_1_2_1_70_1","volume-title":"Proceedings of the International Conference on Software Engineering (ICSE'13)","author":"Sayyad A. S."},{"key":"e_1_2_1_71_1","volume-title":"Proceedings of the International Conference on Automated Software Engineering (ASE'13)","author":"Sayyad A. S."},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/1068009.1068186"},{"key":"e_1_2_1_73_1","volume-title":"Proceedings of 17th IEEE International Conference on Program Comprehension. IEEE, 248--252","author":"Shtern M."},{"key":"e_1_2_1_74_1","volume-title":"Proceedings of the Winter Simulation Conference. 130","author":"Siegmund F."},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEVC.2010.2093579"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1162\/evco.2009.17.3.411"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEVC.2012.2204264"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1109\/TR.2010.2057310"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.5555\/832304.836999"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEVC.2007.892759"},{"key":"e_1_2_1_81_1","volume-title":"Proceedings of the 8th International Conference on Parallel Problem Solving from Nature. Springer, 832--842","author":"Zitzler E."}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2729974","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2729974","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:12:00Z","timestamp":1750227120000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2729974"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,5,13]]},"references-count":80,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2015,5,13]]}},"alternative-id":["10.1145\/2729974"],"URL":"https:\/\/doi.org\/10.1145\/2729974","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,5,13]]},"assertion":[{"value":"2014-01-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-01-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-05-13","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}