{"id":"https://openalex.org/W4390605058","doi":"https://doi.org/10.1145/3632853","title":"DisLog: A Separation Logic for Disentanglement","display_name":"DisLog: A Separation Logic for Disentanglement","publication_year":2024,"publication_date":"2024-01-02","ids":{"openalex":"https://openalex.org/W4390605058","doi":"https://doi.org/10.1145/3632853"},"language":"en","primary_location":{"id":"doi:10.1145/3632853","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632853","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632853","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://dl.acm.org/doi/pdf/10.1145/3632853","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/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"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Alexandre Moine","raw_affiliation_strings":["Inria, Paris, France"],"raw_orcid":"https://orcid.org/0000-0002-2169-1977","affiliations":[{"raw_affiliation_string":"Inria, Paris, France","institution_ids":["https://openalex.org/I1326498283"]}]},{"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/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sam Westrick","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0000-0003-2848-9808","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5083850156","display_name":"Stephanie Balzer","orcid":"https://orcid.org/0000-0002-8347-3529"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Stephanie Balzer","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, USA"],"raw_orcid":"https://orcid.org/0000-0002-8347-3529","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, USA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.00359513,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"8","issue":"POPL","first_page":"302","last_page":"331"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998000264167786,"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.9998000264167786,"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/T11424","display_name":"Security and Verification in Computing","score":0.9991999864578247,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.998199999332428,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/separation-logic","display_name":"Separation logic","score":0.9219246506690979},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8608585596084595},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5514991879463196},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.4935053586959839},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.47315892577171326},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.44744569063186646},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.44110819697380066},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.4345037043094635},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4125830829143524},{"id":"https://openalex.org/keywords/concurrent-data-structure","display_name":"Concurrent data structure","score":0.41005638241767883},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3337786793708801},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.29542380571365356}],"concepts":[{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.9219246506690979},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8608585596084595},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5514991879463196},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.4935053586959839},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.47315892577171326},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.44744569063186646},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.44110819697380066},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.4345037043094635},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4125830829143524},{"id":"https://openalex.org/C203222032","wikidata":"https://www.wikidata.org/wiki/Q5159104","display_name":"Concurrent data structure","level":3,"score":0.41005638241767883},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3337786793708801},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.29542380571365356},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C187736073","wikidata":"https://www.wikidata.org/wiki/Q2920921","display_name":"Management","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3632853","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632853","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632853","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:HAL:hal-04291381v1","is_oa":true,"landing_page_url":"https://inria.hal.science/hal-04291381","pdf_url":"https://inria.hal.science/hal-04291381v1/document","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Proceedings of the ACM on Programming Languages, 2024, 8 (POPL), &#x27E8;10.1145/3632853&#x27E9;","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1145/3632853","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3632853","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3632853","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/G1562374711","display_name":"SHF: Small: Solving the Parallel Functional Programming Challenge","funder_award_id":"2115104","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G5360328037","display_name":"Collaborative Research: PPoSS: LARGE: Unifying Software and Hardware to Achieve Performant and Scalable Frictionless Parallelism in the Heterogeneous Future","funder_award_id":"2119352","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G753685075","display_name":"Collaborative Research: SHF: Medium: Responsive Parallelism for Interactive Applications: Theory and Practice","funder_award_id":"2107241","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7587430710","display_name":"SHF: Medium: Algorithmic lambda-Calculus for the Design, Analysis, and Implementation of Parallel Algorithms","funder_award_id":"1901381","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":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4390605058.pdf","grobid_xml":"https://content.openalex.org/works/W4390605058.grobid-xml"},"referenced_works_count":42,"referenced_works":["https://openalex.org/W75891272","https://openalex.org/W143008620","https://openalex.org/W1537467263","https://openalex.org/W1580664042","https://openalex.org/W1607623316","https://openalex.org/W1824790454","https://openalex.org/W1972836343","https://openalex.org/W1995085071","https://openalex.org/W2025260761","https://openalex.org/W2059259057","https://openalex.org/W2061341742","https://openalex.org/W2113757735","https://openalex.org/W2125398300","https://openalex.org/W2132761501","https://openalex.org/W2151716725","https://openalex.org/W2153557668","https://openalex.org/W2154581630","https://openalex.org/W2155032935","https://openalex.org/W2293728411","https://openalex.org/W2507118912","https://openalex.org/W2508222108","https://openalex.org/W2727429054","https://openalex.org/W2752061190","https://openalex.org/W2753352514","https://openalex.org/W2783280912","https://openalex.org/W2799051758","https://openalex.org/W2885030506","https://openalex.org/W2901454403","https://openalex.org/W2994905145","https://openalex.org/W2995576800","https://openalex.org/W3047145042","https://openalex.org/W3098874119","https://openalex.org/W3114438252","https://openalex.org/W3124113140","https://openalex.org/W4205402745","https://openalex.org/W4211067849","https://openalex.org/W4245729501","https://openalex.org/W4281711013","https://openalex.org/W4293812587","https://openalex.org/W4315630759","https://openalex.org/W4379537137","https://openalex.org/W6894215312"],"related_works":["https://openalex.org/W2155032935","https://openalex.org/W2149504509","https://openalex.org/W3005098884","https://openalex.org/W2002292019","https://openalex.org/W3023676318","https://openalex.org/W4230121659","https://openalex.org/W2125398300","https://openalex.org/W2583024954","https://openalex.org/W2021598894","https://openalex.org/W4390605058"],"abstract_inverted_index":{"Disentanglement":[0,38],"is":[1,103,186],"a":[2,24,46,78,101,108,203],"run-time":[3],"property":[4],"of":[5,16,70,129,144,198,205,212],"parallel":[6,17,48,130,213],"programs":[7],"that":[8,23,100,135,153],"facilitates":[9],"task-local":[10],"reasoning":[11,124,182],"about":[12,125,160,183],"the":[13,54,68,74,94,120,126,133,163,196,224],"memory":[14,30,49,136,150,184],"footprint":[15],"tasks.":[18],"In":[19,176],"particular,":[20],"it":[21,105],"ensures":[22],"task":[25],"does":[26],"not":[27],"access":[28,151],"any":[29],"locations":[31],"allocated":[32],"by":[33],"another":[34],"concurrently":[35],"executing":[36],"task.":[37],"can":[39],"be":[40],"exploited,":[41],"for":[42,58,86,112,123],"example,":[43],"to":[44,76,98],"implement":[45],"high-performance":[47],"manager,":[50],"such":[51],"as":[52],"in":[53,223],"MPL":[55],"(MaPLe)":[56],"compiler":[57],"Parallel":[59],"ML.":[60],"Prior":[61],"research":[62],"on":[63,67,83,202],"disentanglement":[64],"has":[65],"focused":[66],"design":[69],"optimizations,":[71],"either":[72],"trusting":[73],"programmer":[75],"provide":[77],"disentangled":[79,155],"program":[80,102],"or":[81],"relying":[82],"runtime":[84],"instrumentation":[85],"detecting":[87],"and":[88,200],"managing":[89],"entanglement.":[90],"This":[91],"paper":[92,164,194],"provides":[93],"first":[95],"static":[96],"approach":[97],"verify":[99],"disentangled:":[104],"contributes":[106],"DisLog,":[107],"concurrent":[109,116,171,216],"separation":[110,117,172],"logic":[111,118],"disentanglement.":[113,192],"DisLog":[114,167,199],"enriches":[115],"with":[119],"notions":[121],"necessary":[122],"fork-join":[127],"structure":[128],"programs,":[131,145,148],"allowing":[132],"verification":[134],"accesses":[137,185],"are":[138,154,221],"effectively":[139],"disentangled.":[140],"A":[141],"large":[142],"class":[143],"including":[146,208],"race-free":[147],"exhibit":[149],"patterns":[152],"\"by":[156],"construction\".":[157],"To":[158],"reason":[159],"these":[161],"patterns,":[162],"distills":[165],"from":[166],"an":[168],"almost":[169],"standard":[170],"logic,":[173,179],"called":[174],"DisLog+.":[175],"this":[177],"high-level":[178],"no":[180],"specific":[181],"needed:":[187],"functional":[188],"correctness":[189],"proofs":[190],"entail":[191],"The":[193],"illustrates":[195],"use":[197],"DisLog+":[201],"range":[204],"case":[206],"studies,":[207],"two":[209],"different":[210],"implementations":[211],"deduplication":[214],"via":[215],"hashing.":[217],"All":[218],"our":[219],"results":[220],"mechanized":[222],"Coq":[225],"proof":[226],"assistant":[227],"using":[228],"Iris.":[229]},"counts_by_year":[],"updated_date":"2026-08-06T08:24:18.245995","created_date":"2025-10-10T00:00:00"}
