{"id":"https://openalex.org/W4416952605","doi":"https://doi.org/10.1145/3776668","title":"All for One and One for All: Program Logics for Exploiting Internal Determinism in Parallel Programs","display_name":"All for One and One for All: Program Logics for Exploiting Internal Determinism in Parallel Programs","publication_year":2026,"publication_date":"2026-01-08","ids":{"openalex":"https://openalex.org/W4416952605","doi":"https://doi.org/10.1145/3776668"},"language":"en","primary_location":{"id":"doi:10.1145/3776668","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776668","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":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3776668","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5022449209","display_name":"Alexandre Moine","orcid":"https://orcid.org/0000-0002-2169-1977"},"institutions":[{"id":"https://openalex.org/I57206974","display_name":"New York University","ror":"https://ror.org/0190ak572","country_code":"US","type":"education","lineage":["https://openalex.org/I57206974"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Alexandre Moine","raw_affiliation_strings":["New York University, New York, USA"],"raw_orcid":"https://orcid.org/0000-0002-2169-1977","affiliations":[{"raw_affiliation_string":"New York University, New York, USA","institution_ids":["https://openalex.org/I57206974"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5052738437","display_name":"Sam Westrick","orcid":"https://orcid.org/0000-0003-2848-9808"},"institutions":[{"id":"https://openalex.org/I57206974","display_name":"New York University","ror":"https://ror.org/0190ak572","country_code":"US","type":"education","lineage":["https://openalex.org/I57206974"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sam Westrick","raw_affiliation_strings":["New York University, New York, USA"],"raw_orcid":"https://orcid.org/0000-0003-2848-9808","affiliations":[{"raw_affiliation_string":"New York University, New York, USA","institution_ids":["https://openalex.org/I57206974"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5073987903","display_name":"Joseph Tassarotti","orcid":"https://orcid.org/0000-0001-5692-3347"},"institutions":[{"id":"https://openalex.org/I57206974","display_name":"New York University","ror":"https://ror.org/0190ak572","country_code":"US","type":"education","lineage":["https://openalex.org/I57206974"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Joseph Tassarotti","raw_affiliation_strings":["New York University, New York, USA"],"raw_orcid":"https://orcid.org/0000-0001-5692-3347","affiliations":[{"raw_affiliation_string":"New York University, New York, USA","institution_ids":["https://openalex.org/I57206974"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I57206974"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.01302677,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"10","issue":"POPL","first_page":"748","last_page":"776"},"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.6304000020027161,"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.6304000020027161,"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/T10126","display_name":"Logic, programming, and type systems","score":0.11739999800920486,"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.08980000019073486,"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/soundness","display_name":"Soundness","score":0.6495000123977661},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.5942000150680542},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.5169000029563904},{"id":"https://openalex.org/keywords/separation-logic","display_name":"Separation logic","score":0.41190001368522644},{"id":"https://openalex.org/keywords/hash-function","display_name":"Hash function","score":0.3693000078201294},{"id":"https://openalex.org/keywords/rewriting","display_name":"Rewriting","score":0.33390000462532043},{"id":"https://openalex.org/keywords/program-transformation","display_name":"Program transformation","score":0.33079999685287476},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.3292999863624573},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.3264000117778778}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7918999791145325},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.6495000123977661},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.5942000150680542},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5504000186920166},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5442000031471252},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.5169000029563904},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.41190001368522644},{"id":"https://openalex.org/C99138194","wikidata":"https://www.wikidata.org/wiki/Q183427","display_name":"Hash function","level":2,"score":0.3693000078201294},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.337799996137619},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.33390000462532043},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.33079999685287476},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.3292999863624573},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.3264000117778778},{"id":"https://openalex.org/C2164484","wikidata":"https://www.wikidata.org/wiki/Q5170150","display_name":"Core (optical fiber)","level":2,"score":0.32359999418258667},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.32269999384880066},{"id":"https://openalex.org/C128838566","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic programming","level":2,"score":0.30410000681877136},{"id":"https://openalex.org/C67388219","wikidata":"https://www.wikidata.org/wiki/Q207440","display_name":"Hash table","level":3,"score":0.290800005197525},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.2840000092983246},{"id":"https://openalex.org/C192183473","wikidata":"https://www.wikidata.org/wiki/Q131133","display_name":"Determinism","level":2,"score":0.2797999978065491},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.2791000008583069},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.2759000062942505},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.275299996137619},{"id":"https://openalex.org/C92757383","wikidata":"https://www.wikidata.org/wiki/Q382497","display_name":"Affine transformation","level":2,"score":0.2732999920845032},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.2628999948501587},{"id":"https://openalex.org/C2779696439","wikidata":"https://www.wikidata.org/wiki/Q7512811","display_name":"Signature (topology)","level":2,"score":0.2502000033855438}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3776668","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776668","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"},{"id":"pmh:oai:arXiv.org:2511.23283","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2511.23283","pdf_url":"https://arxiv.org/pdf/2511.23283","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"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"}],"best_oa_location":{"id":"doi:10.1145/3776668","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776668","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":[{"id":"https://openalex.org/G4628998849","display_name":"Collaborative Research: FMitF: Track I: The Phlox framework for verifying a high-performance distributed database","funder_award_id":"2319168","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G5583153464","display_name":"Collaborative Research: FMitF: Track I: Composable Verification of Crash-Safe Distributed Systems with Grove","funder_award_id":"2318722","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"Nondeterminism":[0],"makes":[1],"parallel":[2,21,29,144],"programs":[3,82],"challenging":[4],"to":[5,62,86,103,115,149,166,234],"write":[6],"and":[7,66,169],"reason":[8,45,87],"about.":[9],"To":[10,74],"avoid":[11],"these":[12],"challenges,":[13],"researchers":[14],"have":[15,205,243],"developed":[16],"techniques":[17],"for":[18,134,190,200],"internally":[19,71,80,201],"deterministic":[20,34,72,81,202,214],"programming,":[22],"in":[23,32,53,208,240,246],"which":[24,163],"the":[25,76,106,122,176,182,209,249],"steps":[26],"of":[27,78,121,175,184,216],"a":[28,33,43,47,54,92,129,137,143,158,213,217],"computation":[30],"proceed":[31],"way.":[35],"Internal":[36],"determinism":[37],"is":[38,108,124],"useful":[39],"because":[40],"it":[41,51,113,156],"lets":[42],"programmer":[44],"about":[46,70],"program":[48,98,107,123,138,145,226],"as":[49],"if":[50],"executed":[52],"sequential":[55,173],"order.":[56],"However,":[57],"no":[58],"verification":[59],"framework":[60],"exists":[61],"exploit":[63],"this":[64,89,241],"property":[65,93],"simplify":[67],"formal":[68],"reasoning":[69],"programs.":[73,237],"capture":[75],"essence":[77],"why":[79],"should":[83],"be":[84],"easier":[85],"about,":[88],"paper":[90,242],"defines":[91],"called":[94,132,161],"schedule-independent":[95,100,140,151,228],"safety.":[96,141],"A":[97],"satisfies":[99,139,227],"safety,":[101,152,229],"if,":[102],"show":[104,116],"that":[105,117,136,204],"safe":[109],"across":[110],"all":[111],"orderings,":[112],"suffices":[114],"one":[118,165,172],"terminating":[119],"execution":[120],"safe.":[125],"We":[126],"then":[127],"present":[128],"separation":[130,251],"logic":[131,160,252],"Musketeer":[133],"proving":[135],"Once":[142],"has":[146],"been":[147,206,244],"shown":[148],"satisfy":[150],"we":[153,180,230],"can":[154,231],"verify":[155,170,235],"with":[157],"new":[159],"Angelic,":[162],"allows":[164],"dynamically":[167],"select":[168],"just":[171],"ordering":[174],"program.":[177],"Using":[178],"Musketeer,":[179],"prove":[181],"soundness":[183],"MiniDet,":[185],"an":[186],"affine":[187],"type":[188],"system":[189],"enforcing":[191],"internal":[192],"determinism.":[193],"MiniDet":[194,225],"supports":[195],"several":[196],"core":[197],"algorithmic":[198],"primitives":[199],"programming":[203],"identified":[207],"research":[210],"literature,":[211],"including":[212],"version":[215],"concurrent":[218],"hash":[219],"set.":[220],"Because":[221],"any":[222],"syntactically":[223],"well-typed":[224],"apply":[232],"Angelic":[233],"such":[236],"All":[238],"results":[239],"verified":[245],"Rocq":[247],"using":[248],"Iris":[250],"framework.":[253]},"counts_by_year":[],"updated_date":"2026-08-05T07:39:15.569665","created_date":"2025-12-03T00:00:00"}
