{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,19]],"date-time":"2025-11-19T11:32:22Z","timestamp":1763551942493,"version":"3.44.0"},"reference-count":63,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2018,11,1]],"date-time":"2018-11-01T00:00:00Z","timestamp":1541030400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2018,11,1]],"date-time":"2018-11-01T00:00:00Z","timestamp":1541030400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Journal of Systems and Software"],"published-print":{"date-parts":[[2018,11]]},"DOI":"10.1016\/j.jss.2018.07.076","type":"journal-article","created":{"date-parts":[[2018,7,30]],"date-time":"2018-07-30T12:35:44Z","timestamp":1532954144000},"page":"25-51","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":14,"special_numbering":"C","title":["Efficient refactoring scheduling based on partial order reduction"],"prefix":"10.1016","volume":"145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-1350-0560","authenticated-orcid":false,"given":"Rodrigo","family":"Morales","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1259-2990","authenticated-orcid":false,"given":"Francisco","family":"Chicano","sequence":"additional","affiliation":[]},{"given":"Foutse","family":"Khomh","sequence":"additional","affiliation":[]},{"given":"Giuliano","family":"Antoniol","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.jss.2018.07.076_bib0001","series-title":"Software Maintenance and Reengineering (CSMR), 2011 15th European Conf. on","first-page":"181","article-title":"An empirical study of the impact of two antipatterns, blob and spaghetti code, on program comprehension","author":"Abbes","year":"2011"},{"issue":"1","key":"10.1016\/j.jss.2018.07.076_bib0002","doi-asserted-by":"crossref","first-page":"4","DOI":"10.1109\/32.979986","article-title":"A hierarchical model for object-oriented design quality assessment","volume":"28","author":"Bansiya","year":"2002","journal-title":"Softw. Eng., IEEE Trans."},{"key":"10.1016\/j.jss.2018.07.076_bib0003","series-title":"IASTED Conf. on Software Engineering","first-page":"346","article-title":"Does god class decomposition affect comprehensibility?","author":"Bois","year":"2006"},{"key":"10.1016\/j.jss.2018.07.076_bib0004","series-title":"Proceedings of the 8th annual conference on Genetic and evolutionary computation","first-page":"1885","article-title":"A novel approach to optimize clone refactoring activity","author":"Bouktif","year":"2006"},{"year":"1998","series-title":"Anti patterns: refactoring software, architectures, and projects in crisis","author":"Brown","key":"10.1016\/j.jss.2018.07.076_bib0005"},{"issue":"3","key":"10.1016\/j.jss.2018.07.076_bib0006","doi-asserted-by":"crossref","first-page":"1148","DOI":"10.1137\/110851390","article-title":"Sorting by transpositions is difficult","volume":"26","author":"Bulteau","year":"2012","journal-title":"SIAM J. Discrete Math."},{"year":"1983","series-title":"Graphical Methods for Data Analysis","author":"Chambers","key":"10.1016\/j.jss.2018.07.076_bib0007"},{"key":"10.1016\/j.jss.2018.07.076_sbref0008","article-title":"\u201dsampling\u201d as a baseline optimizer for search-based software engineering","author":"Chen","year":"2018","journal-title":"IEEE Trans. Softw. Eng."},{"year":"2014","series-title":"Ordinal Methods for Behavioral Data Analysis","author":"Cliff","key":"10.1016\/j.jss.2018.07.076_bib0009"},{"key":"10.1016\/j.jss.2018.07.076_bib0010","series-title":"International Symposium on Search Based Software Engineering","first-page":"298","article-title":"Improving the performance of many-objective software refactoring technique using dimensionality reduction","author":"Dea","year":"2016"},{"issue":"2","key":"10.1016\/j.jss.2018.07.076_bib0011","doi-asserted-by":"crossref","first-page":"182","DOI":"10.1109\/4235.996017","article-title":"A fast and elitist multiobjective genetic algorithm: Nsga-ii","volume":"6","author":"Deb","year":"2002","journal-title":"Evolut. Comput., IEEE Trans."},{"issue":"1","key":"10.1016\/j.jss.2018.07.076_bib0012","doi-asserted-by":"crossref","first-page":"29","DOI":"10.1109\/3477.484436","article-title":"Ant system: optimization by a colony of cooperating agents","volume":"26","author":"Dorigo","year":"2006","journal-title":"Syst., Man, Cybern., Part B, IEEE Trans."},{"key":"10.1016\/j.jss.2018.07.076_bib0013","doi-asserted-by":"crossref","first-page":"760","DOI":"10.1016\/j.advengsoft.2011.05.014","article-title":"Jmetal: a java framework for multi-objective optimization","volume":"42","author":"Durillo","year":"2011","journal-title":"Adv. Eng. Software"},{"year":"1999","series-title":"Refactoring\u00a0\u2013 Improving the Design of Existing Code","author":"Fowler","key":"10.1016\/j.jss.2018.07.076_bib0014"},{"year":"1999","series-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler","key":"10.1016\/j.jss.2018.07.076_bib0015"},{"key":"10.1016\/j.jss.2018.07.076_bib0016","series-title":"Proceedings of the 1st ECOOP workshop on Building a System using Patterns. Springer-Verlag","first-page":"1","article-title":"Ptidej: promoting patterns with patterns","author":"Gu\u00e9h\u00e9neuc","year":"2005"},{"issue":"10","key":"10.1016\/j.jss.2018.07.076_bib0017","doi-asserted-by":"crossref","first-page":"301","DOI":"10.1145\/1035292.1029002","article-title":"Recovering binary class relationships: putting icing on the uml cake","volume":"39","author":"Gueheneuc","year":"2004","journal-title":"ACM SIGPLAN Notices"},{"issue":"35","key":"10.1016\/j.jss.2018.07.076_bib0018","doi-asserted-by":"crossref","first-page":"667","DOI":"10.1109\/TSE.2008.48","article-title":"Demima: a multi-layered framework for design pattern identification","volume":"34","author":"Gu\u00e9h\u00e9neuc","year":"2008","journal-title":"Softw. Eng., IEEE Trans."},{"key":"10.1016\/j.jss.2018.07.076_bib0019","series-title":"Proceedings of the 9th annual conference on Genetic and evolutionary computation","first-page":"1106","article-title":"Pareto optimal search based refactoring at the design level","author":"Harman","year":"2007"},{"year":"1975","series-title":"Adaptation in Natural and Artificial Systems: an Introductory Analysis With Applications to Biology, Control, and Artificial Intelligence.","author":"Holland","key":"10.1016\/j.jss.2018.07.076_bib0020"},{"year":"2013","series-title":"Nonparametric Statistical Methods","author":"Hollander","key":"10.1016\/j.jss.2018.07.076_bib0021"},{"issue":"1\/2","key":"10.1016\/j.jss.2018.07.076_sbref0022","doi-asserted-by":"crossref","first-page":"81","DOI":"10.2307\/2332226","article-title":"A new measure of rank correlation","volume":"30","author":"Kendall","year":"1938","journal-title":"Biometrika"},{"issue":"3","key":"10.1016\/j.jss.2018.07.076_bib0023","doi-asserted-by":"crossref","first-page":"243","DOI":"10.1007\/s10664-011-9171-y","article-title":"An exploratory study of the impact of antipatterns on class change- and fault-proneness","volume":"17","author":"Khomh","year":"2012","journal-title":"Empir. Softw. Eng."},{"issue":"3","key":"10.1016\/j.jss.2018.07.076_bib0024","doi-asserted-by":"crossref","first-page":"243","DOI":"10.1007\/s10664-011-9171-y","article-title":"An exploratory study of the impact of antipatterns on class change- and fault-proneness","volume":"17","author":"Khomh","year":"2012","journal-title":"Empir.. Softw. Eng."},{"key":"10.1016\/j.jss.2018.07.076_bib0025","series-title":"Quality Software, 2009. QSIC\u201909. 9th International Conference on","first-page":"305","article-title":"A bayesian approach for the detection of code and design smells","author":"Khomh","year":"2009"},{"article-title":"The art of computer programming, volume 4A: combinatorial algorithms","year":"2014","author":"Knuth","key":"10.1016\/j.jss.2018.07.076_bib0026"},{"issue":"5","key":"10.1016\/j.jss.2018.07.076_bib0027","first-page":"521","article-title":"Automated scheduling for clonebased refactoring using a competent ga","volume":"41","author":"Lee","year":"2011","journal-title":"Softw."},{"issue":"5","key":"10.1016\/j.jss.2018.07.076_bib0028","doi-asserted-by":"crossref","first-page":"446","DOI":"10.1049\/iet-sen:20070033","article-title":"Conflict-aware schedule of software refactorings","volume":"2","author":"Liu","year":"2008","journal-title":"IET Softw."},{"issue":"1","key":"10.1016\/j.jss.2018.07.076_bib0029","doi-asserted-by":"crossref","first-page":"220","DOI":"10.1109\/TSE.2011.9","article-title":"Schedule of bad smell detection and resolution: a new way to save effort","volume":"38","author":"Liu","year":"2012","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2018.07.076_bib0030","series-title":"International SPIN Workshop on Model Checking of Software","first-page":"112","article-title":"Partial order reduction in directed model checking","author":"Lluch-Lafuente","year":"2002"},{"issue":"3","key":"10.1016\/j.jss.2018.07.076_bib0031","doi-asserted-by":"crossref","first-page":"269","DOI":"10.1007\/s10270-006-0044-6","article-title":"Analysing refactoring dependencies using graph transformation","volume":"6","author":"Mens","year":"2007","journal-title":"Softw. Syst. Model."},{"issue":"1","key":"10.1016\/j.jss.2018.07.076_bib0032","doi-asserted-by":"crossref","first-page":"2","DOI":"10.1109\/TSE.2007.256941","article-title":"Data mining static code attributes to learn defect predictors","volume":"33","author":"Menzies","year":"2007","journal-title":"Softw. Eng., IEEE Trans."},{"issue":"3","key":"10.1016\/j.jss.2018.07.076_bib0033","first-page":"193","article-title":"Genetic algorithms, tournament selection, and the effects of noise","volume":"9","author":"Miller","year":"1995","journal-title":"Complex Syst."},{"key":"10.1016\/j.jss.2018.07.076_bib0034","series-title":"Proceedings of the 29th ACM\/IEEE Int\u2019l Conf. on Automated software engineering","first-page":"331","article-title":"Recommendation system for software refactoring using innovization and interactive dynamic optimization","author":"Mkaouer","year":"2014"},{"key":"10.1016\/j.jss.2018.07.076_bib0035","first-page":"1","article-title":"A robust multi-objective approach to balance severity and importance of refactoring opportunities","author":"Mkaouer","year":"2016","journal-title":"Empir. Softw. Eng."},{"key":"10.1016\/j.jss.2018.07.076_bib0036","series-title":"Proceedings of the 4th Workshop on Refactoring Tools","first-page":"41","article-title":"Code-imp: a tool for automated search-based refactoring","author":"Moghadam","year":"2011"},{"issue":"1","key":"10.1016\/j.jss.2018.07.076_bib0037","article-title":"Resolving conflict and dependency in refactoring to a desired design","volume":"9","author":"Moghadam","year":"2015","journal-title":"e-Informatica Softw. Eng. J."},{"issue":"1","key":"10.1016\/j.jss.2018.07.076_bib0038","doi-asserted-by":"crossref","first-page":"20","DOI":"10.1109\/TSE.2009.50","article-title":"Decor: a method for the specification and detection of code and design smells","volume":"36","author":"Moha","year":"2010","journal-title":"Softw. Eng., IEEE Trans."},{"key":"10.1016\/j.jss.2018.07.076_bib0039","first-page":"1","article-title":"Exact search-space size for the refactoring scheduling problem","author":"Morales","year":"2017","journal-title":"Autom. Softw. Eng."},{"key":"10.1016\/j.jss.2018.07.076_bib0040","unstructured":"Morales, R., Chicano, F., Khomh, F., Antoniol, G., 2017b. RePOR replication package. URL http:\/\/www.swat.polymtl.ca\/rmorales\/jssrepor\/."},{"key":"10.1016\/j.jss.2018.07.076_bib0041","series-title":"2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)","first-page":"24","article-title":"Finding the best compromise between design quality and testing effort during refactoring","volume":"1","author":"Morales","year":"2016"},{"key":"10.1016\/j.jss.2018.07.076_bib0042","doi-asserted-by":"crossref","first-page":"236","DOI":"10.1016\/j.jss.2016.05.042","article-title":"On the use of developers context for automatic refactoring of software anti-patterns","volume":"128","author":"Morales","year":"2017","journal-title":"J. Syst. Softw."},{"issue":"5","key":"10.1016\/j.jss.2018.07.076_bib0043","doi-asserted-by":"crossref","first-page":"38","DOI":"10.1109\/MS.2008.123","article-title":"Refactoring tools: fitness for purpose","volume":"25","author":"Murphy-Hill","year":"2008","journal-title":"Softw., IEEE"},{"key":"10.1016\/j.jss.2018.07.076_bib0044","series-title":"Software Maintenance and Reengineering, 2006. CSMR 2006. Proceedings of the 10th European Conference on","first-page":"10pp.","article-title":"Search-based software maintenance","author":"O\u2019Keeffe","year":"2006"},{"key":"10.1016\/j.jss.2018.07.076_bib0045","series-title":"Gecco 2007: Genetic and Evolutionary Computation Conference, Vol 1 and 2","first-page":"1114","article-title":"Getting the most from search-based refactoring","author":"O\u2019Keeffe","year":"2007"},{"year":"1992","series-title":"Refactoring object-oriented frameworks. Ph.D. Thesis","author":"Opdyke","key":"10.1016\/j.jss.2018.07.076_bib0046"},{"issue":"1","key":"10.1016\/j.jss.2018.07.076_bib0047","doi-asserted-by":"crossref","first-page":"47","DOI":"10.1007\/s10515-011-0098-8","article-title":"Maintainability defects detection and correction: a multi-objective approach","volume":"20","author":"Ouni","year":"2013","journal-title":"Autom. Softw. Eng."},{"key":"10.1016\/j.jss.2018.07.076_bib0048","series-title":"Software Maintenance (ICSM), 2012 28th IEEE International Conference on","first-page":"347","article-title":"Search-based refactoring: towards semantics preservation","author":"Ouni","year":"2012"},{"issue":"0","key":"10.1016\/j.jss.2018.07.076_bib0049","doi-asserted-by":"crossref","first-page":"18","DOI":"10.1016\/j.jss.2015.03.040","article-title":"Improving multi-objective code-smells correction using development history","volume":"105","author":"Ouni","year":"2015","journal-title":"J. Syst. Softw."},{"key":"10.1016\/j.jss.2018.07.076_bib0050","series-title":"Software Maintenance and Evolution (ICSME), 2014 IEEE Int\u2019l Conference on","first-page":"101","article-title":"Do they really smell bad? A study on developers\u2019 perception of bad code smells","author":"Palomba","year":"2014"},{"key":"10.1016\/j.jss.2018.07.076_bib0051","series-title":"ICSE \u201994: Proc. of the 16th Int\u2019l Conference on Software engineering","first-page":"279","article-title":"Software aging","author":"Parnas","year":"1994"},{"key":"10.1016\/j.jss.2018.07.076_bib0052","series-title":"Search Based Software Engineering, 2009 1st International Symposium on","first-page":"43","article-title":"Local search-based refactoring as graph transformation","author":"Qayum","year":"2009"},{"key":"10.1016\/j.jss.2018.07.076_bib0053","series-title":"Search Based Software Engineering, 2009 1st International Symposium on","first-page":"43","article-title":"Local search-based refactoring as graph transformation","author":"Qayum","year":"2009"},{"key":"10.1016\/j.jss.2018.07.076_bib0054","series-title":"Annual meeting of the Southern Association for Institutional Research","first-page":"1","article-title":"Exploring methods for evaluating group differences on the nsse and other surveys: are the t-test and cohensd indices the most appropriate choices","author":"Romano","year":"2006"},{"key":"10.1016\/j.jss.2018.07.076_bib0055","series-title":"Software Maintenance and Reengineering, 2009. CSMR \u201909. 13th European Conf. On","first-page":"277","article-title":"Serious: software evolution, refactoring, improvement of operational and usable systems","author":"van Rompaey","year":"2009"},{"year":"2011","series-title":"Algorithms","author":"Sedgewick","key":"10.1016\/j.jss.2018.07.076_bib0056"},{"key":"10.1016\/j.jss.2018.07.076_bib0057","series-title":"GECCO 2006: Genetic and Evolutionary Computation Conference, Vol 1 and 2","first-page":"1909","article-title":"Search-based determination of refactorings for improving the class structure of object-oriented systems","author":"Seng","year":"2006"},{"issue":"2","key":"10.1016\/j.jss.2018.07.076_bib0058","doi-asserted-by":"crossref","first-page":"139","DOI":"10.1007\/s11721-014-0094-2","article-title":"Interactive ant colony optimization (iaco) for early lifecycle software design","volume":"8","author":"Simons","year":"2014","journal-title":"Swarm Intell."},{"key":"10.1016\/j.jss.2018.07.076_bib0059","series-title":"Reverse Engineering, 2002. Proceedings. Ninth Working Conference on","first-page":"97","article-title":"Java quality assurance by detecting code smells","author":"Van Emden","year":"2002"},{"issue":"2","key":"10.1016\/j.jss.2018.07.076_bib0060","doi-asserted-by":"crossref","first-page":"65","DOI":"10.1007\/BF00175354","article-title":"A genetic algorithm tutorial","volume":"4","author":"Whitley","year":"1994","journal-title":"Stat. Comput."},{"issue":"14","key":"10.1016\/j.jss.2018.07.076_bib0061","doi-asserted-by":"crossref","first-page":"817","DOI":"10.1016\/S0950-5849(01)00188-4","article-title":"An overview of evolutionary algorithms: practical issues and common pitfalls","volume":"43","author":"Whitley","year":"2001","journal-title":"Inf. Softw. Technol."},{"year":"2002","series-title":"Case Study Research: Design and Methods - Third Edition","author":"Yin","key":"10.1016\/j.jss.2018.07.076_bib0062"},{"key":"10.1016\/j.jss.2018.07.076_bib0063","series-title":"2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulation","first-page":"105","article-title":"A constraint programming approach to conflict-aware optimal scheduling of prioritized code clone refactoring","author":"Zibran","year":"2011"}],"container-title":["Journal of Systems and Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121218301523?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121218301523?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,9,27]],"date-time":"2025-09-27T23:19:01Z","timestamp":1759015141000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0164121218301523"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,11]]},"references-count":63,"alternative-id":["S0164121218301523"],"URL":"https:\/\/doi.org\/10.1016\/j.jss.2018.07.076","relation":{},"ISSN":["0164-1212"],"issn-type":[{"type":"print","value":"0164-1212"}],"subject":[],"published":{"date-parts":[[2018,11]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"Efficient refactoring scheduling based on partial order reduction","name":"articletitle","label":"Article Title"},{"value":"Journal of Systems and Software","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.jss.2018.07.076","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2018 Elsevier Inc. All rights reserved.","name":"copyright","label":"Copyright"}]}}