{"id":"https://openalex.org/W7119488436","doi":"https://doi.org/10.1145/3776690","title":"Miri: Practical Undefined Behavior Detection for Rust","display_name":"Miri: Practical Undefined Behavior Detection for Rust","publication_year":2026,"publication_date":"2026-01-08","ids":{"openalex":"https://openalex.org/W7119488436","doi":"https://doi.org/10.1145/3776690"},"language":"en","primary_location":{"id":"doi:10.1145/3776690","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776690","pdf_url":null,"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":null,"license_id":null,"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":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3776690","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5025527323","display_name":"Ralf Jung","orcid":"https://orcid.org/0000-0001-7669-6348"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Ralf Jung","raw_affiliation_strings":["ETH Zurich, Z\u00fcrich, Switzerland"],"affiliations":[{"raw_affiliation_string":"ETH Zurich, Z\u00fcrich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5076565370","display_name":"Benjamin Joseph Kimock","orcid":null},"institutions":[{"id":"https://openalex.org/I4210138675","display_name":"National Labor College","ror":"https://ror.org/04m15mz97","country_code":"US","type":"education","lineage":["https://openalex.org/I4210138675"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Benjamin Kimock","raw_affiliation_strings":["Lansweeper NV, Silver Spring, USA"],"affiliations":[{"raw_affiliation_string":"Lansweeper NV, Silver Spring, USA","institution_ids":["https://openalex.org/I4210138675"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5078771605","display_name":"Christian Rodrigo Aguilar Poveda","orcid":null},"institutions":[{"id":"https://openalex.org/I4210125983","display_name":"Instituci\u00f3n Universitaria Colombo Americana","ror":"https://ror.org/03bj1fs86","country_code":"CO","type":"education","lineage":["https://openalex.org/I4210125983"]}],"countries":["CO"],"is_corresponding":false,"raw_author_name":"Christian Poveda","raw_affiliation_strings":["Unaffiliated, Bogot\u00e1, Colombia"],"affiliations":[{"raw_affiliation_string":"Unaffiliated, Bogot\u00e1, Colombia","institution_ids":["https://openalex.org/I4210125983"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5122390124","display_name":"Eduardo S\u00e1nchez Mu\u00f1oz","orcid":null},"institutions":[{"id":"https://openalex.org/I165339363","display_name":"Universidad de Oviedo","ror":"https://ror.org/006gksa02","country_code":"ES","type":"education","lineage":["https://openalex.org/I165339363"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"Eduardo S\u00e1nchez Mu\u00f1oz","raw_affiliation_strings":["Unaffiliated, Oviedo, Spain"],"affiliations":[{"raw_affiliation_string":"Unaffiliated, Oviedo, Spain","institution_ids":["https://openalex.org/I165339363"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5122357234","display_name":"Oli Scherer","orcid":null},"institutions":[{"id":"https://openalex.org/I70886390","display_name":"Karlsruhe University of Applied Sciences","ror":"https://ror.org/01c0m1t63","country_code":"DE","type":"education","lineage":["https://openalex.org/I70886390"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Oli Scherer","raw_affiliation_strings":["Unaffiliated, Karlsruhe, Germany"],"affiliations":[{"raw_affiliation_string":"Unaffiliated, Karlsruhe, Germany","institution_ids":["https://openalex.org/I70886390"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5122326401","display_name":"Qian Wang","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Qian Wang","raw_affiliation_strings":["Unaffiliated, London, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Unaffiliated, London, United Kingdom","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":5,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5025527323"],"corresponding_institution_ids":["https://openalex.org/I35440088"],"apc_list":null,"apc_paid":null,"fwci":89.5,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.99160839,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":97,"max":99},"biblio":{"volume":"10","issue":"POPL","first_page":"1383","last_page":"1411"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.6414999961853027,"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"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.6414999961853027,"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"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.06520000100135803,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.05649999901652336,"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/rust","display_name":"Rust (programming language)","score":0.8712999820709229},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.7379999756813049},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5135999917984009},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.4717000126838684},{"id":"https://openalex.org/keywords/system-programming","display_name":"System programming","score":0.3702999949455261},{"id":"https://openalex.org/keywords/soybean-rust","display_name":"Soybean rust","score":0.3553999960422516}],"concepts":[{"id":"https://openalex.org/C197781089","wikidata":"https://www.wikidata.org/wiki/Q575650","display_name":"Rust (programming language)","level":2,"score":0.8712999820709229},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.7379999756813049},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6729999780654907},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5419999957084656},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5135999917984009},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.4717000126838684},{"id":"https://openalex.org/C69941290","wikidata":"https://www.wikidata.org/wiki/Q1936256","display_name":"System programming","level":4,"score":0.3702999949455261},{"id":"https://openalex.org/C2780184362","wikidata":"https://www.wikidata.org/wiki/Q4806806","display_name":"Soybean rust","level":3,"score":0.3553999960422516},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.35179999470710754},{"id":"https://openalex.org/C156731835","wikidata":"https://www.wikidata.org/wiki/Q751740","display_name":"Memory leak","level":4,"score":0.3174999952316284},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3147999942302704},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.30219998955726624},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.28999999165534973},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.27160000801086426},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.265500009059906},{"id":"https://openalex.org/C180591934","wikidata":"https://www.wikidata.org/wiki/Q1253369","display_name":"Downtime","level":2,"score":0.2630000114440918}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3776690","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776690","pdf_url":null,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:doi:10.3929/ethz-c-000794182","is_oa":true,"landing_page_url":"http://hdl.handle.net/20.500.11850/794182","pdf_url":null,"source":{"id":"https://openalex.org/S4406922384","display_name":"Open MIND","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Journal Article"}],"best_oa_location":{"id":"doi:10.1145/3776690","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776690","pdf_url":null,"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":null,"license_id":null,"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":[{"score":0.5875070691108704,"id":"https://metadata.un.org/sdg/4","display_name":"Quality Education"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":29,"referenced_works":["https://openalex.org/W1969064066","https://openalex.org/W2033531910","https://openalex.org/W2054391605","https://openalex.org/W2089237839","https://openalex.org/W2126421682","https://openalex.org/W2129695855","https://openalex.org/W2414762192","https://openalex.org/W2556205142","https://openalex.org/W2626631502","https://openalex.org/W2899856510","https://openalex.org/W2913530642","https://openalex.org/W2996725384","https://openalex.org/W3114431693","https://openalex.org/W3139187675","https://openalex.org/W3173198614","https://openalex.org/W3204018925","https://openalex.org/W4234066571","https://openalex.org/W4240322740","https://openalex.org/W4283019774","https://openalex.org/W4305010641","https://openalex.org/W4313197337","https://openalex.org/W4362661194","https://openalex.org/W4379536176","https://openalex.org/W4399851008","https://openalex.org/W4403223316","https://openalex.org/W4411267027","https://openalex.org/W4411269405","https://openalex.org/W4411552252","https://openalex.org/W7090177229"],"related_works":[],"abstract_inverted_index":{"The":[0,49],"Rust":[1,30,54,113,133,150,181,191,227,233],"programming":[2],"language":[3,15],"has":[4,211,218],"two":[5],"faces:":[6],"on":[7,33,186],"the":[8,27,39,68,77,84,100,121,137,203,222,226],"one":[9],"hand,":[10,29],"it":[11],"is":[12,41,79,106],"a":[13,17,64,108],"high-level":[14],"with":[16],"strong":[18],"type":[19,151],"system":[20,169],"ensuring":[21],"memory":[22,158],"and":[23,88,160,171,217,230],"thread":[24],"safety.":[25],"On":[26],"other":[28],"crucially":[31],"relies":[32],"unsafe":[34,53,112],"code":[35],"for":[36,111],"cases":[37],"where":[38],"compiler":[40],"unable":[42],"to":[43,57,72,174,177,196],"statically":[44],"ensure":[45],"basic":[46,163],"safety":[47],"properties.":[48],"challenges":[50],"of":[51,59,102,136,141,145,149,156,202,214,225],"writing":[52,60],"are":[55],"similar":[56],"those":[58],"C":[61],"or":[62],"C++:":[63],"single":[65],"mistake":[66],"in":[67,92,131],"program":[69,78],"can":[70,89,125],"lead":[71],"Undefined":[73,103,129],"Behavior,":[74],"which":[75],"means":[76],"no":[80],"longer":[81],"described":[82],"by":[83],"language's":[85],"Abstract":[86],"Machine":[87],"go":[90],"wrong":[91],"arbitrary":[93],"ways,":[94],"often":[95],"causing":[96],"security":[97],"issues.":[98],"Ensuring":[99],"absence":[101],"Behavior":[104,130],"bugs":[105,216,238],"therefore":[107],"high":[109],"priority":[110],"authors.":[114],"In":[115,183],"this":[116],"paper":[117],"we":[118],"present":[119],"Miri,":[120],"first":[122],"tool":[123],"that":[124],"find":[126],"all":[127],"de-facto":[128],"deterministic":[132],"programs.":[134],"Some":[135],"key":[138],"non-trivial":[139],"features":[140],"Miri":[142,193,210],"include":[143],"tracking":[144],"pointer":[146],"provenance,":[147],"validation":[148],"invariants,":[152],"data-race":[153],"detection,":[154],"exploration":[155],"weak":[157],"behaviors,":[159],"implementing":[161],"enough":[162],"OS":[164],"APIs":[165],"(such":[166],"as":[167],"file":[168],"access":[170],"concurrency":[172],"primitives)":[173],"be":[175],"able":[176,195],"run":[178],"unchanged":[179],"real-world":[180,215],"code.":[182],"an":[184],"evaluation":[185],"more":[187,199,237],"than":[188,200],"100":[189],"000":[190],"libraries,":[192,234],"was":[194],"successfully":[197],"execute":[198],"70%":[201],"tests":[204],"across":[205],"their":[206],"combined":[207],"test":[208],"suites.":[209],"found":[212],"dozens":[213],"been":[219],"integrated":[220],"into":[221],"continuous":[223],"integration":[224],"standard":[228],"library":[229],"many":[231,236],"prominent":[232],"preventing":[235],"from":[239],"ever":[240],"entering":[241],"these":[242],"codebases.":[243]},"counts_by_year":[{"year":2026,"cited_by_count":1}],"updated_date":"2026-03-11T14:59:36.786465","created_date":"2026-01-09T00:00:00"}
