{"id":"https://openalex.org/W3115607952","doi":"https://doi.org/10.1145/3422392.3422423","title":"Recommending Composite Refactorings for Smell Removal","display_name":"Recommending Composite Refactorings for Smell Removal","publication_year":2020,"publication_date":"2020-10-21","ids":{"openalex":"https://openalex.org/W3115607952","doi":"https://doi.org/10.1145/3422392.3422423","mag":"3115607952"},"language":"en","primary_location":{"id":"doi:10.1145/3422392.3422423","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3422392.3422423","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the XXXIV Brazilian Symposium on Software Engineering","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5024116315","display_name":"Willian Oizumi","orcid":"https://orcid.org/0000-0002-8956-5272"},"institutions":[{"id":"https://openalex.org/I2699952","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro","ror":"https://ror.org/01dg47b60","country_code":"BR","type":"education","lineage":["https://openalex.org/I2699952"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Willian Oizumi","raw_affiliation_strings":["PUC-Rio, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"PUC-Rio, Brazil","institution_ids":["https://openalex.org/I2699952"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5019724624","display_name":"Ana Carla Bibiano","orcid":"https://orcid.org/0000-0003-3730-9290"},"institutions":[{"id":"https://openalex.org/I2699952","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro","ror":"https://ror.org/01dg47b60","country_code":"BR","type":"education","lineage":["https://openalex.org/I2699952"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Ana C. Bibiano","raw_affiliation_strings":["PUC-Rio, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"PUC-Rio, Brazil","institution_ids":["https://openalex.org/I2699952"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027260014","display_name":"Diego Cedrim","orcid":null},"institutions":[{"id":"https://openalex.org/I4210098009","display_name":"Amazon Research Foundation","ror":"https://ror.org/00ssgrj25","country_code":"BR","type":"other","lineage":["https://openalex.org/I4210098009"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Diego Cedrim","raw_affiliation_strings":["Amazon, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Amazon, Brazil","institution_ids":["https://openalex.org/I4210098009"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5041090227","display_name":"Anderson Oliveira","orcid":"https://orcid.org/0000-0001-6720-6394"},"institutions":[{"id":"https://openalex.org/I2699952","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro","ror":"https://ror.org/01dg47b60","country_code":"BR","type":"education","lineage":["https://openalex.org/I2699952"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Anderson Oliveira","raw_affiliation_strings":["PUC-Rio, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"PUC-Rio, Brazil","institution_ids":["https://openalex.org/I2699952"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5103226106","display_name":"Leonardo Sousa","orcid":"https://orcid.org/0000-0003-0397-8277"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Leonardo Sousa","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5007792821","display_name":"Alessandro Garcia","orcid":"https://orcid.org/0000-0001-5788-5215"},"institutions":[{"id":"https://openalex.org/I2699952","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro","ror":"https://ror.org/01dg47b60","country_code":"BR","type":"education","lineage":["https://openalex.org/I2699952"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Alessandro Garcia","raw_affiliation_strings":["PUC-Rio, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"PUC-Rio, Brazil","institution_ids":["https://openalex.org/I2699952"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5086014975","display_name":"Daniel Oliveira","orcid":"https://orcid.org/0000-0002-1597-1622"},"institutions":[{"id":"https://openalex.org/I2699952","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro","ror":"https://ror.org/01dg47b60","country_code":"BR","type":"education","lineage":["https://openalex.org/I2699952"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Daniel Oliveira","raw_affiliation_strings":["PUC-Rio, Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"PUC-Rio, Brazil","institution_ids":["https://openalex.org/I2699952"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.3633,"has_fulltext":false,"cited_by_count":11,"citation_normalized_percentile":{"value":0.82840379,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"72","last_page":"81"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"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":0.9998999834060669,"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/T12423","display_name":"Software Reliability and Analysis Research","score":0.9958000183105469,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.9923999905586243,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.9660361409187317},{"id":"https://openalex.org/keywords/code-smell","display_name":"Code smell","score":0.9385033845901489},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.8281014561653137},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7284486293792725},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5565589070320129},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.5424668192863464},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.5340703129768372},{"id":"https://openalex.org/keywords/software-quality","display_name":"Software quality","score":0.5007994174957275},{"id":"https://openalex.org/keywords/software-maintenance","display_name":"Software maintenance","score":0.4889184534549713},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.4828956127166748},{"id":"https://openalex.org/keywords/software-evolution","display_name":"Software evolution","score":0.47877657413482666},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4638950824737549},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.46318957209587097},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.37881654500961304},{"id":"https://openalex.org/keywords/software-system","display_name":"Software system","score":0.3205331563949585},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.31248679757118225},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2691740393638611},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.2518216073513031},{"id":"https://openalex.org/keywords/software-construction","display_name":"Software construction","score":0.09538233280181885},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.0717986524105072}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.9660361409187317},{"id":"https://openalex.org/C133237599","wikidata":"https://www.wikidata.org/wiki/Q2295111","display_name":"Code smell","level":5,"score":0.9385033845901489},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.8281014561653137},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7284486293792725},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5565589070320129},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.5424668192863464},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.5340703129768372},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.5007994174957275},{"id":"https://openalex.org/C101317890","wikidata":"https://www.wikidata.org/wiki/Q940053","display_name":"Software maintenance","level":4,"score":0.4889184534549713},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.4828956127166748},{"id":"https://openalex.org/C202105479","wikidata":"https://www.wikidata.org/wiki/Q265013","display_name":"Software evolution","level":5,"score":0.47877657413482666},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4638950824737549},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.46318957209587097},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.37881654500961304},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.3205331563949585},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.31248679757118225},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2691740393638611},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.2518216073513031},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.09538233280181885},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.0717986524105072},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3422392.3422423","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3422392.3422423","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the XXXIV Brazilian Symposium on Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W1342665","https://openalex.org/W36290627","https://openalex.org/W65833265","https://openalex.org/W605593526","https://openalex.org/W1524601730","https://openalex.org/W1975790660","https://openalex.org/W1988254449","https://openalex.org/W2014216297","https://openalex.org/W2027203221","https://openalex.org/W2108086273","https://openalex.org/W2113157806","https://openalex.org/W2116805092","https://openalex.org/W2140504739","https://openalex.org/W2153887189","https://openalex.org/W2159725273","https://openalex.org/W2566214410","https://openalex.org/W2592568457","https://openalex.org/W2725758135","https://openalex.org/W2727592710","https://openalex.org/W2740981432","https://openalex.org/W2795027827","https://openalex.org/W2795868997","https://openalex.org/W2888396063","https://openalex.org/W2980897813","https://openalex.org/W2995603507","https://openalex.org/W3006458758","https://openalex.org/W3014446220","https://openalex.org/W3085541756","https://openalex.org/W3085581200","https://openalex.org/W3089663604","https://openalex.org/W3089863335","https://openalex.org/W3096443795","https://openalex.org/W4241437391"],"related_works":["https://openalex.org/W2088986462","https://openalex.org/W2780981476","https://openalex.org/W2955607951","https://openalex.org/W3166181464","https://openalex.org/W2187939805","https://openalex.org/W125071098","https://openalex.org/W2015418718","https://openalex.org/W2063955337","https://openalex.org/W2091064206","https://openalex.org/W1988254449"],"abstract_inverted_index":{"Structural":[0],"degradation":[1],"is":[2,18],"the":[3,24,39,56,118,165,216,254,258,269,274,286],"process":[4],"in":[5,38,137,177,191,249],"which":[6,64,131],"quality":[7],"attributes":[8],"of":[9,58,67,106,120,184,253,273,289],"a":[10,72,142,182,223],"system":[11],"are":[12,35,49,82,135,151,198],"negatively":[13],"impacted.":[14],"When":[15],"due":[16],"attention":[17],"not":[19,84,127,162],"paid":[20],"to":[21,31,171,188,200,262,268],"structural":[22,45],"degradation,":[23],"source":[25,40,156],"code":[26,41,59,114,203],"may":[27,43],"also":[28],"become":[29],"difficult":[30],"change.":[32],"Code":[33],"smells":[34,60],"recurring":[36],"structures":[37],"that":[42,96,150,240,266],"represent":[44],"degradation.":[46],"Hence,":[47],"there":[48],"many":[50],"catalogs":[51],"and":[52,211,233],"techniques":[53],"for":[54,86,112,285],"supporting":[55],"removal":[57,148,166],"through":[61,222],"refactoring":[62,133,275],"recommendations,":[63],"usually":[65],"consist":[66],"single":[68,80],"refactorings":[69,81,102,110],"such":[70,159],"as":[71],"Move":[73],"Method":[74],"or":[75,108,246,271],"an":[76],"Extract":[77],"Method.":[78],"However,":[79,158],"often":[83,99],"enough":[85],"completely":[87],"removing":[88,113],"certain":[89],"smell":[90,147,204],"occurrences.":[91],"Moreover,":[92],"recent":[93],"studies":[94,125],"show":[95],"developers":[97,170,190,232,241],"most":[98,124],"apply":[100,172],"composite":[101,122,132,174,194,291],"-":[103,111],"i.e.,":[104],"sequences":[105],"two":[107],"more":[109,250],"smells.":[115],"Despite":[116],"showing":[117],"importance":[119],"performing":[121],"refactorings,":[123],"do":[126],"provide":[128],"information":[129],"on":[130,278],"patterns":[134,149,167],"recurrent":[136],"practice.":[138],"In":[139,256],"this":[140,178],"context,":[141],"previous":[143],"study":[144,160],"identified":[145],"35":[146],"frequent":[152],"across":[153],"multiple":[154,264],"open":[155],"systems.":[157],"has":[161],"explored":[163],"how":[164],"could":[168],"help":[169,189],"effective":[173,193,245,248,287],"refactorings.":[175,195,292],"Thus,":[176],"work,":[179],"we":[180,218,281],"propose":[181],"suite":[183],"new":[185,283],"recommendation":[186,288],"heuristics":[187,197,244],"applying":[192],"These":[196],"intended":[199],"remove":[201],"three":[202],"types,":[205],"namely":[206],"Complex":[207],"Class,":[208],"Feature":[209],"Envy,":[210],"God":[212],"Class.":[213],"After":[214],"designing":[215],"heuristics,":[217],"evaluated":[219],"their":[220],"effectiveness":[221],"quasi-experiment.":[224],"This":[225],"evaluation":[226,259],"was":[227],"conducted":[228],"with":[229],"12":[230],"software":[231],"9":[234],"smelly":[235],"Java":[236],"classes.":[237],"Results":[238],"indicate":[239],"considered":[242],"our":[243],"partially":[247],"than":[251],"93%":[252],"cases.":[255],"addition,":[257],"helped":[260],"us":[261],"identify":[263],"factors":[265],"contribute":[267],"acceptance":[270],"rejection":[272],"recommendations.":[276],"Based":[277],"these":[279],"factors,":[280],"defined":[282],"guidelines":[284],"smell-removal":[290]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":1}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
