{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,26]],"date-time":"2024-07-26T07:53:32Z","timestamp":1721980412756},"reference-count":44,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2018,4,1]],"date-time":"2018-04-01T00:00:00Z","timestamp":1522540800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Journal of Systems and Software"],"published-print":{"date-parts":[[2018,4]]},"DOI":"10.1016\/j.jss.2017.11.073","type":"journal-article","created":{"date-parts":[[2017,12,9]],"date-time":"2017-12-09T23:56:05Z","timestamp":1512863765000},"page":"19-36","update-policy":"http:\/\/dx.doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":45,"special_numbering":"C","title":["JMove: A novel heuristic and tool to detect move method refactoring opportunities"],"prefix":"10.1016","volume":"138","author":[{"given":"Ricardo","family":"Terra","sequence":"first","affiliation":[]},{"given":"Marco Tulio","family":"Valente","sequence":"additional","affiliation":[]},{"given":"Sergio","family":"Miranda","sequence":"additional","affiliation":[]},{"given":"Vitor","family":"Sales","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.jss.2017.11.073_bib0001","series-title":"Proceedings of the 6th Working Conference on Reverse Engineering (WCRE)","first-page":"235","article-title":"Experiments with clustering as a software remodularization method","author":"Anquetil","year":"1999"},{"issue":"1","key":"10.1016\/j.jss.2017.11.073_bib0002","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2559935","article-title":"Improving software modularization via automated analysis of latent topics and dependencies","volume":"23","author":"Bavota","year":"2014","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/j.jss.2017.11.073_bib0003","first-page":"1","article-title":"Methodbook: recommending move method refactorings via relational topic models","volume":"99","author":"Bavota","year":"2014","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2017.11.073_bib0004","series-title":"Proceedings of the 21st Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)","first-page":"397","article-title":"Understanding the shape of Java software","author":"Baxter","year":"2006"},{"issue":"1","key":"10.1016\/j.jss.2017.11.073_bib0005","doi-asserted-by":"crossref","first-page":"124","DOI":"10.1214\/09-AOAS309","article-title":"Hierarchical relational models for document networks","volume":"4","author":"Chang","year":"2010","journal-title":"Ann. Appl. Stat."},{"issue":"10","key":"10.1016\/j.jss.2017.11.073_bib0006","doi-asserted-by":"crossref","first-page":"687","DOI":"10.1109\/TSE.2007.1019","article-title":"Power-laws in a large object-oriented software system","volume":"33","author":"Concas","year":"2007","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2017.11.073_bib0007","first-page":"53","article-title":"Feature location in source code: a taxonomy and survey","author":"Dit","year":"2013","journal-title":"J. Softw.: Evol. Process"},{"key":"10.1016\/j.jss.2017.11.073_bib0008","series-title":"Proceedings of the 23rd International Conference on Software Maintenance (ICSM)","first-page":"519","article-title":"JDeodorant: identification and removal of feature envy bad smells","author":"Fokaefs","year":"2007"},{"issue":"10","key":"10.1016\/j.jss.2017.11.073_bib0009","doi-asserted-by":"crossref","first-page":"2241","DOI":"10.1016\/j.jss.2012.04.013","article-title":"Identification and application of extract class refactorings in object-oriented systems","volume":"85","author":"Fokaefs","year":"2012","journal-title":"J. Syst. Softw."},{"key":"10.1016\/j.jss.2017.11.073_bib0010","series-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler","year":"1999"},{"issue":"12","key":"10.1016\/j.jss.2017.11.073_bib0011","doi-asserted-by":"crossref","first-page":"1217","DOI":"10.1111\/j.1365-2929.2004.02012.x","article-title":"Likert scales: how to (ab)use them","volume":"38","author":"Jamieson","year":"2004","journal-title":"Med. Educ."},{"key":"10.1016\/j.jss.2017.11.073_bib0012","series-title":"Proceedings of the IEEE International Conference on Software Maintenance (ICSM)","first-page":"736","article-title":"Automated support for program refactoring using invariants","author":"Kataoka","year":"2001"},{"key":"10.1016\/j.jss.2017.11.073_bib0013","series-title":"Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems","first-page":"1","author":"Lanza","year":"2006"},{"key":"10.1016\/j.jss.2017.11.073_bib0014","series-title":"Object-Oriented Metrics in practice","author":"Lanza","year":"2005"},{"key":"10.1016\/j.jss.2017.11.073_bib0015","series-title":"Proceedings of the 21st International Conference on Software Maintenance (ICSM), Industrial and Tool Volume","first-page":"77","article-title":"iPlasma: an integrated platform for quality assessment of object-oriented design","author":"Marinescu","year":"2005"},{"key":"10.1016\/j.jss.2017.11.073_bib0016","series-title":"Proceedings of the 20th International Conference on Software Maintenance (ICSM)","first-page":"350","article-title":"Detection strategies: metrics-based rules for detecting design flaws","author":"Marinescu","year":"2004"},{"issue":"2","key":"10.1016\/j.jss.2017.11.073_bib0017","doi-asserted-by":"crossref","first-page":"126","DOI":"10.1109\/TSE.2004.1265817","article-title":"A survey of software refactoring","volume":"30","author":"Mens","year":"2004","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2017.11.073_bib0018","series-title":"Proceedings of the 9th European Conference on Software Maintenance and Reengineering (CSMR)","first-page":"92","article-title":"Towards the optimization of automatic detection of design flaws in object-oriented software systems","author":"Mihancea","year":"2005"},{"issue":"3","key":"10.1016\/j.jss.2017.11.073_bib0019","doi-asserted-by":"crossref","first-page":"193","DOI":"10.1109\/TSE.2006.31","article-title":"On the automatic modularization of software systems using the bunch tool","volume":"32","author":"Mitchell","year":"2006","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2017.11.073_bib0020","series-title":"Proceedings of the 4th Workshop on Refactoring Tools (WRT)","first-page":"41","article-title":"Code-imp: a tool for automated search-based refactoring","author":"Moghadam","year":"2011"},{"key":"10.1016\/j.jss.2017.11.073_bib0021","series-title":"Proceedings of the 16th European Conference on Software Maintenance and Reengineering (CSMR)","first-page":"43","article-title":"Automated refactoring using design differencing","author":"Moghadam","year":"2012"},{"key":"10.1016\/j.jss.2017.11.073_bib0022","series-title":"Proceedings of the 10th European Conference on Software Maintenance and Reengineering (CSMR)","first-page":"249","article-title":"Search-based software maintenance","author":"O\u2019Keeffe","year":"2006"},{"key":"10.1016\/j.jss.2017.11.073_bib0023","series-title":"Proceedings of the IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE)","first-page":"254","article-title":"Extracting relative thresholds for source code metrics","author":"Oliveira","year":"2014"},{"key":"10.1016\/j.jss.2017.11.073_bib0024","series-title":"Proceedings of the 33rd International Conference on Software Engineering (ICSE), NIER track","first-page":"820","article-title":"Identifying method friendships to remove the feature envy bad smell","author":"Oliveto","year":"2011"},{"key":"10.1016\/j.jss.2017.11.073_bib0025","series-title":"Refactoring Object-Oriented Frameworks","author":"Opdyke","year":"1992"},{"key":"10.1016\/j.jss.2017.11.073_bib0026","series-title":"Proceedings of the 28th International Conference on Automated Software Engineering (ASE)","first-page":"11","article-title":"Detecting bad smells in source code using change history information","author":"Palomba","year":"2013"},{"key":"10.1016\/j.jss.2017.11.073_bib0027","series-title":"Framework Design: A Role Modeling Approach","author":"Riehle","year":"1992"},{"issue":"4","key":"10.1016\/j.jss.2017.11.073_bib0028","doi-asserted-by":"crossref","first-page":"80","DOI":"10.1109\/MS.2009.161","article-title":"Recommendation systems for software engineering","volume":"27","author":"Robillard","year":"2010","journal-title":"IEEE Softw."},{"key":"10.1016\/j.jss.2017.11.073_bib0029","series-title":"Proceedings of the 20th Working Conference on Reverse Engineering (WCRE)","first-page":"232","article-title":"Recommending move method refactorings using dependency sets","author":"Sales","year":"2013"},{"key":"10.1016\/j.jss.2017.11.073_bib0030","series-title":"Proceedings of the 25th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA)","first-page":"286","article-title":"Specifying and implementing refactorings","author":"Sch\u00e4efer","year":"2010"},{"key":"10.1016\/j.jss.2017.11.073_bib0031","series-title":"Proceedings of the 8th Conference on Genetic and Evolutionary Computation (GECCO)","first-page":"1909","article-title":"Search-based determination of refactorings for improving the class structure of object-oriented systems","author":"Seng","year":"2006"},{"key":"10.1016\/j.jss.2017.11.073_bib0032","series-title":"Proceedings of the 22nd International Conference on Program Comprehension (ICPC)","first-page":"1","article-title":"Recommending automated Extract Method refactorings","author":"Silva","year":"2014"},{"key":"10.1016\/j.jss.2017.11.073_bib0033","series-title":"Proceedings of the 5th European Conference on Software Maintenance and Reengineering (CSMR)","first-page":"30","article-title":"Metrics based refactoring","author":"Simon","year":"2001"},{"issue":"2","key":"10.1016\/j.jss.2017.11.073_bib0034","doi-asserted-by":"crossref","first-page":"147","DOI":"10.1109\/TSE.2012.19","article-title":"Automated behavioral testing of refactoring engines","volume":"39","author":"Soares","year":"2013","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2017.11.073_bib0035","series-title":"Proceedings of the 23rd European Conference on Object-Oriented Programming (ECOOP)","first-page":"419","article-title":"From public to private to absent: refactoring Java programs under constrained accessibility","author":"Steimann","year":"2009"},{"key":"10.1016\/j.jss.2017.11.073_bib0036","series-title":"Proceedings of the 17th Asia Pacific Software Engineering Conference (APSEC)","first-page":"336","article-title":"The Qualitas Corpus: a curated collection of Java code for empirical studies","author":"Tempero","year":"2010"},{"issue":"5","key":"10.1016\/j.jss.2017.11.073_bib0037","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2507288.2507314","article-title":"Qualitas.class corpus: a compiled version of the qualitas corpus","volume":"38","author":"Terra","year":"2013","journal-title":"Softw. Eng. Notes"},{"key":"10.1016\/j.jss.2017.11.073_bib0038","series-title":"Proceedings of the 2nd European Conference on Software Architecture (ECSA)","first-page":"256","article-title":"Towards a dependency constraint language to manage software architectures","author":"Terra","year":"2008"},{"issue":"12","key":"10.1016\/j.jss.2017.11.073_bib0039","first-page":"1073","article-title":"A dependency constraint language to manage object-oriented software architectures","volume":"32","author":"Terra","year":"2009","journal-title":"Softw.: Pract. Exp."},{"issue":"3","key":"10.1016\/j.jss.2017.11.073_bib0040","first-page":"315","article-title":"A recommendation system for repairing violations detected by static architecture conformance checking","volume":"45","author":"Terra","year":"2015","journal-title":"Softw.: Pract. Exp."},{"key":"10.1016\/j.jss.2017.11.073_bib0041","series-title":"Proceedings of the 12th Working Conference on Reverse Engineering (WCRE)","first-page":"155","article-title":"Diagnosing design problems in object oriented systems","author":"Trifu","year":"2005"},{"issue":"3","key":"10.1016\/j.jss.2017.11.073_bib0042","doi-asserted-by":"crossref","first-page":"347","DOI":"10.1109\/TSE.2009.1","article-title":"Identification of move method refactoring opportunities","volume":"36","author":"Tsantalis","year":"2009","journal-title":"IEEE Trans. Softw. Eng."},{"issue":"10","key":"10.1016\/j.jss.2017.11.073_bib0043","doi-asserted-by":"crossref","first-page":"1757","DOI":"10.1016\/j.jss.2011.05.016","article-title":"Identification of extract method refactoring opportunities for the decomposition of methods","volume":"84","author":"Tsantalis","year":"2011","journal-title":"J. Syst. Softw."},{"key":"10.1016\/j.jss.2017.11.073_bib0044","series-title":"Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM)","first-page":"306","article-title":"Do code smells reflect important maintainability aspects?","author":"Yamashita","year":"2012"}],"container-title":["Journal of Systems and Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121217302960?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0164121217302960?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2019,11,29]],"date-time":"2019-11-29T06:11:43Z","timestamp":1575007903000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0164121217302960"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,4]]},"references-count":44,"alternative-id":["S0164121217302960"],"URL":"https:\/\/doi.org\/10.1016\/j.jss.2017.11.073","relation":{},"ISSN":["0164-1212"],"issn-type":[{"value":"0164-1212","type":"print"}],"subject":[],"published":{"date-parts":[[2018,4]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"JMove: A novel heuristic and tool to detect move method refactoring opportunities","name":"articletitle","label":"Article Title"},{"value":"Journal of Systems and Software","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.jss.2017.11.073","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2017 Elsevier Inc. All rights reserved.","name":"copyright","label":"Copyright"}]}}