{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,9]],"date-time":"2026-05-09T18:23:34Z","timestamp":1778351014768,"version":"3.51.4"},"reference-count":87,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2016,6,30]],"date-time":"2016-06-30T00:00:00Z","timestamp":1467244800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Ford-University of Michigan alliance Program"},{"DOI":"10.13039\/501100001691","name":"Japan Society for the Promotion of Science","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100001691","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Grant-in-Aid for Scientific Research","award":["25220003"],"award-info":[{"award-number":["25220003"]}]},{"name":"Osaka University Program for Promoting International Joint Research"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2016,8,22]]},"abstract":"<jats:p>One of the most widely used techniques to improve the quality of existing software systems is refactoring\u2014the process of improving the design of existing code by changing its internal structure without altering its external behavior. While it is important to suggest refactorings that improve the quality and structure of the system, many other criteria are also important to consider, such as reducing the number of code changes, preserving the semantics of the software design and not only its behavior, and maintaining consistency with the previously applied refactorings. In this article, we propose a multi-objective search-based approach for automating the recommendation of refactorings. The process aims at finding the optimal sequence of refactorings that (i) improves the quality by minimizing the number of design defects, (ii) minimizes code changes required to fix those defects, (iii) preserves design semantics, and (iv) maximizes the consistency with the previously code changes. We evaluated the efficiency of our approach using a benchmark of six open-source systems, 11 different types of refactorings (move method, move field, pull up method, pull up field, push down method, push down field, inline class, move class, extract class, extract method, and extract interface) and six commonly occurring design defect types (blob, spaghetti code, functional decomposition, data class, shotgun surgery, and feature envy) through an empirical study conducted with experts. In addition, we performed an industrial validation of our technique, with 10 software engineers, on a large project provided by our industrial partner. We found that the proposed refactorings succeed in preserving the design coherence of the code, with an acceptable level of code change score while reusing knowledge from recorded refactorings applied in the past to similar contexts.<\/jats:p>","DOI":"10.1145\/2932631","type":"journal-article","created":{"date-parts":[[2016,7,5]],"date-time":"2016-07-05T14:08:13Z","timestamp":1467727693000},"page":"1-53","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":121,"title":["Multi-Criteria Code Refactoring Using Search-Based Software Engineering"],"prefix":"10.1145","volume":"25","author":[{"given":"Ali","family":"Ouni","sequence":"first","affiliation":[{"name":"Osaka University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marouane","family":"Kessentini","sequence":"additional","affiliation":[{"name":"University of Michigan-Dearborn"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Houari","family":"Sahraoui","sequence":"additional","affiliation":[{"name":"University of Montreal"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Katsuro","family":"Inoue","sequence":"additional","affiliation":[{"name":"Osaka University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kalyanmoy","family":"Deb","sequence":"additional","affiliation":[{"name":"Michigan State University"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2016,6,30]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2014.08.002"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2661674"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/11671299_3"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2011.34"},{"key":"e_1_2_1_5_1","volume-title":"Perspectives of Systems Informatics","author":"Baar Thomas","unstructured":"Thomas Baar and Slavi\u0161a Markovi\u0107 . 2007. A graphical approach to prove the semantic preservation of UML\/OCL refactoring rules . In Perspectives of Systems Informatics . Springer , Berlin , 70--83. Thomas Baar and Slavi\u0161a Markovi\u0107. 2007. A graphical approach to prove the semantic preservation of UML\/OCL refactoring rules. In Perspectives of Systems Informatics. Springer, Berlin, 70--83."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.979986"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-013-9256-x"},{"key":"e_1_2_1_8_1","volume-title":"Andrian Marcus, and Rocco Oliveto.","author":"Bavota Gabriele","year":"2014","unstructured":"Gabriele Bavota , Andrea De Lucia , Andrian Marcus, and Rocco Oliveto. 2014 b. Recommending refactoring operations in large software systems. In Recommendation Systems in Software Engineering. Springer , Berlin, 387--419. Gabriele Bavota, Andrea De Lucia, Andrian Marcus, and Rocco Oliveto. 2014b. Recommending refactoring operations in large software systems. In Recommendation Systems in Software Engineering. Springer, Berlin, 387--419."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337434"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2010.11.918"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2559935"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2010.5609739"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2013.60"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2642937.2642948"},{"key":"e_1_2_1_15_1","volume-title":"Mowbray","author":"Brown William H.","year":"1998","unstructured":"William H. Brown , Raphael C. Malveau , and Thomas J . Mowbray . 1998 . AntiPatterns : Refactoring software, architectures, and projects in crisis. (1998). William H. Brown, Raphael C. Malveau, and Thomas J. Mowbray. 1998. AntiPatterns: Refactoring software, architectures, and projects in crisis. (1998)."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1037\/0033-2909.114.3.494"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1177\/001316446002000104"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2012.6405277"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2011.8"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/QSIC.2010.58"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/4235.996017"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(02)00054-7"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2008.4493326"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.5555\/1038267.1039046"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/6294.846201"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2004.10"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2005.28"},{"key":"e_1_2_1_29_1","volume-title":"Fenton and Shari Lawrence Pfleeger","author":"Norman","year":"1998","unstructured":"Norman E. Fenton and Shari Lawrence Pfleeger . 1998 . Software Metrics : A Rigorous and Practical Approach (2nd ed.). PWS, Boston, MA. Norman E. Fenton and Shari Lawrence Pfleeger. 1998. Software Metrics: A Rigorous and Practical Approach (2nd ed.). PWS, Boston, MA."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985989"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2012.04.013"},{"key":"e_1_2_1_32_1","volume-title":"5th International Conference on Genetic Algorithms","volume":"93","author":"Fonseca Carlos M.","year":"1993","unstructured":"Carlos M. Fonseca , Peter J. Fleming , and others. 1993 . Genetic algorithms for multiobjective optimization: Formulation, discussion and generalization . In 5th International Conference on Genetic Algorithms , Vol. 93 . 416--423. Carlos M. Fonseca, Peter J. Fleming, and others. 1993. Genetic algorithms for multiobjective optimization: Formulation, discussion and generalization. In 5th International Conference on Genetic Algorithms, Vol. 93. 416--423."},{"key":"e_1_2_1_33_1","volume-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler Martin","year":"1999","unstructured":"Martin Fowler . 1999 . Refactoring: Improving the Design of Existing Code . Addison-Wesley Longman , Boston, MA . Martin Fowler. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley Longman, Boston, MA."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.5555\/2486788.2486986"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568280"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.asoc.2010.04.004"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2379776.2379787"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1276958.1277176"},{"key":"e_1_2_1_39_1","first-page":"547","article-title":"\u00c9tude comparative de la distribution florale dans une portion des Alpes et des","volume":"37","author":"Jaccard Paul","year":"1901","unstructured":"Paul Jaccard . 1901 . \u00c9tude comparative de la distribution florale dans une portion des Alpes et des Jura. Bull. Soc. Vaud. Sci. Natur. 37 (1901), 547 -- 579 . Paul Jaccard. 1901. \u00c9tude comparative de la distribution florale dans une portion des Alpes et des Jura. Bull. Soc. Vaud. Sci. Natur. 37 (1901), 547--579.","journal-title":"Jura. Bull. Soc. Vaud. Sci. Natur."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1830483.1830731"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2009.54"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2001.972794"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2011.22"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/1858996.1859015"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.5555\/2042243.2042278"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2014.2318734"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR-WCRE.2014.6747160"},{"key":"e_1_2_1_48_1","volume-title":"Koch","author":"Richard Landis J.","year":"1977","unstructured":"J. Richard Landis and Gary G . Koch . 1977 . The measurement of observer agreement for categorical data. Biometrics ( 1977), 159--174. J. Richard Landis and Gary G. Koch. 1977. The measurement of observer agreement for categorical data. Biometrics (1977), 159--174."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2006.10.018"},{"key":"e_1_2_1_50_1","volume-title":"A technique for the measurement of attitudes. Archives of Psychology","author":"Likert Rensis","year":"1932","unstructured":"Rensis Likert . 1932. A technique for the measurement of attitudes. Archives of Psychology ( 1932 ). Rensis Likert. 1932. A technique for the measurement of attitudes. Archives of Psychology (1932)."},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1007\/11609773_21"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.5555\/942800.943571"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.5555\/1018431.1021443"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2004.1265817"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/2729974"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2009.50"},{"key":"e_1_2_1_57_1","volume-title":"Petko Valtchev, and Yann-Ga\u00ebl Gu\u00e9h\u00e9neuc.","author":"Moha Naouel","year":"2008","unstructured":"Naouel Moha , Amine Mohamed Rouane Hacene , Petko Valtchev, and Yann-Ga\u00ebl Gu\u00e9h\u00e9neuc. 2008 . Refactorings of design defects using relational concept analysis. In Formal Concept Analysis, Raoul Medina and Sergei Obiedkov (Eds.). Lecture Notes in Computer Science, Vol. 4933 . Springer , Berlin, 289--304. Naouel Moha, Amine Mohamed Rouane Hacene, Petko Valtchev, and Yann-Ga\u00ebl Gu\u00e9h\u00e9neuc. 2008. Refactorings of design defects using relational concept analysis. In Formal Concept Analysis, Raoul Medina and Sergei Obiedkov (Eds.). Lecture Notes in Computer Science, Vol. 4933. Springer, Berlin, 289--304."},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/1368088.1368146"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1879211.1879216"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.110"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.41"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39038-8_23"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/2372251.2372260"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2007.06.003"},{"key":"e_1_2_1_65_1","unstructured":"William F. Opdyke. 1992. Refactoring: A Program Restructuring Aid in Designing Object-Oriented Application Frameworks. Ph.D. Dissertation. University of Illinois at Urbana-Champaign.  William F. Opdyke. 1992. Refactoring: A Program Restructuring Aid in Designing Object-Oriented Application Frameworks. Ph.D. Dissertation. University of Illinois at Urbana-Champaign."},{"key":"e_1_2_1_66_1","volume-title":"2nd International Symposium on Search Based Software Engineering (SSBSE), Massimiliano Di Penta, Simon Poulding, Lionel Briand, and John Clark (Eds.)","author":"Otero Fernando E. B.","unstructured":"Fernando E. B. Otero , Colin G. Johnson , Alex A. Freitas , and Simon J. Thompson . 2010. Refactoring in automatically generated programs . In 2nd International Symposium on Search Based Software Engineering (SSBSE), Massimiliano Di Penta, Simon Poulding, Lionel Briand, and John Clark (Eds.) . Benevento, Italy. Fernando E. B. Otero, Colin G. Johnson, Alex A. Freitas, and Simon J. Thompson. 2010. Refactoring in automatically generated programs. In 2nd International Symposium on Search Based Software Engineering (SSBSE), Massimiliano Di Penta, Simon Poulding, Lionel Briand, and John Clark (Eds.). Benevento, Italy."},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2013.31"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10515-011-0098-8"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2012.6405292"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/2463372.2463554"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2010.5609577"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1109\/SSBSE.2009.27"},{"key":"e_1_2_1_74_1","unstructured":"Arnon Rotem-Gal-Oz Eric Bruno and Udi Dahan. 2012. SOA Patterns. Manning.  Arnon Rotem-Gal-Oz Eric Bruno and Udi Dahan. 2012. SOA Patterns. Manning."},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.5555\/850948.853442"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2013.6671298"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2010.17"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1145\/1143997.1144315"},{"key":"e_1_2_1_79_1","first-page":"127","article-title":"An empirical assessment of refactoring impact on software quality using a hierarchical quality model. Inte","volume":"5","author":"Shatnawi Raed","year":"2011","unstructured":"Raed Shatnawi and Wei Li . 2011 . An empirical assessment of refactoring impact on software quality using a hierarchical quality model. Inte . J. Softw. Eng. Appl. 5 , 4 (2011), 127 -- 149 . Raed Shatnawi and Wei Li. 2011. An empirical assessment of refactoring impact on software quality using a hierarchical quality model. Inte. J. Softw. Eng. Appl. 5, 4 (2011), 127--149.","journal-title":"J. Softw. Eng. Appl."},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/2597008.2597141"},{"key":"e_1_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2012.19"},{"key":"e_1_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.5555\/872754.873605"},{"key":"e_1_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1145\/353171.353190"},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2009.1"},{"key":"e_1_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2011.05.016"},{"key":"e_1_2_1_86_1","doi-asserted-by":"publisher","DOI":"10.5555\/647476.727758"},{"key":"e_1_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2013.6671299"},{"key":"e_1_2_1_88_1","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2011.21"},{"key":"e_1_2_1_89_1","volume-title":"Parallel Problem Solving from","author":"Zitzler Eckart","unstructured":"Eckart Zitzler and Lothar Thiele . 1998. Multiobjective optimization using evolutionary algorithms--a comparative case study . In Parallel Problem Solving from Nature--PPSN V. Springer , Berlin , 292--301. Eckart Zitzler and Lothar Thiele. 1998. Multiobjective optimization using evolutionary algorithms--a comparative case study. In Parallel Problem Solving from Nature--PPSN V. Springer, Berlin, 292--301."}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2932631","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2932631","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T17:38:51Z","timestamp":1750268331000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2932631"}},"subtitle":["An Industrial Case Study"],"short-title":[],"issued":{"date-parts":[[2016,6,30]]},"references-count":87,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2016,8,22]]}},"alternative-id":["10.1145\/2932631"],"URL":"https:\/\/doi.org\/10.1145\/2932631","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,6,30]]},"assertion":[{"value":"2015-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-04-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-06-30","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}