{"id":"https://openalex.org/W4246638380","doi":"https://doi.org/10.1145/1108792.1108818","title":"Automatically generating refactorings to support API evolution","display_name":"Automatically generating refactorings to support API evolution","publication_year":2005,"publication_date":"2005-09-05","ids":{"openalex":"https://openalex.org/W4246638380","doi":"https://doi.org/10.1145/1108792.1108818"},"language":"en","primary_location":{"id":"doi:10.1145/1108792.1108818","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1108792.1108818","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and 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/A5001409333","display_name":"Jeff Perkins","orcid":null},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Jeff H. Perkins","raw_affiliation_strings":["Massachusetts Institute of Technology, Cambridge MA"],"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, Cambridge MA","institution_ids":["https://openalex.org/I63966007"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5001409333"],"corresponding_institution_ids":["https://openalex.org/I63966007"],"apc_list":null,"apc_paid":null,"fwci":2.5542,"has_fulltext":false,"cited_by_count":32,"citation_normalized_percentile":{"value":0.92749981,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"111","last_page":"114"},"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.9957000017166138,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9923999905586243,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.883045494556427},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.636641263961792},{"id":"https://openalex.org/keywords/forcing","display_name":"Forcing (mathematics)","score":0.5872220396995544},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5809513926506042},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.579188883304596},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.46647411584854126},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.16057685017585754}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.883045494556427},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.636641263961792},{"id":"https://openalex.org/C197115733","wikidata":"https://www.wikidata.org/wiki/Q1003136","display_name":"Forcing (mathematics)","level":2,"score":0.5872220396995544},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5809513926506042},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.579188883304596},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.46647411584854126},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.16057685017585754},{"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/C49204034","wikidata":"https://www.wikidata.org/wiki/Q52139","display_name":"Climatology","level":1,"score":0.0},{"id":"https://openalex.org/C127313418","wikidata":"https://www.wikidata.org/wiki/Q1069","display_name":"Geology","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1108792.1108818","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1108792.1108818","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.5600000023841858,"id":"https://metadata.un.org/sdg/4","display_name":"Quality Education"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":9,"referenced_works":["https://openalex.org/W159921751","https://openalex.org/W2060872161","https://openalex.org/W2081004173","https://openalex.org/W2112847033","https://openalex.org/W2171383742","https://openalex.org/W2787379525","https://openalex.org/W4230698403","https://openalex.org/W4252580020","https://openalex.org/W6683106902"],"related_works":["https://openalex.org/W2971214053","https://openalex.org/W2021517900","https://openalex.org/W2060606417","https://openalex.org/W2045623209","https://openalex.org/W152327667","https://openalex.org/W2243116742","https://openalex.org/W13367279","https://openalex.org/W4295805845","https://openalex.org/W3018757906","https://openalex.org/W1778269741"],"abstract_inverted_index":{"When":[0],"library":[1,99],"APIs":[2],"change,":[3],"client":[4,28],"code":[5,54],"should":[6],"change":[7,97],"in":[8,10,52,98,158],"response,":[9],"order":[11],"to":[12,59,64,71,74,120,133,154,155],"avoid":[13],"erroneous":[14],"behavior,":[15],"compilation":[16],"failures,":[17],"or":[18,118],"warnings.":[19],"Previous":[20],"research":[21],"has":[22,91],"introduced":[23],"techniques":[24],"for":[25],"generating":[26],"such":[27],"refactorings.":[29],"This":[30,89],"paper":[31],"improves":[32],"on":[33,146],"the":[34,53,85,141,163],"previous":[35],"work":[36],"by":[37,77],"proposing":[38],"a":[39,61,131,147],"novel,":[40],"lightweight":[41],"technique":[42],"that":[43,48],"takes":[44],"advantage":[45],"of":[46,84,127,143,149,162],"information":[47],"programmers":[49,103],"can":[50,136],"insert":[51],"rather":[55],"than":[56,160],"forcing":[57],"them":[58],"use":[60],"different":[62],"tool":[63,132],"re-express":[65],"it.":[66],"The":[67],"key":[68],"idea":[69],"is":[70],"replace":[72],"calls":[73],"deprecated":[75],"methods":[76],"their":[78],"bodies,":[79],"where":[80],"those":[81],"bodies":[82,107],"consist":[83],"appropriate":[86],"replacement":[87],"code.":[88],"approach":[90,145],"several":[92],"benefits.":[93],"It":[94,122],"requires":[95],"no":[96,115],"development":[100],"practice,":[101],"since":[102],"already":[104],"adjust":[105],"method":[106],"and/or":[108],"write":[109],"example":[110],"code,":[111],"and":[112,130,151],"there":[113],"are":[114],"new":[116,128],"tools":[117],"languages":[119],"learn.":[121],"does":[123],"not":[124],"require":[125],"distribution":[126],"artifacts,":[129],"apply":[134],"it":[135,153],"be":[137,156],"lightweight.":[138],"We":[139],"evaluated":[140],"applicability":[142],"our":[144],"number":[148],"libraries":[150],"found":[152],"applicable":[157],"more":[159],"75%":[161],"cases.":[164]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":3}],"updated_date":"2026-03-20T23:20:44.827607","created_date":"2025-10-10T00:00:00"}
