{"id":"https://openalex.org/W4403520116","doi":"https://doi.org/10.1145/3691620.3694985","title":"To Tag, or Not to Tag: Translating C's Unions to Rust's Tagged Unions","display_name":"To Tag, or Not to Tag: Translating C's Unions to Rust's Tagged Unions","publication_year":2024,"publication_date":"2024-10-18","ids":{"openalex":"https://openalex.org/W4403520116","doi":"https://doi.org/10.1145/3691620.3694985"},"language":"en","primary_location":{"id":"doi:10.1145/3691620.3694985","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3691620.3694985","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.1145/3691620.3694985","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5024932910","display_name":"Jaemin Hong","orcid":"https://orcid.org/0000-0003-4067-7369"},"institutions":[{"id":"https://openalex.org/I157485424","display_name":"Korea Advanced Institute of Science and Technology","ror":"https://ror.org/05apxxy63","country_code":"KR","type":"education","lineage":["https://openalex.org/I157485424"]}],"countries":["KR"],"is_corresponding":false,"raw_author_name":"Jaemin Hong","raw_affiliation_strings":["KAIST, Daejeon, Korea"],"raw_orcid":"https://orcid.org/0000-0003-4067-7369","affiliations":[{"raw_affiliation_string":"KAIST, Daejeon, Korea","institution_ids":["https://openalex.org/I157485424"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5087492388","display_name":"Sukyoung Ryu","orcid":"https://orcid.org/0000-0002-0019-9772"},"institutions":[{"id":"https://openalex.org/I157485424","display_name":"Korea Advanced Institute of Science and Technology","ror":"https://ror.org/05apxxy63","country_code":"KR","type":"education","lineage":["https://openalex.org/I157485424"]}],"countries":["KR"],"is_corresponding":false,"raw_author_name":"Sukyoung Ryu","raw_affiliation_strings":["KAIST, Daejeon, Korea"],"raw_orcid":"https://orcid.org/0000-0002-0019-9772","affiliations":[{"raw_affiliation_string":"KAIST, Daejeon, Korea","institution_ids":["https://openalex.org/I157485424"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I157485424"],"apc_list":null,"apc_paid":null,"fwci":19.815,"has_fulltext":false,"cited_by_count":9,"citation_normalized_percentile":{"value":0.9931423,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":98,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"40","last_page":"52"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10759","display_name":"Translation Studies and Practices","score":0.9057999849319458,"subfield":{"id":"https://openalex.org/subfields/1203","display_name":"Language and Linguistics"},"field":{"id":"https://openalex.org/fields/12","display_name":"Arts and Humanities"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},"topics":[{"id":"https://openalex.org/T10759","display_name":"Translation Studies and Practices","score":0.9057999849319458,"subfield":{"id":"https://openalex.org/subfields/1203","display_name":"Language and Linguistics"},"field":{"id":"https://openalex.org/fields/12","display_name":"Arts and Humanities"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/rust","display_name":"Rust (programming language)","score":0.6630734801292419},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.48374438285827637},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.3654944896697998},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.18356004357337952}],"concepts":[{"id":"https://openalex.org/C197781089","wikidata":"https://www.wikidata.org/wiki/Q575650","display_name":"Rust (programming language)","level":2,"score":0.6630734801292419},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.48374438285827637},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.3654944896697998},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.18356004357337952}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3691620.3694985","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3691620.3694985","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3691620.3694985","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3691620.3694985","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1695102742","display_name":null,"funder_award_id":"2022-0-00460","funder_id":"https://openalex.org/F4320335489","funder_display_name":"Institute for Information and Communications Technology Promotion"},{"id":"https://openalex.org/G347339228","display_name":null,"funder_award_id":"2022R1A2C200366011","funder_id":"https://openalex.org/F4320322120","funder_display_name":"National Research Foundation of Korea"},{"id":"https://openalex.org/G4447486136","display_name":null,"funder_award_id":"2021R1A5A1021944","funder_id":"https://openalex.org/F4320322120","funder_display_name":"National Research Foundation of Korea"},{"id":"https://openalex.org/G4601274340","display_name":null,"funder_award_id":"2024-00337703","funder_id":"https://openalex.org/F4320335489","funder_display_name":"Institute for Information and Communications Technology Promotion"},{"id":"https://openalex.org/G8645669373","display_name":null,"funder_award_id":"2023-2020-0-01819","funder_id":"https://openalex.org/F4320335489","funder_display_name":"Institute for Information and Communications Technology Promotion"}],"funders":[{"id":"https://openalex.org/F4320322120","display_name":"National Research Foundation of Korea","ror":"https://ror.org/013aysd81"},{"id":"https://openalex.org/F4320335489","display_name":"Institute for Information and Communications Technology Promotion","ror":"https://ror.org/01g0hqq23"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":25,"referenced_works":["https://openalex.org/W1889892273","https://openalex.org/W1971327145","https://openalex.org/W1976721395","https://openalex.org/W2013892605","https://openalex.org/W2047764386","https://openalex.org/W2083878525","https://openalex.org/W2110388931","https://openalex.org/W2131135493","https://openalex.org/W2148755014","https://openalex.org/W2151360539","https://openalex.org/W2170577595","https://openalex.org/W2505148154","https://openalex.org/W2623757933","https://openalex.org/W2779850521","https://openalex.org/W2787928226","https://openalex.org/W3098605233","https://openalex.org/W3198685994","https://openalex.org/W3205049031","https://openalex.org/W4362676373","https://openalex.org/W4384302891","https://openalex.org/W4384345830","https://openalex.org/W4384471416","https://openalex.org/W4394769102","https://openalex.org/W4400582609","https://openalex.org/W6930452863"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W2390279801","https://openalex.org/W4391913857","https://openalex.org/W2358668433","https://openalex.org/W4396701345","https://openalex.org/W2376932109","https://openalex.org/W2001405890","https://openalex.org/W4396696052"],"abstract_inverted_index":{"Automatic":[0],"C-to-Rust":[1,127],"translation":[2],"is":[3,60,188],"a":[4,48,61,63,77,80,83,131,150,158],"promising":[5],"way":[6],"to":[7,36,85,120],"enhance":[8,164],"the":[9,28,70,87,107,143,185],"reliability":[10],"of":[11,51,66,174,210,220],"legacy":[12],"system":[13],"software.":[14],"However,":[15],"C2Rust,":[16],"an":[17],"industrially":[18],"developed":[19],"translator,":[20],"generates":[21],"Rust":[22],"code":[23],"with":[24,79,123,195,207],"unsafe":[25,38,52,56],"features,":[26],"undermining":[27],"translation's":[29],"objective.":[30],"While":[31],"researchers":[32],"have":[33,45],"proposed":[34,186],"techniques":[35,119],"remove":[37],"features":[39],"in":[40,82,226],"C2Rust-generated":[41],"code,":[42],"these":[43,161],"efforts":[44],"targeted":[46],"only":[47,200],"limited":[49],"subset":[50],"features.":[53],"One":[54],"important":[55],"feature":[57],"remaining":[58],"unaddressed":[59],"union,":[62],"type":[64],"consisting":[65],"multiple":[67],"fields":[68,141,194],"sharing":[69],"same":[71],"memory":[72],"storage.":[73],"Programmers":[74],"often":[75],"place":[76],"union":[78],"tag":[81,140,145,193],"struct":[84,154],"record":[86],"last-written":[88],"field,":[89],"but":[90],"they":[91],"can":[92],"still":[93],"access":[94],"wrong":[95],"fields.":[96],"In":[97,114],"contrast,":[98],"Rust's":[99],"tagged":[100,124],"unions":[101,105,122,125],"combine":[102],"tags":[103],"and":[104,142,157,199,216,222],"at":[106],"language":[108],"level,":[109],"ensuring":[110],"correct":[111],"value":[112],"access.":[113],"this":[115],"work,":[116],"we":[117,166],"propose":[118],"replace":[121],"during":[126],"translation.":[128],"We":[129],"develop":[130],"static":[132],"analysis":[133,148,152,173],"that":[134,184],"facilitates":[135],"such":[136],"replacement":[137],"by":[138],"identifying":[139,191],"corresponding":[144],"values.":[146],"The":[147],"involves":[149],"must-points-to":[151],"computing":[153],"field":[155],"values":[156],"heuristic":[159],"interpreting":[160],"results.":[162],"To":[163],"efficiency,":[165],"adopt":[167],"intraprocedural":[168],"function-wise":[169],"analysis,":[170],"allowing":[171],"selective":[172],"functions.":[175],"Our":[176],"evaluation":[177],"on":[178],"36":[179],"real-world":[180],"C":[181],"programs":[182,212],"shows":[183],"approach":[187],"(1)":[189],"precise,":[190],"74":[192],"no":[196],"false":[197,202],"positives":[198],"five":[201],"negatives,":[203],"(2)":[204],"mostly":[205],"correct,":[206],"17":[208],"out":[209],"23":[211],"passing":[213],"tests":[214],"post-transformation,":[215],"(3)":[217],"efficient,":[218],"capable":[219],"analyzing":[221],"transforming":[223],"141k":[224],"LOC":[225],"4,910":[227],"seconds.":[228]},"counts_by_year":[{"year":2026,"cited_by_count":3},{"year":2025,"cited_by_count":6}],"updated_date":"2026-07-04T07:58:01.006859","created_date":"2025-10-10T00:00:00"}
