{"id":"https://openalex.org/W2063955337","doi":"https://doi.org/10.1145/1159733.1159777","title":"Common refactorings, a dependency graph and some code smells","display_name":"Common refactorings, a dependency graph and some code smells","publication_year":2006,"publication_date":"2006-09-21","ids":{"openalex":"https://openalex.org/W2063955337","doi":"https://doi.org/10.1145/1159733.1159777","mag":"2063955337"},"language":"en","primary_location":{"id":"doi:10.1145/1159733.1159777","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1159733.1159777","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2006 ACM/IEEE international symposium on Empirical 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/A5083706258","display_name":"Steve Counsell","orcid":"https://orcid.org/0000-0002-2939-8919"},"institutions":[{"id":"https://openalex.org/I59433898","display_name":"Brunel University of London","ror":"https://ror.org/00dn4t376","country_code":"GB","type":"education","lineage":["https://openalex.org/I124357947","https://openalex.org/I59433898"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"S. Counsell","raw_affiliation_strings":["Brunel University, Uxbridge, Middlesex"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Brunel University, Uxbridge, Middlesex","institution_ids":["https://openalex.org/I59433898"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5045796265","display_name":"Youssef Hassoun","orcid":null},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Y. Hassoun","raw_affiliation_strings":["Imperial College, London South Kensington","Imperial College London, South Kensington,"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Imperial College, London South Kensington","institution_ids":["https://openalex.org/I47508984"]},{"raw_affiliation_string":"Imperial College London, South Kensington,","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5024905226","display_name":"George Loizou","orcid":"https://orcid.org/0000-0002-9376-9243"},"institutions":[{"id":"https://openalex.org/I98259816","display_name":"Birkbeck, University of London","ror":"https://ror.org/02mb95055","country_code":"GB","type":"education","lineage":["https://openalex.org/I124357947","https://openalex.org/I98259816"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"G. Loizou","raw_affiliation_strings":["School of Information Sys. and Computing, Birkbeck, London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Information Sys. and Computing, Birkbeck, London","institution_ids":["https://openalex.org/I98259816"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5011825057","display_name":"Rajaa Najjar","orcid":null},"institutions":[{"id":"https://openalex.org/I98259816","display_name":"Birkbeck, University of London","ror":"https://ror.org/02mb95055","country_code":"GB","type":"education","lineage":["https://openalex.org/I124357947","https://openalex.org/I98259816"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"R. Najjar","raw_affiliation_strings":["School of Information Sys. and Computing, Birkbeck, London"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Information Sys. and Computing, Birkbeck, London","institution_ids":["https://openalex.org/I98259816"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.9305,"has_fulltext":false,"cited_by_count":42,"citation_normalized_percentile":{"value":0.86247723,"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":"288","last_page":"296"},"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/T10430","display_name":"Software Engineering Techniques and Practices","score":0.9973999857902527,"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/T11675","display_name":"Open Source Software Innovations","score":0.9958999752998352,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"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.9803318977355957},{"id":"https://openalex.org/keywords/code-smell","display_name":"Code smell","score":0.7777224779129028},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7149462699890137},{"id":"https://openalex.org/keywords/software-evolution","display_name":"Software evolution","score":0.6509053111076355},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.6085920333862305},{"id":"https://openalex.org/keywords/dependency","display_name":"Dependency (UML)","score":0.5891005992889404},{"id":"https://openalex.org/keywords/dependency-graph","display_name":"Dependency graph","score":0.545641303062439},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5363563299179077},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5227939486503601},{"id":"https://openalex.org/keywords/software-maintenance","display_name":"Software maintenance","score":0.48070937395095825},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.47927209734916687},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4557998776435852},{"id":"https://openalex.org/keywords/software-system","display_name":"Software system","score":0.4451088309288025},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.3784182667732239},{"id":"https://openalex.org/keywords/software-quality","display_name":"Software quality","score":0.37728947401046753},{"id":"https://openalex.org/keywords/software-construction","display_name":"Software construction","score":0.29412686824798584}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.9803318977355957},{"id":"https://openalex.org/C133237599","wikidata":"https://www.wikidata.org/wiki/Q2295111","display_name":"Code smell","level":5,"score":0.7777224779129028},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7149462699890137},{"id":"https://openalex.org/C202105479","wikidata":"https://www.wikidata.org/wiki/Q265013","display_name":"Software evolution","level":5,"score":0.6509053111076355},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.6085920333862305},{"id":"https://openalex.org/C19768560","wikidata":"https://www.wikidata.org/wiki/Q320727","display_name":"Dependency (UML)","level":2,"score":0.5891005992889404},{"id":"https://openalex.org/C16311509","wikidata":"https://www.wikidata.org/wiki/Q4148050","display_name":"Dependency graph","level":3,"score":0.545641303062439},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5363563299179077},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5227939486503601},{"id":"https://openalex.org/C101317890","wikidata":"https://www.wikidata.org/wiki/Q940053","display_name":"Software maintenance","level":4,"score":0.48070937395095825},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.47927209734916687},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4557998776435852},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.4451088309288025},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.3784182667732239},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.37728947401046753},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.29412686824798584}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1159733.1159777","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1159733.1159777","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2006 ACM/IEEE international symposium on Empirical 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":22,"referenced_works":["https://openalex.org/W41699526","https://openalex.org/W183490712","https://openalex.org/W1487664366","https://openalex.org/W1498770298","https://openalex.org/W1536247759","https://openalex.org/W1541347095","https://openalex.org/W1903826297","https://openalex.org/W1968283236","https://openalex.org/W2034929864","https://openalex.org/W2037736128","https://openalex.org/W2095894909","https://openalex.org/W2102096185","https://openalex.org/W2107294940","https://openalex.org/W2113628515","https://openalex.org/W2120972908","https://openalex.org/W2128780139","https://openalex.org/W2129581792","https://openalex.org/W2135400023","https://openalex.org/W2144777691","https://openalex.org/W2148711489","https://openalex.org/W2153887189","https://openalex.org/W2171383742"],"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/W2063955337","https://openalex.org/W2015418718","https://openalex.org/W2091064206","https://openalex.org/W1988254449"],"abstract_inverted_index":{"Refactoring,":[0],"as":[1],"a":[2,43,90,99,108,201,209],"software":[3,25,203],"engineering":[4,204],"discipline":[5],"has":[6],"emerged":[7],"over":[8],"recent":[9],"years":[10],"to":[11,21,27,48,73,94,133,157,219],"become":[12],"an":[13,37],"important":[14],"aspect":[15],"of":[16,24,39,64,86,92,120,159,196,207,217,228],"maintaining":[17],"software.":[18,229],"Refactoring":[19],"refers":[20],"the":[22,40,62,65,82,87,111,118,148,160,181],"restructuring":[23],"according":[26],"specific":[28],"mechanics":[29,63],"and":[30,50,68,75,102,125,128,188],"principles.":[31],"In":[32,58],"this":[33,145],"paper,":[34],"we":[35,60,140,169],"describe":[36],"analysis":[38],"results":[41,183],"from":[42,53],"tool":[44],"whose":[45],"purpose":[46],"was":[47],"identify":[49],"extract":[51],"refactorings":[52,72,85,113,130,155],"seven":[54],"open-source":[55,166,197,224],"Java":[56],"systems.":[57,167],"particular,":[59],"analyzed":[61],"most":[66,83],"commonly":[67,70],"least":[69],"applied":[71,136],"try":[74],"account":[76],"for":[77,143],"their":[78],"frequency.":[79],"Results":[80],"showed":[81],"common":[84,194],"fifteen":[88],"coined":[89],"'Gang":[91],"Six',":[93],"be":[95,147],"generally":[96],"those":[97],"with":[98],"high":[100],"in-degree":[101],"low":[103],"out-degree":[104],"when":[105],"mapped":[106],"on":[107,165,223],"dependency":[109],"graph;":[110],"same":[112],"also":[114],"featured":[115],"strongly":[116],"in":[117,178,213],"remedying":[119],"bad":[121],"code":[122],"smells.":[123],"Remarkably":[124],"surprisingly,":[126],"inheritance":[127],"encapsulationbased":[129],"were":[131],"found":[132],"have":[134],"been":[135],"relatively":[137],"infrequently":[138],"-":[139],"offer":[141],"explanations":[142],"why":[144],"may":[146],"case.":[149],"The":[150],"paper":[151],"thus":[152],"identifies":[153],"'core'":[154],"central":[156],"many":[158],"changes":[161],"made":[162],"by":[163],"developers":[164,174,220],"While":[168],"can":[170],"not":[171],"guarantee":[172],"that":[173,185],"consciously":[175],"undertake":[176],"refactoring":[177],"any":[179],"sense,":[180],"empirical":[182],"demonstrate":[184],"simple":[186],"renaming":[187],"moving":[189],"fields/methods":[190],"between":[191],"classes":[192],"are":[193],"components":[195],"system":[198],"re-engineering.":[199],"From":[200],"wider":[202],"perspective,":[205],"knowledge":[206],"what":[208],"modification":[210],"will":[211],"incur":[212],"likely":[214],"sub-tasks":[215],"is":[216],"value":[218],"whether":[221],"working":[222],"or":[225],"other":[226],"forms":[227]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":4},{"year":2014,"cited_by_count":5},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":5}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
