{"id":"https://openalex.org/W2136658872","doi":"https://doi.org/10.1145/1368088.1368147","title":"Systematically refactoring inheritance to delegation in java","display_name":"Systematically refactoring inheritance to delegation in java","publication_year":2008,"publication_date":"2008-05-10","ids":{"openalex":"https://openalex.org/W2136658872","doi":"https://doi.org/10.1145/1368088.1368147","mag":"2136658872"},"language":"en","primary_location":{"id":"doi:10.1145/1368088.1368147","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1368088.1368147","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th international conference on Software engineering","raw_type":"proceedings-article"},"type":"article","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/A5026095493","display_name":"Hannes Kegel","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Hannes Kegel","raw_affiliation_strings":["ej-technologies GmbH, M\u00fcnchen, Germany"],"affiliations":[{"raw_affiliation_string":"ej-technologies GmbH, M\u00fcnchen, Germany","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5004979548","display_name":"Friedrich Steimann","orcid":"https://orcid.org/0000-0002-8887-134X"},"institutions":[{"id":"https://openalex.org/I120691247","display_name":"FernUniversit\u00e4t in Hagen","ror":"https://ror.org/04tkkr536","country_code":"DE","type":"education","lineage":["https://openalex.org/I120691247"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Friedrich Steimann","raw_affiliation_strings":["Fernuniversit\u00e4t in Hagen, Hagen, Germany","Lehrgebiet Programmiersysteme, Fernuniversitat in Hagen, Hagen"],"affiliations":[{"raw_affiliation_string":"Fernuniversit\u00e4t in Hagen, Hagen, Germany","institution_ids":["https://openalex.org/I120691247"]},{"raw_affiliation_string":"Lehrgebiet Programmiersysteme, Fernuniversitat in Hagen, Hagen","institution_ids":["https://openalex.org/I120691247"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5026095493"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":19.2451,"has_fulltext":false,"cited_by_count":56,"citation_normalized_percentile":{"value":0.99087542,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"431","last_page":"440"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9997000098228455,"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.9997000098228455,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9925000071525574,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9898999929428101,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.992322564125061},{"id":"https://openalex.org/keywords/delegation","display_name":"Delegation","score":0.8112725019454956},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7679851055145264},{"id":"https://openalex.org/keywords/inheritance","display_name":"Inheritance (genetic algorithm)","score":0.751908540725708},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6925749778747559},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5939667224884033},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5177401900291443},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.453371524810791},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.4205071032047272},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3359418213367462},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.17307284474372864},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.1371130645275116}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.992322564125061},{"id":"https://openalex.org/C86532276","wikidata":"https://www.wikidata.org/wiki/Q1184065","display_name":"Delegation","level":2,"score":0.8112725019454956},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7679851055145264},{"id":"https://openalex.org/C2780902518","wikidata":"https://www.wikidata.org/wiki/Q6033780","display_name":"Inheritance (genetic algorithm)","level":3,"score":0.751908540725708},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6925749778747559},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5939667224884033},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5177401900291443},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.453371524810791},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.4205071032047272},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3359418213367462},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.17307284474372864},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.1371130645275116},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1368088.1368147","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1368088.1368147","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 30th international conference 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/W41699526","https://openalex.org/W50561030","https://openalex.org/W65266040","https://openalex.org/W82297181","https://openalex.org/W1487664366","https://openalex.org/W1542113050","https://openalex.org/W1545985476","https://openalex.org/W1557561422","https://openalex.org/W1599881564","https://openalex.org/W1644882639","https://openalex.org/W1649645444","https://openalex.org/W1847665756","https://openalex.org/W1985757471","https://openalex.org/W2000952465","https://openalex.org/W2017167760","https://openalex.org/W2024397934","https://openalex.org/W2043493366","https://openalex.org/W2045723688","https://openalex.org/W2057632882","https://openalex.org/W2067872353","https://openalex.org/W2096012235","https://openalex.org/W2109859526","https://openalex.org/W2111898165","https://openalex.org/W2115680394","https://openalex.org/W2115694885","https://openalex.org/W2131890917","https://openalex.org/W2132055297","https://openalex.org/W2134856711","https://openalex.org/W2153887189","https://openalex.org/W2171351846","https://openalex.org/W2893362518","https://openalex.org/W4235702462","https://openalex.org/W4236937290"],"related_works":["https://openalex.org/W4313549863","https://openalex.org/W4231266416","https://openalex.org/W2395465245","https://openalex.org/W2072205733","https://openalex.org/W2101762871","https://openalex.org/W3176957927","https://openalex.org/W4296534969","https://openalex.org/W4312761314","https://openalex.org/W2043493366","https://openalex.org/W4242014666"],"abstract_inverted_index":{"Because":[0],"of":[1,5,10,30,79,99,107,110,114],"the":[2,8,17,35,73,80,108,111,135,140,146],"strong":[3],"coupling":[4],"classes":[6],"and":[7,22,76,82,113,137],"proliferation":[9],"unneeded":[11],"class":[12],"members":[13],"induced":[14],"by":[15],"inheritance,":[16],"suggestion":[18],"to":[19,40,96,117,133,138],"use":[20],"composition":[21],"delegation":[23,142],"instead":[24],"has":[25],"become":[26],"commonplace.":[27],"The":[28,122],"presentation":[29],"a":[31,44,47,84],"corresponding":[32],"refactoring":[33,56,112,123],"in":[34],"literature":[36],"may":[37],"lead":[38],"one":[39],"believe":[41],"that":[42,54,86,149],"such":[43],"transformation":[45],"is":[46,57],"straightforward":[48],"undertaking.":[49],"However,":[50],"closer":[51],"analysis":[52],"reveals":[53],"this":[55,94],"neither":[58],"always":[59],"possible,":[60],"nor":[61],"does":[62],"it":[63,89],"necessarily":[64],"achieve":[65],"its":[66,115,120],"desired":[67],"effect.":[68],"We":[69],"have":[70,104],"therefore":[71],"identified":[72],"necessary":[74,141],"preconditions":[75,136],"realizable":[77],"postconditions":[78],"refactoring,":[81],"built":[83],"tool":[85,95],"can":[87],"perform":[88],"completely":[90],"automatically.":[91],"By":[92],"applying":[93],"all":[97],"subclasses":[98],"several":[100],"open-source":[101],"projects,":[102],"we":[103],"collected":[105],"evidence":[106],"applicability":[109],"capability":[116],"deliver":[118],"on":[119,125],"promises.":[121],"builds":[124],"constraint":[126],"graphs":[127],"originally":[128],"developed":[129],"for":[130],"type":[131],"inference":[132],"check":[134],"compute":[139],"as":[143,145],"well":[144],"subtype":[147],"relationships":[148],"must":[150],"be":[151],"maintained.":[152]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":4},{"year":2013,"cited_by_count":5},{"year":2012,"cited_by_count":10}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
