{"id":"https://openalex.org/W4415005396","doi":"https://doi.org/10.1145/3763119","title":"A Refinement Methodology for Distributed Programs in Rust","display_name":"A Refinement Methodology for Distributed Programs in Rust","publication_year":2025,"publication_date":"2025-10-09","ids":{"openalex":"https://openalex.org/W4415005396","doi":"https://doi.org/10.1145/3763119"},"language":"en","primary_location":{"id":"doi:10.1145/3763119","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763119","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":"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":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3763119","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5041305763","display_name":"Aurel B\u00edl\u00fd","orcid":"https://orcid.org/0000-0002-9284-9161"},"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":"Aurel B\u00edl\u00fd","raw_affiliation_strings":["ETH Zurich, Zurich, Switzerland"],"raw_orcid":"https://orcid.org/0000-0002-9284-9161","affiliations":[{"raw_affiliation_string":"ETH Zurich, Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5103031260","display_name":"Jo\u00e3o C. Pereira","orcid":"https://orcid.org/0000-0003-4671-4132"},"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":false,"raw_author_name":"Jo\u00e3o Pereira","raw_affiliation_strings":["ETH Zurich, Zurich, Switzerland"],"raw_orcid":"https://orcid.org/0000-0003-4671-4132","affiliations":[{"raw_affiliation_string":"ETH Zurich, Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5073853337","display_name":"P\u00e9ter M\u00fcller","orcid":"https://orcid.org/0000-0001-7001-2566"},"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":false,"raw_author_name":"Peter M\u00fcller","raw_affiliation_strings":["ETH Zurich, Zurich, Switzerland"],"raw_orcid":"https://orcid.org/0000-0001-7001-2566","affiliations":[{"raw_affiliation_string":"ETH Zurich, Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5041305763"],"corresponding_institution_ids":["https://openalex.org/I35440088"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.31869948,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"9","issue":"OOPSLA2","first_page":"1921","last_page":"1948"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9987000226974487,"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"}},"topics":[{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9987000226974487,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9911999702453613,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9901000261306763,"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/executable","display_name":"Executable","score":0.8932999968528748},{"id":"https://openalex.org/keywords/rust","display_name":"Rust (programming language)","score":0.7113999724388123},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.6205000281333923},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.40790000557899475},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.37860000133514404},{"id":"https://openalex.org/keywords/iterative-refinement","display_name":"Iterative refinement","score":0.36480000615119934},{"id":"https://openalex.org/keywords/range","display_name":"Range (aeronautics)","score":0.36000001430511475}],"concepts":[{"id":"https://openalex.org/C160145156","wikidata":"https://www.wikidata.org/wiki/Q778586","display_name":"Executable","level":2,"score":0.8932999968528748},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.777999997138977},{"id":"https://openalex.org/C197781089","wikidata":"https://www.wikidata.org/wiki/Q575650","display_name":"Rust (programming language)","level":2,"score":0.7113999724388123},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6959999799728394},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.6205000281333923},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.40790000557899475},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3801000118255615},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.37860000133514404},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3716000020503998},{"id":"https://openalex.org/C2779982483","wikidata":"https://www.wikidata.org/wiki/Q6094420","display_name":"Iterative refinement","level":2,"score":0.36480000615119934},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.36000001430511475},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.3336000144481659},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.30820000171661377},{"id":"https://openalex.org/C14331664","wikidata":"https://www.wikidata.org/wiki/Q3417382","display_name":"Refinement","level":3,"score":0.3061000108718872},{"id":"https://openalex.org/C90483712","wikidata":"https://www.wikidata.org/wiki/Q7307205","display_name":"Refinement calculus","level":2,"score":0.2937000095844269},{"id":"https://openalex.org/C111498074","wikidata":"https://www.wikidata.org/wiki/Q173326","display_name":"Formal verification","level":2,"score":0.2662999927997589},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.2662000060081482},{"id":"https://openalex.org/C131584629","wikidata":"https://www.wikidata.org/wiki/Q4308705","display_name":"Coupling (piping)","level":2,"score":0.2619999945163727},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.2574999928474426}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3763119","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763119","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":"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"}],"best_oa_location":{"id":"doi:10.1145/3763119","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763119","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":"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":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":45,"referenced_works":["https://openalex.org/W905467040","https://openalex.org/W971186954","https://openalex.org/W1550200770","https://openalex.org/W1972537186","https://openalex.org/W2015688007","https://openalex.org/W2028861803","https://openalex.org/W2091776255","https://openalex.org/W2132107743","https://openalex.org/W2137628566","https://openalex.org/W2143987772","https://openalex.org/W2167814583","https://openalex.org/W2288327952","https://openalex.org/W2296772897","https://openalex.org/W2732888418","https://openalex.org/W2751009798","https://openalex.org/W2776248742","https://openalex.org/W2790340769","https://openalex.org/W2792757320","https://openalex.org/W2798618564","https://openalex.org/W2903499634","https://openalex.org/W2913530642","https://openalex.org/W2963264339","https://openalex.org/W2987907651","https://openalex.org/W2990205826","https://openalex.org/W2995075587","https://openalex.org/W2997874361","https://openalex.org/W2999097477","https://openalex.org/W3016987934","https://openalex.org/W3034158217","https://openalex.org/W3043636429","https://openalex.org/W3092635374","https://openalex.org/W3123656454","https://openalex.org/W3124307800","https://openalex.org/W3139886612","https://openalex.org/W4233335757","https://openalex.org/W4237730680","https://openalex.org/W4239797127","https://openalex.org/W4240226860","https://openalex.org/W4241006348","https://openalex.org/W4283019774","https://openalex.org/W4305010641","https://openalex.org/W4386556337","https://openalex.org/W4388717524","https://openalex.org/W4404400628","https://openalex.org/W6949671175"],"related_works":[],"abstract_inverted_index":{"Refinement":[0,25],"relates":[1],"an":[2,199],"abstract":[3,17,123,139],"system":[4,183],"model":[5,18,140],"to":[6,21,66,121,136,142,184,194],"a":[7,102,129,159,175,213,220],"concrete,":[8],"executable":[9,54],"program,":[10],"such":[11],"that":[12,43,51,107],"properties":[13],"established":[14],"for":[15],"the":[16,22,31,77,80,82,85,91,114,138,180],"carry":[19],"over":[20],"concrete":[23,143],"implementation.":[24],"has":[26],"been":[27],"used":[28],"successfully":[29],"in":[30,155],"development":[32],"of":[33,79,84,117,132,162,188,215,223],"substantial":[34,216],"verified":[35],"systems.":[36],"Nevertheless,":[37],"existing":[38],"refinement":[39,49,63,86,105],"techniques":[40,50],"have":[41],"limitations":[42],"impede":[44],"their":[45],"practical":[46,207],"usefulness.":[47],"Top-down":[48],"automatically":[52],"generate":[53],"code":[55],"generally":[56],"produce":[57],"implementations":[58],"with":[59,128,198],"sub-optimal":[60],"performance.":[61],"Bottom-up":[62],"allows":[64,192],"one":[65,193],"reason":[67,185],"about":[68,186],"existing,":[69],"efficient":[70],"implementations,":[71],"but":[72,125],"imposes":[73],"strict":[74],"requirements":[75],"on":[76,212],"structure":[78,83],"code,":[81],"proofs,":[87],"as":[88,90,174,209],"well":[89],"employed":[92],"verification":[93,202],"logic":[94],"and":[95,167],"tools.":[96],"In":[97],"this":[98],"paper,":[99],"we":[100,210],"present":[101],"novel":[103,130],"bottom-up":[104],"methodology":[106,112,173,197],"removes":[108],"these":[109],"limitations.":[110],"Our":[111],"uses":[113],"familiar":[115],"notion":[116,131],"guarded":[118],"transition":[119],"systems":[120],"express":[122],"models,":[124],"combines":[126],"guards":[127],"locally":[133,141],"inductive":[134],"invariants":[135],"relate":[137],"state.":[144],"This":[145,190],"approach":[146],"is":[147],"much":[148],"more":[149],"flexible":[150],"than":[151],"standard":[152],"coupling":[153],"invariants;":[154],"particular,":[156],"it":[157],"supports":[158],"wide":[160],"range":[161],"program":[163],"structures,":[164],"data":[165],"representations,":[166],"proof":[168],"structures.":[169],"We":[170],"integrate":[171],"our":[172,196],"library":[176],"into":[177],"Rust,":[178],"leveraging":[179],"Rust":[181,201],"type":[182],"ownership":[187],"guards.":[189],"integration":[191],"use":[195],"off-the-shelf":[200],"tool.":[203],"It":[204],"also":[205],"facilitates":[206],"applications,":[208],"demonstrate":[211],"number":[214],"case":[217],"studies":[218],"including":[219],"concurrent":[221],"implementation":[222],"Memcached.":[224]},"counts_by_year":[],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
