{"id":"https://openalex.org/W4283019774","doi":"https://doi.org/10.1145/3547647","title":"Aeneas: Rust verification by functional translation","display_name":"Aeneas: Rust verification by functional translation","publication_year":2022,"publication_date":"2022-08-29","ids":{"openalex":"https://openalex.org/W4283019774","doi":"https://doi.org/10.1145/3547647"},"language":"en","primary_location":{"id":"doi:10.1145/3547647","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3547647","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3547647","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"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 ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3547647","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5067154969","display_name":"Son Ho","orcid":"https://orcid.org/0000-0003-3297-9156"},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]},{"id":"https://openalex.org/I4210086502","display_name":"CryptoExperts (France)","ror":"https://ror.org/0030xrh72","country_code":"FR","type":"company","lineage":["https://openalex.org/I4210086502"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Son Ho","raw_affiliation_strings":["Inria, France","PROSECCO - Programming securely with cryptography (France)"],"raw_orcid":"https://orcid.org/0000-0003-3297-9156","affiliations":[{"raw_affiliation_string":"Inria, France","institution_ids":["https://openalex.org/I1326498283"]},{"raw_affiliation_string":"PROSECCO - Programming securely with cryptography (France)","institution_ids":["https://openalex.org/I4210086502"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5055019834","display_name":"Jonathan Protzenko","orcid":"https://orcid.org/0000-0001-7347-3050"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jonathan Protzenko","raw_affiliation_strings":["Microsoft Research, USA","Microsoft Research (United States)"],"raw_orcid":"https://orcid.org/0000-0001-7347-3050","affiliations":[{"raw_affiliation_string":"Microsoft Research, USA","institution_ids":["https://openalex.org/I1290206253"]},{"raw_affiliation_string":"Microsoft Research (United States)","institution_ids":["https://openalex.org/I1290206253"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":4.7237,"has_fulltext":true,"cited_by_count":44,"citation_normalized_percentile":{"value":0.9551308,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":100},"biblio":{"volume":"6","issue":"ICFP","first_page":"711","last_page":"741"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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/T11424","display_name":"Security and Verification in Computing","score":0.9976000189781189,"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/T10142","display_name":"Formal Methods in Verification","score":0.9973000288009644,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/toolchain","display_name":"Toolchain","score":0.8337261080741882},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7652668356895447},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.7249792218208313},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6827090382575989},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.57379150390625},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5625553131103516},{"id":"https://openalex.org/keywords/rust","display_name":"Rust (programming language)","score":0.4942505657672882},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.49108004570007324},{"id":"https://openalex.org/keywords/leverage","display_name":"Leverage (statistics)","score":0.4293524920940399},{"id":"https://openalex.org/keywords/operational-semantics","display_name":"Operational semantics","score":0.4215083420276642},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3991088271141052},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.38147494196891785},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2461082637310028},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.08853170275688171}],"concepts":[{"id":"https://openalex.org/C2777062904","wikidata":"https://www.wikidata.org/wiki/Q545406","display_name":"Toolchain","level":3,"score":0.8337261080741882},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7652668356895447},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.7249792218208313},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6827090382575989},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.57379150390625},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5625553131103516},{"id":"https://openalex.org/C197781089","wikidata":"https://www.wikidata.org/wiki/Q575650","display_name":"Rust (programming language)","level":2,"score":0.4942505657672882},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.49108004570007324},{"id":"https://openalex.org/C153083717","wikidata":"https://www.wikidata.org/wiki/Q6535263","display_name":"Leverage (statistics)","level":2,"score":0.4293524920940399},{"id":"https://openalex.org/C156325763","wikidata":"https://www.wikidata.org/wiki/Q1930895","display_name":"Operational semantics","level":3,"score":0.4215083420276642},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3991088271141052},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.38147494196891785},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2461082637310028},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.08853170275688171}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/3547647","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3547647","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3547647","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"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 ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2206.07185","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2206.07185","pdf_url":"https://arxiv.org/pdf/2206.07185","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":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:HAL:hal-04136056v1","is_oa":true,"landing_page_url":"https://hal.science/hal-04136056","pdf_url":"https://hal.science/hal-04136056v1/file/main.pdf","source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Inria Paris. 2023","raw_type":"info:eu-repo/semantics/report"},{"id":"pmh:oai:HAL:hal-03931572v1","is_oa":false,"landing_page_url":"https://hal.science/hal-03931572","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Proceedings of the ACM on Programming Languages, 2022, 6 (ICFP), pp.711-741. &#x27E8;10.1145/3547647&#x27E9;","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1145/3547647","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3547647","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3547647","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"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 ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Decent work and economic growth","id":"https://metadata.un.org/sdg/8","score":0.6299999952316284}],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4283019774.pdf","grobid_xml":"https://content.openalex.org/works/W4283019774.grobid-xml"},"referenced_works_count":42,"referenced_works":["https://openalex.org/W833263066","https://openalex.org/W1434079718","https://openalex.org/W1464569014","https://openalex.org/W1811793995","https://openalex.org/W1968796785","https://openalex.org/W2073407646","https://openalex.org/W2087875803","https://openalex.org/W2130427425","https://openalex.org/W2136310957","https://openalex.org/W2137628566","https://openalex.org/W2138051462","https://openalex.org/W2251459796","https://openalex.org/W2294722445","https://openalex.org/W2476818328","https://openalex.org/W2566370321","https://openalex.org/W2604664164","https://openalex.org/W2610968094","https://openalex.org/W2762625979","https://openalex.org/W2779850521","https://openalex.org/W2792757320","https://openalex.org/W2901454403","https://openalex.org/W2912106379","https://openalex.org/W2913530642","https://openalex.org/W2996725384","https://openalex.org/W3007744929","https://openalex.org/W3034158217","https://openalex.org/W3100536147","https://openalex.org/W3174107386","https://openalex.org/W3207026105","https://openalex.org/W3207724643","https://openalex.org/W3210291382","https://openalex.org/W4200635588","https://openalex.org/W4225147576","https://openalex.org/W4232182907","https://openalex.org/W4241892188","https://openalex.org/W4247699568","https://openalex.org/W4250423498","https://openalex.org/W4281773296","https://openalex.org/W4286682192","https://openalex.org/W4299811285","https://openalex.org/W6912785687","https://openalex.org/W6929368195"],"related_works":["https://openalex.org/W2013037783","https://openalex.org/W1546856751","https://openalex.org/W138394062","https://openalex.org/W2147023485","https://openalex.org/W2480991400","https://openalex.org/W3161370296","https://openalex.org/W4281298799","https://openalex.org/W2304743325","https://openalex.org/W3171527327","https://openalex.org/W2097635922"],"abstract_inverted_index":{"We":[0,16,85,147,258],"present":[1],"Aeneas,":[2],"a":[3,12,28,77,87,93,99,133,142,174,179,220,225,251,263,274,306],"new":[4,78,252,307],"verification":[5,207,297,315],"toolchain":[6,261],"for":[7,27,91,279,299],"Rust":[8,32,103,166,191,209,266,314,322,328],"programs":[9,323],"based":[10,136],"on":[11,41,65,137,224,347],"lightweight":[13,206],"functional":[14,66,89,283],"translation.":[15],"leverage":[17],"Rust\u2019s":[18],"rich":[19],"region-based":[20],"type":[21],"system":[22],"to":[23,62,80,178,186,246,320,330,333],"eliminate":[24],"memory":[25,348],"reasoning":[26,349],"large":[29,100],"class":[30],"of":[31,54,57,68,74,102,114,130,155,171,197,204,208,218,238,265,296,313,337],"programs,":[33],"as":[34,36],"long":[35],"they":[37],"do":[38],"not":[39,343],"rely":[40,223],"interior":[42],"mutability":[43],"or":[44,117],"unsafe":[45],"code.":[46,70],"Doing":[47],"so,":[48],"we":[49,127,222,230,281],"relieve":[50],"the":[51,55,153,156,165,184,189,194,214,232,236,248,285,300,310,339],"proof":[52,340],"engineer":[53,341],"burden":[56],"memory-based":[58],"reasoning,":[59],"allowing":[60],"them":[61],"instead":[63],"focus":[64],"properties":[67],"their":[69,198],"The":[71,168],"first":[72,286],"contribution":[73,170],"Aeneas":[75,172],"is":[76,107,111,122,173,273],"approach":[79],"borrows":[81,131],"and":[82,200,267,325],"controlled":[83],"aliasing.":[84],"propose":[86],"pure,":[88],"semantics":[90,106,121,151],"LLBC,":[92],"Low-Level":[94],"Borrow":[95],"Calculus":[96],"that":[97,126,149,318],"captures":[98,152],"subset":[101],"programs.":[104,210],"Our":[105,120,291],"value-based,":[108],"meaning":[109,125],"there":[110],"no":[112],"notion":[113],"memory,":[115],"addresses":[116],"pointer":[118],"arithmetic.":[119],"also":[123],"ownership-centric,":[124],"enforce":[128,334],"soundness":[129],"via":[132],"semantic":[134],"criterion":[135],"loans":[138],"rather":[139,159],"than":[140,160],"through":[141,193],"syntactic":[143],"type-based":[144],"lifetime":[145],"discipline.":[146],"claim":[148],"our":[150,202,260,269],"essence":[154],"borrow":[157,233],"mechanism":[158],"its":[161],"current":[162],"implementation":[163],"in":[164,228,235,242,262,289,309],"compiler.":[167],"second":[169],"translation":[175,249],"from":[176],"LLBC":[177],"pure":[180],"lambda-calculus.":[181],"This":[182,241,302],"allows":[183,244],"user":[185],"reason":[187],"about":[188],"original":[190],"program":[192],"theorem":[195],"prover":[196],"choice,":[199],"fulfills":[201],"promise":[203],"enabling":[205],"To":[211],"deal":[212],"with":[213],"well-known":[215],"technical":[216,253],"difficulty":[217],"terminating":[219],"borrow,":[221],"novel":[226],"approach,":[227],"which":[229,280],"approximate":[231],"graph":[234],"presence":[237],"function":[239],"calls.":[240],"turn":[243],"us":[245],"perform":[247],"using":[250],"device":[254],"called":[255],"backward":[256],"functions.":[257],"implement":[259],"mixture":[264],"OCaml;":[268],"chief":[270],"case":[271],"study":[272],"low-level,":[275],"resizing":[276],"hash":[277],"table,":[278],"prove":[282],"correctness,":[284],"such":[287],"result":[288],"Rust.":[290],"evaluation":[292],"shows":[293],"significant":[294],"gains":[295],"productivity":[298],"programmer.":[301],"paper":[303],"therefore":[304],"establishes":[305],"point":[308],"design":[311],"space":[312],"toolchains,":[316],"one":[317],"aims":[319],"verify":[321],"simply,":[324],"at":[326],"scale.":[327],"goes":[329],"great":[331],"lengths":[332],"static":[335],"control":[336],"aliasing;":[338],"should":[342],"waste":[344],"any":[345],"time":[346],"when":[350],"so":[351],"much":[352],"already":[353],"comes":[354],"\u201cfor":[355],"free\u201d!":[356]},"counts_by_year":[{"year":2026,"cited_by_count":8},{"year":2025,"cited_by_count":16},{"year":2024,"cited_by_count":10},{"year":2023,"cited_by_count":8},{"year":2022,"cited_by_count":2}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
