{"id":"https://openalex.org/W4318348378","doi":"https://doi.org/10.48550/arxiv.2301.10943","title":"Concrat: An Automatic C-to-Rust Lock API Translator for Concurrent Programs","display_name":"Concrat: An Automatic C-to-Rust Lock API Translator for Concurrent Programs","publication_year":2023,"publication_date":"2023-01-01","ids":{"openalex":"https://openalex.org/W4318348378","doi":"https://doi.org/10.48550/arxiv.2301.10943"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://arxiv.org/abs/2301.10943","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":["Cornell University"],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false},"type":"preprint","type_crossref":"posted-content","indexed_in":["arxiv","datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/abs/2301.10943","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5024932910","display_name":"Jaemin Hong","orcid":"https://orcid.org/0000-0003-4067-7369"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Hong, Jaemin","raw_affiliation_strings":[],"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5087492388","display_name":"Sukyoung Ryu","orcid":"https://orcid.org/0000-0002-0019-9772"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Ryu, Sukyoung","raw_affiliation_strings":[],"affiliations":[]}],"institution_assertions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.0,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":0,"max":67},"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9991,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9991,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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.9987,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9984,"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/rust","display_name":"Rust (programming language)","score":0.7483372},{"id":"https://openalex.org/keywords/lock","display_name":"Lock (firearm)","score":0.6994246}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.83925134},{"id":"https://openalex.org/C197781089","wikidata":"https://www.wikidata.org/wiki/Q575650","display_name":"Rust (programming language)","level":2,"score":0.7483372},{"id":"https://openalex.org/C174839445","wikidata":"https://www.wikidata.org/wiki/Q1134386","display_name":"Lock (firearm)","level":2,"score":0.6994246},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.61559594},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5856817},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.45112768},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.4387082},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.40132368},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3688383},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.091955334},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"is_oa":true,"landing_page_url":"https://arxiv.org/abs/2301.10943","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":["Cornell University"],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false},{"is_oa":true,"landing_page_url":"http://arxiv.org/abs/2301.10943","pdf_url":"http://arxiv.org/pdf/2301.10943","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":["Cornell University"],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false},{"is_oa":false,"landing_page_url":"https://api.datacite.org/dois/10.48550/arxiv.2301.10943","pdf_url":null,"source":{"id":"https://openalex.org/S4393179698","display_name":"DataCite API","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I4210145204","host_organization_name":"DataCite","host_organization_lineage":["https://openalex.org/I4210145204"],"host_organization_lineage_names":["DataCite"],"type":"metadata"},"license":null,"license_id":null,"version":null}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://arxiv.org/abs/2301.10943","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":["Cornell University"],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false},"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W4205908955","https://openalex.org/W2168276503","https://openalex.org/W2139396251","https://openalex.org/W2132239740","https://openalex.org/W2120204135","https://openalex.org/W2105713543","https://openalex.org/W1796293478","https://openalex.org/W174435416","https://openalex.org/W1577544887","https://openalex.org/W1573537275"],"abstract_inverted_index":{"Concurrent":[0],"programs":[1,14,85,157],"suffer":[2],"from":[3],"data":[4,8,17],"races.":[5],"To":[6],"prevent":[7],"races,":[9],"programmers":[10],"use":[11,52,74],"locks.":[12,54],"However,":[13],"can":[15],"eliminate":[16],"races":[18],"only":[19],"when":[20],"they":[21],"acquire":[22],"and":[23,182,199,213,228],"release":[24],"correct":[25,28,51,73],"locks":[26,76],"at":[27],"timing.":[29],"The":[30],"lock":[31,68,109,120,130,144,149,177,190],"API":[32,69,145],"of":[33,43,53,75,155,169,217],"C,":[34],"in":[35,86,210,234],"which":[36],"people":[37],"have":[38],"developed":[39,62],"a":[40,60,67,88,170,176,183],"large":[41],"portion":[42],"legacy":[44,83],"system":[45,63,84],"programs,":[46],"does":[47],"not":[48],"validate":[49],"the":[50,56,72,105,112,118,128,142,147,163,195,204,224],"On":[55],"other":[57],"hand,":[58],"Rust,":[59],"recently":[61],"programming":[64],"language,":[65],"provides":[66],"that":[70,174,186,194,223],"guarantees":[71],"via":[77],"type":[78],"checking.":[79],"This":[80],"makes":[81],"rewriting":[82],"Rust":[87,129,148,171],"promising":[89],"way":[90],"to":[91,104,124,140],"retrofit":[92],"safety":[93],"into":[94],"them.":[95],"Unfortunately,":[96],"manual":[97],"C-to-Rust":[98,115,153],"translation":[99,154],"is":[100,197,226],"extremely":[101],"laborious":[102],"due":[103],"discrepancies":[106],"between":[107],"their":[108],"APIs.":[110],"Even":[111],"state-of-the-art":[113],"automatic":[114,138],"translator":[116],"retains":[117],"C":[119,143],"API,":[121],"expecting":[122],"developers":[123],"replace":[125,141],"them":[126],"with":[127,146,158],"API.":[131,150],"In":[132],"this":[133],"work,":[134],"we":[135],"propose":[136],"an":[137,180],"tool":[139,167],"It":[151],"facilitates":[152],"concurrent":[156],"less":[159],"human":[160],"effort":[161],"than":[162],"current":[164],"practice.":[165],"Our":[166],"consists":[168],"code":[172],"transformer":[173,196],"takes":[175],"summary":[178],"as":[179],"input":[181],"static":[184],"analyzer":[185,225],"efficiently":[187],"generates":[188],"precise":[189],"summaries.":[191],"We":[192,220],"show":[193,222],"scalable":[198,227],"widely":[200],"applicable":[201],"while":[202],"preserving":[203],"semantics;":[205],"it":[206,230],"transforms":[207],"66":[208,232],"KLOC":[209,233],"2.6":[211],"seconds":[212],"successfully":[214],"handles":[215],"74%":[216],"real-world":[218],"programs.":[219],"also":[221],"precise;":[229],"analyzes":[231],"4.3":[235],"seconds.":[236]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W4318348378","counts_by_year":[],"updated_date":"2025-01-08T21:43:54.319206","created_date":"2023-01-28"}