{"id":"https://openalex.org/W4205191607","doi":"https://doi.org/10.1145/3497775.3503689","title":"Mechanized verification of a fine-grained concurrent queue from meta\u2019s folly library","display_name":"Mechanized verification of a fine-grained concurrent queue from meta\u2019s folly library","publication_year":2022,"publication_date":"2022-01-11","ids":{"openalex":"https://openalex.org/W4205191607","doi":"https://doi.org/10.1145/3497775.3503689"},"language":"en","primary_location":{"id":"doi:10.1145/3497775.3503689","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3497775.3503689","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3497775.3503689","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3497775.3503689","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5040883849","display_name":"Simon Friis Vindum","orcid":"https://orcid.org/0000-0002-4617-4976"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Simon Friis Vindum","raw_affiliation_strings":["Aarhus University, Denmark"],"raw_orcid":"https://orcid.org/0000-0002-4617-4976","affiliations":[{"raw_affiliation_string":"Aarhus University, Denmark","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5063218698","display_name":"Dan Frumin","orcid":"https://orcid.org/0000-0001-5864-7278"},"institutions":[{"id":"https://openalex.org/I169381384","display_name":"University of Groningen","ror":"https://ror.org/012p63287","country_code":"NL","type":"education","lineage":["https://openalex.org/I169381384"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Dan Frumin","raw_affiliation_strings":["University of Groningen, Netherlands"],"raw_orcid":"https://orcid.org/0000-0001-5864-7278","affiliations":[{"raw_affiliation_string":"University of Groningen, Netherlands","institution_ids":["https://openalex.org/I169381384"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5055959064","display_name":"Lars Birkedal","orcid":"https://orcid.org/0000-0003-1320-0098"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Lars Birkedal","raw_affiliation_strings":["Aarhus University, Denmark"],"raw_orcid":"https://orcid.org/0000-0003-1320-0098","affiliations":[{"raw_affiliation_string":"Aarhus University, Denmark","institution_ids":["https://openalex.org/I204337017"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.8556,"has_fulltext":true,"cited_by_count":9,"citation_normalized_percentile":{"value":0.73459547,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"100","last_page":"115"},"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.9998999834060669,"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.9998999834060669,"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.9990000128746033,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.998199999332428,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.812096357345581},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.6590254902839661},{"id":"https://openalex.org/keywords/proof-assistant","display_name":"Proof assistant","score":0.6546590924263},{"id":"https://openalex.org/keywords/queue","display_name":"Queue","score":0.631514847278595},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.49647146463394165},{"id":"https://openalex.org/keywords/formal-verification","display_name":"Formal verification","score":0.44456738233566284},{"id":"https://openalex.org/keywords/message-queue","display_name":"Message queue","score":0.43335235118865967},{"id":"https://openalex.org/keywords/model-checking","display_name":"Model checking","score":0.42237991094589233},{"id":"https://openalex.org/keywords/formal-proof","display_name":"Formal proof","score":0.4173714518547058},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.40975695848464966},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.338753342628479},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.2520824074745178},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.129334956407547}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.812096357345581},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.6590254902839661},{"id":"https://openalex.org/C203265346","wikidata":"https://www.wikidata.org/wiki/Q11387554","display_name":"Proof assistant","level":3,"score":0.6546590924263},{"id":"https://openalex.org/C160403385","wikidata":"https://www.wikidata.org/wiki/Q220543","display_name":"Queue","level":2,"score":0.631514847278595},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.49647146463394165},{"id":"https://openalex.org/C111498074","wikidata":"https://www.wikidata.org/wiki/Q173326","display_name":"Formal verification","level":2,"score":0.44456738233566284},{"id":"https://openalex.org/C26324664","wikidata":"https://www.wikidata.org/wiki/Q1065525","display_name":"Message queue","level":2,"score":0.43335235118865967},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.42237991094589233},{"id":"https://openalex.org/C94461902","wikidata":"https://www.wikidata.org/wiki/Q2762418","display_name":"Formal proof","level":3,"score":0.4173714518547058},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.40975695848464966},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.338753342628479},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.2520824074745178},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.129334956407547},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/3497775.3503689","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3497775.3503689","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3497775.3503689","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.atira.dk:openaire/cc338d12-4dce-4e7c-a4fc-173b648f79d2","is_oa":true,"landing_page_url":"https://pure.au.dk/portal/en/publications/cc338d12-4dce-4e7c-a4fc-173b648f79d2","pdf_url":null,"source":null,"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Vindum, S F, Frumin, D & Birkedal, L 2022, Mechanized Verification of a Fine-Grained Concurrent Queue from Meta s Folly Library. in A Popescu & S Zdancewic (eds), CPP 2022 : Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs, co-located with POPL 2022. Association for Computing Machinery, CPP 2022 - Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs, pp. 100-115, 11th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2022 - co-located with POPL 2022, Philadelphia, United States, 17/01/2022. https://doi.org/10.1145/3497775.3503689","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:pure.rug.nl:publications/5284fea0-69ba-4648-a93d-c644d9a3224a","is_oa":true,"landing_page_url":"https://research.rug.nl/en/publications/5284fea0-69ba-4648-a93d-c644d9a3224a","pdf_url":null,"source":{"id":"https://openalex.org/S4306400420","display_name":"University of Groningen research database (University of Groningen / Centre for Information Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I169381384","host_organization_name":"University of Groningen","host_organization_lineage":["https://openalex.org/I169381384"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Vindum, S F, Frumin, D & Birkedal, L 2022, Mechanized Verification of a Fine-Grained Concurrent Queue from Meta s Folly Library. in A Popescu & S Zdancewic (eds), CPP 2022 - Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs, co-located with POPL 2022. CPP 2022 - Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs, co-located with POPL 2022, Association for Computing Machinery, Inc, pp. 100-115, 11th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2022 - co-located with POPL 2022, Philadelphia, United States, 17/01/2022. https://doi.org/10.1145/3497775.3503689","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:pure.rug.nl:openaire/5284fea0-69ba-4648-a93d-c644d9a3224a","is_oa":true,"landing_page_url":"https://hdl.handle.net/11370/5284fea0-69ba-4648-a93d-c644d9a3224a","pdf_url":null,"source":{"id":"https://openalex.org/S4306400420","display_name":"University of Groningen research database (University of Groningen / Centre for Information Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I169381384","host_organization_name":"University of Groningen","host_organization_lineage":["https://openalex.org/I169381384"],"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":"Vindum, S F, Frumin, D & Birkedal, L 2022, Mechanized Verification of a Fine-Grained Concurrent Queue from Meta s Folly Library. in A Popescu & S Zdancewic (eds), CPP 2022 - Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs, co-located with POPL 2022. CPP 2022 - Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs, co-located with POPL 2022, Association for Computing Machinery, Inc, pp. 100-115, 11th ACM SIGPLAN International Conference on Certified Programs and Proofs, CPP 2022 - co-located with POPL 2022, Philadelphia, United States, 17/01/2022. https://doi.org/10.1145/3497775.3503689","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"doi:10.1145/3497775.3503689","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3497775.3503689","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3497775.3503689","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs","raw_type":"proceedings-article"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure","score":0.6399999856948853}],"awards":[{"id":"https://openalex.org/G4789459991","display_name":null,"funder_award_id":"016.Vidi.189.046","funder_id":"https://openalex.org/F4320321800","funder_display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek"},{"id":"https://openalex.org/G6851704783","display_name":null,"funder_award_id":"25804","funder_id":"https://openalex.org/F4320310490","funder_display_name":"Villum Fonden"}],"funders":[{"id":"https://openalex.org/F4320310490","display_name":"Villum Fonden","ror":"https://ror.org/007ww2d15"},{"id":"https://openalex.org/F4320321800","display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek","ror":"https://ror.org/04jsz6e67"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4205191607.pdf","grobid_xml":"https://content.openalex.org/works/W4205191607.grobid-xml"},"referenced_works_count":43,"referenced_works":["https://openalex.org/W75891272","https://openalex.org/W136497439","https://openalex.org/W143008620","https://openalex.org/W175195251","https://openalex.org/W1499110125","https://openalex.org/W1819989006","https://openalex.org/W1981393723","https://openalex.org/W1981439955","https://openalex.org/W2001738739","https://openalex.org/W2028861803","https://openalex.org/W2037683502","https://openalex.org/W2081281361","https://openalex.org/W2089241138","https://openalex.org/W2101939036","https://openalex.org/W2125505801","https://openalex.org/W2132818695","https://openalex.org/W2139533136","https://openalex.org/W2147323041","https://openalex.org/W2150224578","https://openalex.org/W2155032935","https://openalex.org/W2162022306","https://openalex.org/W2168397157","https://openalex.org/W2171685273","https://openalex.org/W2509578035","https://openalex.org/W2562833768","https://openalex.org/W2596377803","https://openalex.org/W2727429054","https://openalex.org/W2798618564","https://openalex.org/W2885030506","https://openalex.org/W2901454403","https://openalex.org/W2982259651","https://openalex.org/W2996703997","https://openalex.org/W3047145042","https://openalex.org/W3099889302","https://openalex.org/W3124113140","https://openalex.org/W3193924946","https://openalex.org/W3195812638","https://openalex.org/W4230121659","https://openalex.org/W4237730680","https://openalex.org/W4249110288","https://openalex.org/W6885973436","https://openalex.org/W6912591250","https://openalex.org/W6923599715"],"related_works":["https://openalex.org/W2037121848","https://openalex.org/W2491370528","https://openalex.org/W4312733571","https://openalex.org/W2006962382","https://openalex.org/W2149716943","https://openalex.org/W1854197585","https://openalex.org/W3026697850","https://openalex.org/W4315606162","https://openalex.org/W2050033680","https://openalex.org/W4384026589"],"abstract_inverted_index":{"We":[0,46,81],"present":[1,47],"the":[2,9,51,76,83,88,95,102,143],"first":[3],"formal":[4],"specification":[5],"and":[6,30,43,57,87,97,114,123,135,170],"verification":[7],"of":[8,20,41,50,66,142],"fine-grained":[10],"concurrent":[11],"multi-producer-multi-consumer":[12],"queue":[13,25,70,78,108,145],"algorithm":[14,52],"from":[15],"Meta\u2019s":[16],"C++":[17],"library":[18],"Folly":[19],"core":[21],"infrastructure":[22],"components.":[23],"The":[24,106],"is":[26,62,79,109,117,146],"highly":[27],"optimized,":[28],"practical,":[29],"used":[31],"by":[32],"Meta":[33],"in":[34,53,101,133,171],"production":[35],"where":[36],"it":[37,61,100,148],"scales":[38],"to":[39,92,98],"thousands":[40],"consumer":[42],"producer":[44],"threads.":[45],"an":[48,54],"implementation":[49],"ML-like":[55],"language":[56],"formally":[58],"prove":[59],"that":[60,73,75,147],"a":[63,67,150],"contextual":[64],"refinement":[65],"simple":[68],"coarse-grained":[69],"(a":[71],"property":[72],"implies":[74],"MPMC":[77,107,144],"linearizable).":[80],"use":[82],"ReLoC":[84,122,156],"relational":[85],"logic":[86,91],"Iris":[89],"program":[90],"carry":[93],"out":[94],"proof":[96,104,116],"mechanize":[99],"Coq":[103],"assistant.":[105],"implemented":[110],"using":[111,121],"three":[112],"modules,":[113],"our":[115],"similarly":[118],"modular.":[119],"By":[120],"Iris\u2019s":[124],"support":[125,159,175],"for":[126,160,176],"modular":[127],"reasoning":[128,161,177],"we":[129,164],"verify":[130],"each":[131],"module":[132],"isolation":[134],"compose":[136],"these":[137],"together.":[138],"A":[139],"key":[140],"challenge":[141],"has":[149,157],"so-called":[151],"external":[152,179],"linearization":[153,180],"point,":[154],"which":[155],"no":[158],"about.":[162],"Thus":[163],"extend":[165],"ReLoC,":[166],"both":[167],"on":[168],"paper":[169],"Coq,":[172],"with":[173],"novel":[174],"about":[178],"points.":[181]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":2},{"year":2021,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
