{"id":"https://openalex.org/W2476494490","doi":"https://doi.org/10.1145/2950290.2950305","title":"Why we refactor? confessions of GitHub contributors","display_name":"Why we refactor? confessions of GitHub contributors","publication_year":2016,"publication_date":"2016-11-01","ids":{"openalex":"https://openalex.org/W2476494490","doi":"https://doi.org/10.1145/2950290.2950305","mag":"2476494490"},"language":"en","primary_location":{"id":"doi:10.1145/2950290.2950305","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2950290.2950305","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering","raw_type":"proceedings-article"},"type":"preprint","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/1607.02459","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5101822967","display_name":"Danilo Silva","orcid":"https://orcid.org/0000-0003-1782-2185"},"institutions":[{"id":"https://openalex.org/I110200422","display_name":"Universidade Federal de Minas Gerais","ror":"https://ror.org/0176yjw32","country_code":"BR","type":"education","lineage":["https://openalex.org/I110200422"]}],"countries":["BR"],"is_corresponding":true,"raw_author_name":"Danilo Silva","raw_affiliation_strings":["Federal University of Minas Gerais, Brazil"],"affiliations":[{"raw_affiliation_string":"Federal University of Minas Gerais, Brazil","institution_ids":["https://openalex.org/I110200422"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5088438387","display_name":"Nikolaos Tsantalis","orcid":"https://orcid.org/0000-0003-2508-3845"},"institutions":[{"id":"https://openalex.org/I60158472","display_name":"Concordia University","ror":"https://ror.org/0420zvk78","country_code":"CA","type":"education","lineage":["https://openalex.org/I60158472"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Nikolaos Tsantalis","raw_affiliation_strings":["Concordia University, Canada"],"affiliations":[{"raw_affiliation_string":"Concordia University, Canada","institution_ids":["https://openalex.org/I60158472"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5100703246","display_name":"Marco T\u00falio Valente","orcid":"https://orcid.org/0000-0002-8180-7548"},"institutions":[{"id":"https://openalex.org/I110200422","display_name":"Universidade Federal de Minas Gerais","ror":"https://ror.org/0176yjw32","country_code":"BR","type":"education","lineage":["https://openalex.org/I110200422"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Marco Tulio Valente","raw_affiliation_strings":["Federal University of Minas Gerais, Brazil"],"affiliations":[{"raw_affiliation_string":"Federal University of Minas Gerais, Brazil","institution_ids":["https://openalex.org/I110200422"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5101822967"],"corresponding_institution_ids":["https://openalex.org/I110200422"],"apc_list":null,"apc_paid":null,"fwci":51.101,"has_fulltext":false,"cited_by_count":277,"citation_normalized_percentile":{"value":0.99852844,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"858","last_page":"870"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9939000010490417,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10430","display_name":"Software Engineering Techniques and Practices","score":0.9933000206947327,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.9978820085525513},{"id":"https://openalex.org/keywords/maintainability","display_name":"Maintainability","score":0.8366881608963013},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7260746359825134},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6739898920059204},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5768325328826904},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5404025912284851},{"id":"https://openalex.org/keywords/software-maintenance","display_name":"Software maintenance","score":0.5388474464416504},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5069987773895264},{"id":"https://openalex.org/keywords/readability","display_name":"Readability","score":0.4937680661678314},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.2786417603492737},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.20800352096557617}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.9978820085525513},{"id":"https://openalex.org/C160713754","wikidata":"https://www.wikidata.org/wiki/Q1389965","display_name":"Maintainability","level":2,"score":0.8366881608963013},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7260746359825134},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6739898920059204},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5768325328826904},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5404025912284851},{"id":"https://openalex.org/C101317890","wikidata":"https://www.wikidata.org/wiki/Q940053","display_name":"Software maintenance","level":4,"score":0.5388474464416504},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5069987773895264},{"id":"https://openalex.org/C2778143727","wikidata":"https://www.wikidata.org/wiki/Q1820650","display_name":"Readability","level":2,"score":0.4937680661678314},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.2786417603492737},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.20800352096557617},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2950290.2950305","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2950290.2950305","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering","raw_type":"proceedings-article"},{"id":"pmh:oai:arXiv.org:1607.02459","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1607.02459","pdf_url":"https://arxiv.org/pdf/1607.02459","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:1607.02459","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1607.02459","pdf_url":"https://arxiv.org/pdf/1607.02459","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":44,"referenced_works":["https://openalex.org/W36290627","https://openalex.org/W154166809","https://openalex.org/W191168329","https://openalex.org/W1493688518","https://openalex.org/W1539495021","https://openalex.org/W1964731418","https://openalex.org/W1969191237","https://openalex.org/W1969939902","https://openalex.org/W1976019354","https://openalex.org/W1988814756","https://openalex.org/W1998265754","https://openalex.org/W2007504957","https://openalex.org/W2013619645","https://openalex.org/W2021680759","https://openalex.org/W2029348203","https://openalex.org/W2040867412","https://openalex.org/W2041703907","https://openalex.org/W2042204882","https://openalex.org/W2046276611","https://openalex.org/W2062973095","https://openalex.org/W2066455950","https://openalex.org/W2073398506","https://openalex.org/W2087305857","https://openalex.org/W2089910927","https://openalex.org/W2097227214","https://openalex.org/W2099194364","https://openalex.org/W2101720091","https://openalex.org/W2111051240","https://openalex.org/W2112533109","https://openalex.org/W2113157806","https://openalex.org/W2127833339","https://openalex.org/W2145700761","https://openalex.org/W2149672479","https://openalex.org/W2150230300","https://openalex.org/W2153111806","https://openalex.org/W2153887189","https://openalex.org/W2156448859","https://openalex.org/W2159157551","https://openalex.org/W2159725273","https://openalex.org/W2162424272","https://openalex.org/W2166993820","https://openalex.org/W2171383742","https://openalex.org/W6629538277","https://openalex.org/W6683106902"],"related_works":["https://openalex.org/W2146134503","https://openalex.org/W2026866620","https://openalex.org/W2512989791","https://openalex.org/W1979226027","https://openalex.org/W2186150085","https://openalex.org/W2069073539","https://openalex.org/W2010680342","https://openalex.org/W1985559452","https://openalex.org/W4385255161","https://openalex.org/W1966036917"],"abstract_inverted_index":{"Refactoring":[0],"is":[1,19,94,110],"a":[2,20,78],"widespread":[3],"practice":[4],"that":[5,91,124],"helps":[6],"developers":[7,56,130],"to":[8,48,57,64],"improve":[9],"the":[10,27,55,59,66,73,100,111,125,129,132],"maintainability":[11],"and":[12,53,102],"readability":[13],"of":[14,23,80,134],"their":[15,62],"code.":[16,67],"However,":[17],"there":[18],"limited":[21],"number":[22],"studies":[24],"empirically":[25],"investigating":[26],"actual":[28],"motivations":[29,83],"behind":[30,61],"specific":[31],"refactoring":[32,87,92,114,136],"operations":[33],"applied":[34,51],"by":[35,97,105,128],"developers.":[36],"To":[37],"fill":[38],"this":[39],"gap,":[40],"we":[41,76,121],"monitored":[42],"Java":[43],"projects":[44],"hosted":[45],"on":[46,72],"GitHub":[47],"detect":[49],"recently":[50],"refactorings,":[52],"asked":[54],"explain":[58],"reasons":[60],"decision":[63],"refactor":[65],"By":[68],"applying":[69],"thematic":[70],"analysis":[71],"collected":[74],"responses,":[75],"compiled":[77],"catalogue":[79],"44":[81],"distinct":[82],"for":[84],"12":[85],"well-known":[86],"types.":[88],"We":[89],"found":[90,122],"activity":[93],"mainly":[95],"driven":[96],"changes":[98],"in":[99],"requirements":[101],"much":[103],"less":[104],"code":[106],"smells.":[107],"Extract":[108],"Method":[109],"most":[112],"versatile":[113],"operation":[115],"serving":[116],"11":[117],"different":[118],"purposes.":[119],"Finally,":[120],"evidence":[123],"IDE":[126],"used":[127],"affects":[131],"adoption":[133],"automated":[135],"tools.":[137]},"counts_by_year":[{"year":2026,"cited_by_count":3},{"year":2025,"cited_by_count":31},{"year":2024,"cited_by_count":25},{"year":2023,"cited_by_count":37},{"year":2022,"cited_by_count":36},{"year":2021,"cited_by_count":36},{"year":2020,"cited_by_count":35},{"year":2019,"cited_by_count":22},{"year":2018,"cited_by_count":31},{"year":2017,"cited_by_count":20},{"year":2016,"cited_by_count":1}],"updated_date":"2026-04-13T07:58:08.660418","created_date":"2025-10-10T00:00:00"}
