{"id":"https://openalex.org/W2064920134","doi":"https://doi.org/10.1145/1858996.1859036","title":"Enumeration refactoring","display_name":"Enumeration refactoring","publication_year":2010,"publication_date":"2010-09-20","ids":{"openalex":"https://openalex.org/W2064920134","doi":"https://doi.org/10.1145/1858996.1859036","mag":"2064920134"},"language":"en","primary_location":{"id":"doi:10.1145/1858996.1859036","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1858996.1859036","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the IEEE/ACM international conference on Automated 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/A5084682434","display_name":"Raffi Khatchadourian","orcid":"https://orcid.org/0000-0002-7930-0182"},"institutions":[{"id":"https://openalex.org/I52357470","display_name":"The Ohio State University","ror":"https://ror.org/00rs6vg23","country_code":"US","type":"education","lineage":["https://openalex.org/I52357470"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Raffi Khatchadourian","raw_affiliation_strings":["Ohio State University, Columbus, OH, USA"],"affiliations":[{"raw_affiliation_string":"Ohio State University, Columbus, OH, USA","institution_ids":["https://openalex.org/I52357470"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5078812892","display_name":"Benjamin Muskalla","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Benjamin Muskalla","raw_affiliation_strings":["EclipseSource, Karlsruhe, Germany"],"affiliations":[{"raw_affiliation_string":"EclipseSource, Karlsruhe, Germany","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5084682434"],"corresponding_institution_ids":["https://openalex.org/I52357470"],"apc_list":null,"apc_paid":null,"fwci":0.6937,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.82672741,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"181","last_page":"182"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998000264167786,"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.9998000264167786,"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.9994000196456909,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9988999962806702,"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/code-refactoring","display_name":"Code refactoring","score":0.8726496696472168},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8465149402618408},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8128281831741333},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.7536572217941284},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.7325599193572998},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.7219400405883789},{"id":"https://openalex.org/keywords/eclipse","display_name":"Eclipse","score":0.5110377073287964},{"id":"https://openalex.org/keywords/generics-in-java","display_name":"Generics in Java","score":0.4540175199508667},{"id":"https://openalex.org/keywords/java-modeling-language","display_name":"Java Modeling Language","score":0.4315285086631775},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.35699617862701416},{"id":"https://openalex.org/keywords/real-time-java","display_name":"Real time Java","score":0.3109060525894165},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.1410573124885559}],"concepts":[{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.8726496696472168},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8465149402618408},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8128281831741333},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.7536572217941284},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7325599193572998},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.7219400405883789},{"id":"https://openalex.org/C2778505590","wikidata":"https://www.wikidata.org/wiki/Q141022","display_name":"Eclipse","level":2,"score":0.5110377073287964},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.4540175199508667},{"id":"https://openalex.org/C60945770","wikidata":"https://www.wikidata.org/wiki/Q2517517","display_name":"Java Modeling Language","level":5,"score":0.4315285086631775},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.35699617862701416},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.3109060525894165},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.1410573124885559},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C1276947","wikidata":"https://www.wikidata.org/wiki/Q333","display_name":"Astronomy","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1858996.1859036","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1858996.1859036","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the IEEE/ACM international conference on Automated 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":17,"referenced_works":["https://openalex.org/W1498770298","https://openalex.org/W1545985476","https://openalex.org/W1549891226","https://openalex.org/W1557561422","https://openalex.org/W1574234259","https://openalex.org/W1863566242","https://openalex.org/W1966439887","https://openalex.org/W2039906702","https://openalex.org/W2107521173","https://openalex.org/W2112481005","https://openalex.org/W2115694885","https://openalex.org/W2120695061","https://openalex.org/W2153887189","https://openalex.org/W2787379525","https://openalex.org/W6632894348","https://openalex.org/W6633355477","https://openalex.org/W6683106902"],"related_works":["https://openalex.org/W2541866089","https://openalex.org/W2547095320","https://openalex.org/W1572758480","https://openalex.org/W1519944186","https://openalex.org/W1974508891","https://openalex.org/W3172992491","https://openalex.org/W2181544444","https://openalex.org/W2365754790","https://openalex.org/W4210979912","https://openalex.org/W321450354"],"abstract_inverted_index":{"Java":[0,12,28,76],"5":[1],"introduces":[2],"several":[3,51],"new":[4,17,81],"features":[5],"that":[6,89],"offer":[7],"significant":[8],"improvements":[9],"over":[10],"older":[11],"technology.":[13],"We":[14,62],"consider":[15],"the":[16,39,56,80,91,97,100,121],"enum":[18,57],"construct,":[19,58],"which":[20],"provides":[21],"language":[22],"support":[23,111],"for":[24,38,73],"enumerated":[25,42,94],"types.":[26],"Before":[27],"5,":[29],"programmers":[30],"needed":[31],"to":[32,36,71,78,108,120,126],"employ":[33],"various":[34],"patterns":[35,49],"compensate":[37],"absence":[40],"of":[41,55,93],"types":[43],"in":[44,112],"Java.":[45],"Unfortunately,":[46],"these":[47],"compensation":[48],"lack":[50],"highly":[52],"desirable":[53],"properties":[54],"most":[59],"notably,":[60],"type-safety.":[61],"demonstrate":[63],"an":[64],"automated":[65],"refactoring":[66,110],"tool":[67,101],"called":[68],"Convert":[69],"Constants":[70],"Enum":[72],"transforming":[74],"legacy":[75],"code":[77,116],"use":[79],"enumeration":[82],"construct.":[83],"An":[84],"interprocedural":[85],"type":[86],"inferencing":[87],"algorithm":[88],"tracks":[90],"flow":[92],"values":[95],"drives":[96],"approach,":[98],"and":[99,130],"is":[102,117],"implemented":[103],"as":[104],"a":[105],"seamless":[106],"extension":[107],"existing":[109],"Eclipse.":[113],"The":[114],"resulting":[115],"semantically":[118],"equivalent":[119],"original,":[122],"increasingly":[123],"type-safe,":[124],"easier":[125],"comprehend,":[127],"less":[128],"complex,":[129],"supports":[131],"separate":[132],"compilation.":[133]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
