{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,11]],"date-time":"2026-03-11T01:45:52Z","timestamp":1773193552670,"version":"3.50.1"},"reference-count":106,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2020,9,26]],"date-time":"2020-09-26T00:00:00Z","timestamp":1601078400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"SNF Project JITRA","award":["172479"],"award-info":[{"award-number":["172479"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2020,10,31]]},"abstract":"<jats:p>\n            Refactoring aims at improving code non-functional attributes without modifying its external behavior. Previous studies investigated the motivations behind refactoring by surveying developers. With the aim of generalizing and complementing their findings, we present a large-scale study quantitatively and qualitatively investigating\n            <jats:italic>why<\/jats:italic>\n            developers perform refactoring in open source projects. First, we mine 287,813 refactoring operations performed in the history of 150 systems. Using this dataset, we investigate the interplay between refactoring operations and process (e.g., previous changes\/fixes) and product (e.g., quality metrics) metrics. Then, we manually analyze 551 merged pull requests implementing refactoring operations and classify the motivations behind the implemented refactorings (e.g., removal of code duplication). Our results led to (i) quantitative evidence of the relationship existing between certain process\/product metrics and refactoring operations and (ii) a detailed taxonomy, generalizing and complementing the ones existing in the literature, of motivations pushing developers to refactor source code.\n          <\/jats:p>","DOI":"10.1145\/3408302","type":"journal-article","created":{"date-parts":[[2020,9,26]],"date-time":"2020-09-26T10:58:57Z","timestamp":1601117937000},"page":"1-30","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":55,"title":["Why Developers Refactor Source Code"],"prefix":"10.1145","volume":"29","author":[{"given":"Jevgenija","family":"Pantiuchina","sequence":"first","affiliation":[{"name":"Universit\u00e0 della Svizzera italiana, Lugano, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Fiorella","family":"Zampetti","sequence":"additional","affiliation":[{"name":"University of Sannio, Benevento, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1764-9685","authenticated-orcid":false,"given":"Simone","family":"Scalabrino","sequence":"additional","affiliation":[{"name":"University of Molise, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Valentina","family":"Piantadosi","sequence":"additional","affiliation":[{"name":"University of Molise"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rocco","family":"Oliveto","sequence":"additional","affiliation":[{"name":"University of Molise"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gabriele","family":"Bavota","sequence":"additional","affiliation":[{"name":"Universit\u00e0 della Svizzera italiana, Lugano, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Massimiliano Di","family":"Penta","sequence":"additional","affiliation":[{"name":"University of Sannio, Benevento, Italy"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2020,9,26]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"[n.d.]. 52North\/WPS Pull Request #73. Retrieved from https:\/\/github.com\/52North\/WPS\/pull\/73.  [n.d.]. 52North\/WPS Pull Request #73. Retrieved from https:\/\/github.com\/52North\/WPS\/pull\/73."},{"key":"e_1_2_1_2_1","unstructured":"[n.d.]. apache\/fineract Pull Request #366. Retrieved from https:\/\/github.com\/apache\/fineract\/pull\/366.  [n.d.]. apache\/fineract Pull Request #366. Retrieved from https:\/\/github.com\/apache\/fineract\/pull\/366."},{"key":"e_1_2_1_3_1","unstructured":"[n.d.]. cbeust\/testng Pull Request #1481. Retrieved from https:\/\/github.com\/cbeust\/testng\/pull\/1481.  [n.d.]. cbeust\/testng Pull Request #1481. Retrieved from https:\/\/github.com\/cbeust\/testng\/pull\/1481."},{"key":"e_1_2_1_4_1","unstructured":"[n.d.]. Code metrics for Java code by means of static analysis. Retrieved from https:\/\/github.com\/mauricioaniche\/ck.  [n.d.]. Code metrics for Java code by means of static analysis. Retrieved from https:\/\/github.com\/mauricioaniche\/ck."},{"key":"e_1_2_1_5_1","unstructured":"[n.d.]. confluentinc\/kafka-connect-elasticsearch Pull Request #251. Retrieved from https:\/\/github.com\/confluentinc\/kafka-connect-elasticsearch\/pull\/251.  [n.d.]. confluentinc\/kafka-connect-elasticsearch Pull Request #251. Retrieved from https:\/\/github.com\/confluentinc\/kafka-connect-elasticsearch\/pull\/251."},{"key":"e_1_2_1_6_1","unstructured":"[n.d.]. dropwizard\/dropwizard Pull Request #488. Retrieved from https:\/\/github.com\/dropwizard\/dropwizard\/pull\/488.  [n.d.]. dropwizard\/dropwizard Pull Request #488. Retrieved from https:\/\/github.com\/dropwizard\/dropwizard\/pull\/488."},{"key":"e_1_2_1_7_1","unstructured":"[n.d.]. DSpace\/DSpace Pull Request #1083. Retrieved from https:\/\/github.com\/DSpace\/DSpace\/pull\/1083.  [n.d.]. DSpace\/DSpace Pull Request #1083. Retrieved from https:\/\/github.com\/DSpace\/DSpace\/pull\/1083."},{"key":"e_1_2_1_8_1","unstructured":"[n.d.]. DSpace\/DSpace Pull Request #324. Retrieved from https:\/\/github.com\/DSpace\/DSpace\/pull\/324.  [n.d.]. DSpace\/DSpace Pull Request #324. Retrieved from https:\/\/github.com\/DSpace\/DSpace\/pull\/324."},{"key":"e_1_2_1_9_1","unstructured":"[n.d.]. eclipse\/microprofile-fault-tolerance Pull Request #363. Retrieved from https:\/\/github.com\/eclipse\/microprofile-fault-tolerance\/pull\/363.  [n.d.]. eclipse\/microprofile-fault-tolerance Pull Request #363. Retrieved from https:\/\/github.com\/eclipse\/microprofile-fault-tolerance\/pull\/363."},{"key":"e_1_2_1_10_1","unstructured":"[n.d.]. google\/error-prone Pull Request #1071. Retrieved from https:\/\/github.com\/google\/error-prone\/pull\/1071.  [n.d.]. google\/error-prone Pull Request #1071. Retrieved from https:\/\/github.com\/google\/error-prone\/pull\/1071."},{"key":"e_1_2_1_11_1","unstructured":"[n.d.]. kiegroup\/optaplanner Pull Request #150. Retrieved from https:\/\/github.com\/kiegroup\/optaplanner\/pull\/150.  [n.d.]. kiegroup\/optaplanner Pull Request #150. Retrieved from https:\/\/github.com\/kiegroup\/optaplanner\/pull\/150."},{"key":"e_1_2_1_12_1","unstructured":"[n.d.]. minio\/minio-java Pull Request #238. Retrieved from https:\/\/github.com\/minio\/minio-java\/pull\/238.  [n.d.]. minio\/minio-java Pull Request #238. Retrieved from https:\/\/github.com\/minio\/minio-java\/pull\/238."},{"key":"e_1_2_1_13_1","unstructured":"[n.d.]. PMD Source Code Analyzer. Retrieved from http:\/\/pmd.sourceforge.net.  [n.d.]. PMD Source Code Analyzer. Retrieved from http:\/\/pmd.sourceforge.net."},{"key":"e_1_2_1_14_1","unstructured":"[n.d.]. samtools\/htsjdk Pull Request #1067. Retrieved from https:\/\/github.com\/samtools\/htsjdk\/pull\/1067.  [n.d.]. samtools\/htsjdk Pull Request #1067. Retrieved from https:\/\/github.com\/samtools\/htsjdk\/pull\/1067."},{"key":"e_1_2_1_15_1","unstructured":"[n.d.]. samtools\/htsjdk Pull Request #599. Retrieved from https:\/\/github.com\/samtools\/htsjdk\/pull\/599.  [n.d.]. samtools\/htsjdk Pull Request #599. Retrieved from https:\/\/github.com\/samtools\/htsjdk\/pull\/599."},{"key":"e_1_2_1_16_1","unstructured":"[n.d.]. spring-io\/sagan Pull Request #179. Retrieved from https:\/\/github.com\/spring-io\/sagan\/issues\/179.  [n.d.]. spring-io\/sagan Pull Request #179. Retrieved from https:\/\/github.com\/spring-io\/sagan\/issues\/179."},{"key":"e_1_2_1_17_1","unstructured":"[n.d.]. spring-io\/sagan Pull Request #317. Retrieved from https:\/\/github.com\/spring-io\/sagan\/pull\/317.  [n.d.]. spring-io\/sagan Pull Request #317. Retrieved from https:\/\/github.com\/spring-io\/sagan\/pull\/317."},{"key":"e_1_2_1_18_1","unstructured":"[n.d.]. spring-projects\/spring-amqp Pull Request #346. Retrieved from https:\/\/github.com\/spring-projects\/spring-amqp\/pull\/346.  [n.d.]. spring-projects\/spring-amqp Pull Request #346. Retrieved from https:\/\/github.com\/spring-projects\/spring-amqp\/pull\/346."},{"key":"e_1_2_1_19_1","unstructured":"[n.d.]. TeamAmaze\/AmazeFileManager Pull Request #1577. Retrieved from https:\/\/github.com\/TeamAmaze\/AmazeFileManager\/pull\/1577.  [n.d.]. TeamAmaze\/AmazeFileManager Pull Request #1577. Retrieved from https:\/\/github.com\/TeamAmaze\/AmazeFileManager\/pull\/1577."},{"key":"e_1_2_1_20_1","unstructured":"[n.d.]. zalando\/nakadi Pull Request #626. Retrieved from https:\/\/github.com\/zalando\/nakadi\/pull\/626.  [n.d.]. zalando\/nakadi Pull Request #626. Retrieved from https:\/\/github.com\/zalando\/nakadi\/pull\/626."},{"key":"e_1_2_1_21_1","unstructured":"[n.d.]. zalando\/nakadi\/ Pull Request #933. Retrieved from https:\/\/github.com\/zalando\/nakadi\/pull\/933.  [n.d.]. zalando\/nakadi\/ Pull Request #933. Retrieved from https:\/\/github.com\/zalando\/nakadi\/pull\/933."},{"key":"e_1_2_1_22_1","unstructured":"[n.d.]. zhcet-amu\/zhcet-web Pull Request #136. Retrieved from https:\/\/github.com\/zhcet-amu\/zhcet-web\/pull\/136.  [n.d.]. zhcet-amu\/zhcet-web Pull Request #136. Retrieved from https:\/\/github.com\/zhcet-amu\/zhcet-web\/pull\/136."},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the 2nd International Symposium on Information Theory.","author":"Akaike H.","year":"1973","unstructured":"H. Akaike . 1973 . Information theory and an extension of the maximum likelihood principle . In Proceedings of the 2nd International Symposium on Information Theory. H. Akaike. 1973. Information theory and an extension of the maximum likelihood principle. In Proceedings of the 2nd International Symposium on Information Theory."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635883"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/3290353"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2009.04.002"},{"key":"e_1_2_1_27_1","unstructured":"Anonymous. 2018. Replication Package. Retrieved from https:\/\/github.com\/replication-package\/why-refactoring.  Anonymous. 2018. Replication Package. Retrieved from https:\/\/github.com\/replication-package\/why-refactoring."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.1999.806964"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1463788.1463819"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2304696.2304704"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2013.28"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.18637\/jss.v067.i01"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337461"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2012.20"},{"key":"e_1_2_1_35_1","first-page":"1","article-title":"Automating extract class refactoring: An improved method and its evaluation","volume":"19","author":"Bavota Gabriele","year":"2013","unstructured":"Gabriele Bavota , Andrea De Lucia , Andrian Marcus , and Rocco Oliveto . 2013 . Automating extract class refactoring: An improved method and its evaluation . Empirical Software Engineering 19 , 6 (2013), 1 -- 48 . Gabriele Bavota, Andrea De Lucia, Andrian Marcus, and Rocco Oliveto. 2013. Automating extract class refactoring: An improved method and its evaluation. Empirical Software Engineering 19, 6 (2013), 1--48.","journal-title":"Empirical Software Engineering"},{"key":"e_1_2_1_36_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 . 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. 2014. Recommending refactoring operations in large software systems. In Recommendation Systems in Software Engineering. Springer, Berlin, 387--419."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606615"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-012-9226-8"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2015.05.024"},{"key":"e_1_2_1_40_1","volume-title":"Mowbray","author":"Brown William J.","year":"1998","unstructured":"William J. Brown , Raphael C. Malveau , William H. Brown , Hays W. McCormick III, and Thomas J . Mowbray . 1998 . Anti Patterns : Refactoring Software, Architectures, and Projects in Crisis (1st ed.). John Wiley 8 Sons. William J. Brown, Raphael C. Malveau, William H. Brown, Hays W. McCormick III, and Thomas J. Mowbray. 1998. Anti Patterns: Refactoring Software, Architectures, and Projects in Crisis (1st ed.). John Wiley 8 Sons."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2009.70"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-012-9214-z"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106259"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3131151.3131171"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2008.06.035"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.295895"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11219-011-9172-5"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/WPC.2005.14"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2011.1"},{"key":"e_1_2_1_50_1","volume-title":"Continuous Integration: Improving Software Quality and Reducing Risk","author":"Duvall Paul","year":"2007","unstructured":"Paul Duvall , Stephen M. Matyas , and Andrew Glover . 2007 . Continuous Integration: Improving Software Quality and Reducing Risk . Addison-Wesley Professional . Paul Duvall, Stephen M. Matyas, and Andrew Glover. 2007. Continuous Integration: Improving Software Quality and Reducing Risk. Addison-Wesley Professional."},{"key":"e_1_2_1_51_1","volume-title":"Proceedings of the 26th Conference on Program Comprehension (ICPC\u201918)","author":"Fakhoury Sarah","unstructured":"Sarah Fakhoury , Yuzhan Ma , Venera Arnaoudova , and Olusola O. Adesope . 2018. The effect of poor source code lexicon and readability on developers\u2019 cognitive load . In Proceedings of the 26th Conference on Program Comprehension (ICPC\u201918) . 286--296. Sarah Fakhoury, Yuzhan Ma, Venera Arnaoudova, and Olusola O. Adesope. 2018. The effect of poor source code lexicon and readability on developers\u2019 cognitive load. In Proceedings of the 26th Conference on Program Comprehension (ICPC\u201918). 286--296."},{"key":"e_1_2_1_52_1","volume-title":"Proceedings of the 19th International Conference on Software Maintenance (ICSM\u201903)","author":"Fischer Michael","unstructured":"Michael Fischer , Martin Pinzger , and Harald C. Gall . 2003. Populating a release history database from version control and bug tracking systems . In Proceedings of the 19th International Conference on Software Maintenance (ICSM\u201903) . 23. Michael Fischer, Martin Pinzger, and Harald C. Gall. 2003. Populating a release history database from version control and bug tracking systems. In Proceedings of the 19th International Conference on Software Maintenance (ICSM\u201903). 23."},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985989"},{"key":"e_1_2_1_54_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 , Boston, MA . Martin Fowler. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston, MA."},{"key":"e_1_2_1_55_1","volume-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler M.","year":"1999","unstructured":"M. Fowler , K. Beck , J. Brant , W. Opdyke , and D. Roberts . 1999 . Refactoring: Improving the Design of Existing Code . Addison-Wesley . M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley."},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2012.6405309"},{"key":"e_1_2_1_57_1","volume-title":"with contributions from Charles Dupont, et\u00a0al","author":"Harrell Frank E.","year":"2017","unstructured":"Frank E. Harrell Jr , with contributions from Charles Dupont, et\u00a0al . 2017 . Hmisc : Harrell Miscellaneous. R package version 4.0-3. Retrieved from https:\/\/CRAN.R-project.org\/package=Hmisc. Frank E. Harrell Jr, with contributions from Charles Dupont, et\u00a0al. 2017. Hmisc: Harrell Miscellaneous. R package version 4.0-3. Retrieved from https:\/\/CRAN.R-project.org\/package=Hmisc."},{"key":"e_1_2_1_58_1","first-page":"143","article-title":"Coupling and cohesion (towards a valid metrics suite for object-oriented analysis and design)","volume":"3","author":"Henderson-Sellers Brian","year":"1996","unstructured":"Brian Henderson-Sellers , Larry L. Constantine , and Ian M. Graham . 1996 . Coupling and cohesion (towards a valid metrics suite for object-oriented analysis and design) . Obj. Orient. Syst. 3 (1996), 143 -- 158 . Brian Henderson-Sellers, Larry L. Constantine, and Ian M. Graham. 1996. Coupling and cohesion (towards a valid metrics suite for object-oriented analysis and design). Obj. Orient. Syst. 3 (1996), 143--158.","journal-title":"Obj. Orient. Syst."},{"key":"e_1_2_1_59_1","volume-title":"Proceedings of the 2009 IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201909)","author":"Kawrykow David","unstructured":"David Kawrykow and Martin P. Robillard . 2009. Improving API usage through automatic detection of redundant code . In Proceedings of the 2009 IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201909) . 111--122. David Kawrykow and Martin P. Robillard. 2009. Improving API usage through automatic detection of redundant code. In Proceedings of the 2009 IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201909). 111--122."},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/2393596.2393655"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2014.2318734"},{"key":"e_1_2_1_62_1","volume-title":"Proceedings of the Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC\/FSE\u201907)","author":"Kim Sunghun","unstructured":"Sunghun Kim and Michael D. Ernst . 2007. Which warnings should I fix first? In Proceedings of the Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC\/FSE\u201907) . 45--54. Sunghun Kim and Michael D. Ernst. 2007. Which warnings should I fix first? In Proceedings of the Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC\/FSE\u201907). 45--54."},{"key":"e_1_2_1_63_1","volume-title":"Proceedings of the 29th International Conference on Software Engineering (ICSE\u201907)","author":"Kim Sunghun","unstructured":"Sunghun Kim , Thomas Zimmermann , E. James Whitehead Jr., and Andreas Zeller. 2007. Predicting faults from cached history . In Proceedings of the 29th International Conference on Software Engineering (ICSE\u201907) . 489--498. Sunghun Kim, Thomas Zimmermann, E. James Whitehead Jr., and Andreas Zeller. 2007. Predicting faults from cached history. In Proceedings of the 29th International Conference on Software Engineering (ICSE\u201907). 489--498."},{"key":"e_1_2_1_64_1","volume-title":"Proceedings of the IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering. 104--113","author":"Giri","unstructured":"Giri P. Krishnan and Nikolaos Tsantalis. 2014. Unification and refactoring of clones . In Proceedings of the IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering. 104--113 . Giri P. Krishnan and Nikolaos Tsantalis. 2014. Unification and refactoring of clones. In Proceedings of the IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering. 104--113."},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2006.10.017"},{"key":"e_1_2_1_66_1","volume-title":"Proceedings of the 2011 27th IEEE International Conference on Software Maintenance (ICSM\u201911)","author":"Lawrie D.","unstructured":"D. Lawrie and D. Binkley . 2011. Expanding identifiers to normalize source code vocabulary . In Proceedings of the 2011 27th IEEE International Conference on Software Maintenance (ICSM\u201911) . 113--122. D. Lawrie and D. Binkley. 2011. Expanding identifiers to normalize source code vocabulary. In Proceedings of the 2011 27th IEEE International Conference on Software Maintenance (ICSM\u201911). 113--122."},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2006.31"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2006.51"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11334-007-0031-2"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1023\/B:SQJO.0000039793.31052.72"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2017.17"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2019.8668012"},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.70732"},{"key":"e_1_2_1_74_1","volume-title":"Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM\u201905)","author":"Marcus A.","unstructured":"A. Marcus and D. Poshyvanyk . 2005. The conceptual cohesion of classes . In Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM\u201905) . IEEE, 133--142. A. Marcus and D. Poshyvanyk. 2005. The conceptual cohesion of classes. In Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM\u201905). IEEE, 133--142."},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2007.70768"},{"key":"e_1_2_1_76_1","unstructured":"John Micco. 2016. Flaky tests at google and how we mitigate them. Retrieved from https:\/\/testing.googleblog.com\/2016\/05\/flaky-tests-at-google-and-how-we.html.  John Micco. 2016. Flaky tests at google and how we mitigate them. Retrieved from https:\/\/testing.googleblog.com\/2016\/05\/flaky-tests-at-google-and-how-we.html."},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2009.50"},{"key":"e_1_2_1_78_1","volume-title":"Balancing Agility and Formalism in Software Engineering, Second IFIP TC 2 Central and East European Conference on Software Engineering Techniques (CEE-SET'07)","author":"Moser Raimund","year":"2007","unstructured":"Raimund Moser , Pekka Abrahamsson , Witold Pedrycz , Alberto Sillitti , and Giancarlo Succi . 2007. A case study on the impact of refactoring on quality and productivity in an Agile team . In Balancing Agility and Formalism in Software Engineering, Second IFIP TC 2 Central and East European Conference on Software Engineering Techniques (CEE-SET'07) , Poznan, Poland, October 10-12, 2007 , Revised Selected Papers . 252--266. Raimund Moser, Pekka Abrahamsson, Witold Pedrycz, Alberto Sillitti, and Giancarlo Succi. 2007. A case study on the impact of refactoring on quality and productivity in an Agile team. In Balancing Agility and Formalism in Software Engineering, Second IFIP TC 2 Central and East European Conference on Software Engineering Techniques (CEE-SET'07), Poznan, Poland, October 10-12, 2007, Revised Selected Papers. 252--266."},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1145\/1368088.1368114"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.41"},{"key":"e_1_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1109\/TEVC.2017.2691281"},{"key":"e_1_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-017-9535-z"},{"key":"e_1_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1016\/B978-0-12-800160-8.00004-8"},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/3196321.3196365"},{"key":"e_1_2_1_85_1","volume-title":"Proceedings of the 2nd International Workshop on Refactoring (IWoR\u201918)","author":"Peruma Anthony","unstructured":"Anthony Peruma , Mohamed Wiem Mkaouer , Michael J. Decker , and Christian D. Newman . 2018. An empirical investigation of how and why developers rename identifiers . In Proceedings of the 2nd International Workshop on Refactoring (IWoR\u201918) . 26--33. Anthony Peruma, Mohamed Wiem Mkaouer, Michael J. Decker, and Christian D. Newman. 2018. An empirical investigation of how and why developers rename identifiers. In Proceedings of the 2nd International Workshop on Refactoring (IWoR\u201918). 26--33."},{"key":"e_1_2_1_86_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2010.26"},{"key":"e_1_2_1_87_1","volume-title":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. 155--165","author":"Ray Baishakhi","unstructured":"Baishakhi Ray , Daryl Posnett , Vladimir Filkov , and Premkumar T. Devanbu . 2014. A large scale study of programming languages and code quality in github . In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. 155--165 . Baishakhi Ray, Daryl Posnett, Vladimir Filkov, and Premkumar T. Devanbu. 2014. A large scale study of programming languages and code quality in github. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. 155--165."},{"key":"e_1_2_1_88_1","volume-title":"Fundamentals of Biostatistics","author":"Rosner B.","unstructured":"B. Rosner . 2011. Fundamentals of Biostatistics ( 7 th ed.). Brooks\/Cole, Boston , MA. B. Rosner. 2011. Fundamentals of Biostatistics (7th ed.). Brooks\/Cole, Boston, MA.","edition":"7"},{"key":"e_1_2_1_89_1","volume-title":"Proceedings of the 12th IEEE International Workshop on Software Clones (IWSC\u201918)","author":"Roy Chanchal K.","unstructured":"Chanchal K. Roy . [n.d.]. Large scale clone detection, analysis, and benchmarking: An evolutionary perspective . In Proceedings of the 12th IEEE International Workshop on Software Clones (IWSC\u201918) . Chanchal K. Roy. [n.d.]. Large scale clone detection, analysis, and benchmarking: An evolutionary perspective. In Proceedings of the 12th IEEE International Workshop on Software Clones (IWSC\u201918)."},{"key":"e_1_2_1_90_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.1958"},{"key":"e_1_2_1_91_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950305"},{"key":"e_1_2_1_92_1","doi-asserted-by":"publisher","DOI":"10.1145\/1137983.1138014"},{"key":"e_1_2_1_93_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00110"},{"key":"e_1_2_1_94_1","volume-title":"Card Sorting: Designing Usable Categories. Rosenfeld Media.","author":"Spencer Donna","year":"2009","unstructured":"Donna Spencer . 2009 . Card Sorting: Designing Usable Categories. Rosenfeld Media. Donna Spencer. 2009. Card Sorting: Designing Usable Categories. Rosenfeld Media."},{"key":"e_1_2_1_95_1","doi-asserted-by":"publisher","DOI":"10.1109\/WOSQ.2007.11"},{"key":"e_1_2_1_96_1","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2014.18"},{"key":"e_1_2_1_97_1","first-page":"143","article-title":"The effects of comments and identifier names on program comprehensibility: An experiential study","volume":"4","author":"Takang Armstrong","year":"1996","unstructured":"Armstrong Takang , Penny Grubb , and Robert Macredie . 1996 . The effects of comments and identifier names on program comprehensibility: An experiential study . J. Program. Lang. 4 , 3 (1996), 143 -- 167 . Armstrong Takang, Penny Grubb, and Robert Macredie. 1996. The effects of comments and identifier names on program comprehensibility: An experiential study. J. Program. Lang. 4, 3 (1996), 143--167.","journal-title":"J. Program. Lang."},{"key":"e_1_2_1_98_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2009.1"},{"key":"e_1_2_1_99_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180206"},{"key":"e_1_2_1_100_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2017.14"},{"key":"e_1_2_1_101_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2653105"},{"key":"e_1_2_1_102_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00021"},{"key":"e_1_2_1_103_1","volume-title":"Proceedings of the 2nd International Conference on Extreme Programming and Flexible Processes in Software Engineering (XP\u201901)","author":"Deursen Arie Van","year":"2001","unstructured":"Arie Van Deursen , Leon Moonen , Alex Van Den Bergh , and Gerard Kok . 2001 . Refactoring test code . In Proceedings of the 2nd International Conference on Extreme Programming and Flexible Processes in Software Engineering (XP\u201901) . 92--95. Arie Van Deursen, Leon Moonen, Alex Van Den Bergh, and Gerard Kok. 2001. Refactoring test code. In Proceedings of the 2nd International Conference on Extreme Programming and Flexible Processes in Software Engineering (XP\u201901). 92--95."},{"key":"e_1_2_1_104_1","volume-title":"Comput","author":"Vassallo Carmine","year":"2019","unstructured":"Carmine Vassallo , Giovanni Grano , Fabio Palomba , Harald Gall , and Alberto Bacchelli . 2019. A large-scale empirical exploration on refactoring activities in open source software projects. Sci \u2019 Comput \u2019 Program\u2019 180, 1 ( 2019 ), 1--15. Carmine Vassallo, Giovanni Grano, Fabio Palomba, Harald Gall, and Alberto Bacchelli. 2019. A large-scale empirical exploration on refactoring activities in open source software projects. Sci\u2019 Comput\u2019 Program\u2019 180, 1 (2019), 1--15."},{"key":"e_1_2_1_105_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2009.5306290"},{"key":"e_1_2_1_106_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384634"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3408302","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3408302","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:39:02Z","timestamp":1750199942000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3408302"}},"subtitle":["A Mining-based Study"],"short-title":[],"issued":{"date-parts":[[2020,9,26]]},"references-count":106,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2020,10,31]]}},"alternative-id":["10.1145\/3408302"],"URL":"https:\/\/doi.org\/10.1145\/3408302","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,9,26]]},"assertion":[{"value":"2019-12-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-06-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-09-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}