{"id":"https://openalex.org/W2115588821","doi":"https://doi.org/10.1145/2048066.2048078","title":"Tool-supported refactoring for JavaScript","display_name":"Tool-supported refactoring for JavaScript","publication_year":2011,"publication_date":"2011-10-22","ids":{"openalex":"https://openalex.org/W2115588821","doi":"https://doi.org/10.1145/2048066.2048078","mag":"2115588821"},"language":"en","primary_location":{"id":"doi:10.1145/2048066.2048078","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2048066.2048078","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications","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/A5034831396","display_name":"Asger Feldthaus","orcid":null},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Asger Feldthaus","raw_affiliation_strings":["Aarhus University, Aarhus, Denmark","Aarhus University, Aarhus , Denmark"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Aarhus University, Aarhus, Denmark","institution_ids":["https://openalex.org/I204337017"]},{"raw_affiliation_string":"Aarhus University, Aarhus , Denmark","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5014067492","display_name":"Todd Millstein","orcid":"https://orcid.org/0000-0002-2031-1514"},"institutions":[{"id":"https://openalex.org/I161318765","display_name":"University of California, Los Angeles","ror":"https://ror.org/046rm7j60","country_code":"US","type":"education","lineage":["https://openalex.org/I161318765"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Todd Millstein","raw_affiliation_strings":["University of California, Los Angeles, Los Angeles, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California, Los Angeles, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I161318765"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5103189175","display_name":"Anders M\u00f8ller","orcid":"https://orcid.org/0000-0003-1333-2314"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Anders M\u00f8ller","raw_affiliation_strings":["Aarhus University, Aarhus, Denmark","Aarhus University, Aarhus , Denmark"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Aarhus University, Aarhus, Denmark","institution_ids":["https://openalex.org/I204337017"]},{"raw_affiliation_string":"Aarhus University, Aarhus , Denmark","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5108554298","display_name":"Max Sch\u00e4fer","orcid":null},"institutions":[{"id":"https://openalex.org/I40120149","display_name":"University of Oxford","ror":"https://ror.org/052gg0110","country_code":"GB","type":"education","lineage":["https://openalex.org/I40120149"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Max Sch\u00e4fer","raw_affiliation_strings":["University of Oxford, Oxford, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Oxford, Oxford, United Kingdom","institution_ids":["https://openalex.org/I40120149"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5087594876","display_name":"Frank Tip","orcid":"https://orcid.org/0000-0002-1862-3498"},"institutions":[{"id":"https://openalex.org/I1341412227","display_name":"IBM (United States)","ror":"https://ror.org/05hh8d621","country_code":"US","type":"company","lineage":["https://openalex.org/I1341412227"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Frank Tip","raw_affiliation_strings":["IBM Research, Hawthorne, NY, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Research, Hawthorne, NY, USA","institution_ids":["https://openalex.org/I1341412227"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":5.2114,"has_fulltext":false,"cited_by_count":55,"citation_normalized_percentile":{"value":0.96130395,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"119","last_page":"138"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9994999766349792,"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.9994999766349792,"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/T12479","display_name":"Web Application Security Vulnerabilities","score":0.9988999962806702,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9977999925613403,"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.9750747680664062},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.8841908574104309},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8456469774246216},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8403427600860596},{"id":"https://openalex.org/keywords/unobtrusive-javascript","display_name":"Unobtrusive JavaScript","score":0.7041193842887878},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6457822918891907},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5570611357688904},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4926653504371643},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.47487208247184753},{"id":"https://openalex.org/keywords/rich-internet-application","display_name":"Rich Internet application","score":0.42111003398895264},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.152311772108078},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1278364360332489}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.9750747680664062},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.8841908574104309},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8456469774246216},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8403427600860596},{"id":"https://openalex.org/C198240166","wikidata":"https://www.wikidata.org/wiki/Q2298909","display_name":"Unobtrusive JavaScript","level":4,"score":0.7041193842887878},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6457822918891907},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5570611357688904},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4926653504371643},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.47487208247184753},{"id":"https://openalex.org/C103048170","wikidata":"https://www.wikidata.org/wiki/Q725485","display_name":"Rich Internet application","level":3,"score":0.42111003398895264},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.152311772108078},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1278364360332489}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/2048066.2048078","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2048066.2048078","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.227.7015","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.227.7015","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.brics.dk/%7Eamoeller/papers/jsrefactor/notes.pdf","raw_type":"text"},{"id":"pmh:oai:pure.atira.dk:publications/0085b16a-b05a-424a-b78e-3a3c470a940b","is_oa":false,"landing_page_url":"https://pure.au.dk/portal/en/publications/0085b16a-b05a-424a-b78e-3a3c470a940b","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Feldthaus, A, Millstein, T, M\u00f8ller, A, Sch\u00e4fer, M & Tip, F 2011, Tool-supported Refactoring for JavaScript. in Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications . Association for Computing Machinery, pp. 119-138, 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications. OOPSLA '11, Portland, Oregon, United States, 22/10/2011. https://doi.org/10.1145/2048066.2048078","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":25,"referenced_works":["https://openalex.org/W202191487","https://openalex.org/W1487664366","https://openalex.org/W1493688518","https://openalex.org/W1521332670","https://openalex.org/W1544629082","https://openalex.org/W1758438229","https://openalex.org/W1839269954","https://openalex.org/W1847665756","https://openalex.org/W1965995882","https://openalex.org/W1996710532","https://openalex.org/W2048639238","https://openalex.org/W2087567537","https://openalex.org/W2094568767","https://openalex.org/W2109783046","https://openalex.org/W2129345992","https://openalex.org/W2132733485","https://openalex.org/W2148305550","https://openalex.org/W2153887189","https://openalex.org/W2155735696","https://openalex.org/W2160231989","https://openalex.org/W2162671156","https://openalex.org/W2172168118","https://openalex.org/W6629007499","https://openalex.org/W6629538277","https://openalex.org/W6683106902"],"related_works":["https://openalex.org/W650647575","https://openalex.org/W597036300","https://openalex.org/W2477981260","https://openalex.org/W36303035","https://openalex.org/W2617623045","https://openalex.org/W4231812305","https://openalex.org/W2505509890","https://openalex.org/W827014118","https://openalex.org/W2500345013","https://openalex.org/W2739095887"],"abstract_inverted_index":{"Refactoring":[0,70],"is":[1,42,68,148],"a":[2,24,92,135,139],"popular":[3],"technique":[4],"for":[5,35,76,94,113,150,155],"improving":[6],"the":[7,49],"structure":[8],"of":[9,27,86,126,141],"existing":[10,54,142],"programs":[11],"while":[12],"maintaining":[13],"their":[14,40],"behavior.":[15],"For":[16,48],"statically":[17,77],"typed":[18,78],"programming":[19,51],"languages":[20,79],"such":[21],"as":[22],"Java,":[23],"wide":[25],"variety":[26],"refactorings":[28,37,99,107],"have":[29,73],"been":[30,74],"described,":[31],"and":[32,38,60,96,116],"tool":[33],"support":[34],"performing":[36],"ensuring":[39],"correctness":[41],"widely":[43],"available":[44],"in":[45,124],"modern":[46],"IDEs.":[47],"JavaScript":[50,84,98,114],"language,":[52],"however,":[53],"refactoring":[55,153],"tools":[56,154],"are":[57,80],"less":[58],"mature":[59],"often":[61],"unable":[62],"to":[63,83],"ensure":[64],"that":[65,72,145],"program":[66],"behavior":[67],"preserved.":[69],"algorithms":[71],"developed":[75],"not":[81],"applicable":[82],"because":[85],"its":[87],"dynamic":[88],"nature.":[89],"We":[90,104],"propose":[91],"framework":[93],"specifying":[95],"implementing":[97],"based":[100],"on":[101,138],"pointer":[102],"analysis.":[103],"describe":[105],"novel":[106],"motivated":[108],"by":[109,129],"best":[110],"practice":[111],"recommendations":[112],"programming,":[115],"demonstrate":[117],"how":[118],"they":[119],"can":[120],"be":[121],"described":[122],"concisely":[123],"terms":[125],"queries":[127],"provided":[128],"our":[130,146],"framework.":[131],"Experiments":[132],"performed":[133],"with":[134],"prototype":[136],"implementation":[137],"suite":[140],"applications":[143],"show":[144],"approach":[147],"well-suited":[149],"developing":[151],"practical":[152],"JavaScript.":[156]},"counts_by_year":[{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":8},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":4},{"year":2015,"cited_by_count":8},{"year":2014,"cited_by_count":4},{"year":2013,"cited_by_count":9},{"year":2012,"cited_by_count":8}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
