{"id":"https://openalex.org/W4225147576","doi":"https://doi.org/10.1145/3527313","title":"Linear types for large-scale systems verification","display_name":"Linear types for large-scale systems verification","publication_year":2022,"publication_date":"2022-04-29","ids":{"openalex":"https://openalex.org/W4225147576","doi":"https://doi.org/10.1145/3527313"},"language":"en","primary_location":{"id":"doi:10.1145/3527313","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3527313","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3527313","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","datacite"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3527313","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5100329081","display_name":"Jialin Li","orcid":"https://orcid.org/0000-0002-2117-1947"},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jialin Li","raw_affiliation_strings":["University of Washington, USA"],"raw_orcid":"https://orcid.org/0000-0002-2117-1947","affiliations":[{"raw_affiliation_string":"University of Washington, USA","institution_ids":["https://openalex.org/I201448701"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5013888261","display_name":"Andrea Lattuada","orcid":"https://orcid.org/0000-0002-9303-452X"},"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":"Andrea Lattuada","raw_affiliation_strings":["ETH Zurich, Switzerland"],"raw_orcid":"https://orcid.org/0000-0002-9303-452X","affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5041219275","display_name":"Yi Zhou","orcid":"https://orcid.org/0000-0001-7597-1176"},"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":"Yi Zhou","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":"https://orcid.org/0000-0001-7597-1176","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5014529059","display_name":"Jonathan Cameron","orcid":"https://orcid.org/0000-0003-4870-0615"},"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":"Jonathan Cameron","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":"https://orcid.org/0000-0003-4870-0615","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023305744","display_name":"Jon Howell","orcid":"https://orcid.org/0000-0002-1781-2473"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Jon Howell","raw_affiliation_strings":["VMware Research, USA"],"raw_orcid":"https://orcid.org/0000-0002-1781-2473","affiliations":[{"raw_affiliation_string":"VMware Research, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5048461894","display_name":"Bryan Parno","orcid":"https://orcid.org/0000-0002-9113-1684"},"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":"Bryan Parno","raw_affiliation_strings":["Carnegie Mellon University, USA"],"raw_orcid":"https://orcid.org/0000-0002-9113-1684","affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, USA","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5016958899","display_name":"Chris Hawblitzel","orcid":"https://orcid.org/0000-0002-5676-0362"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Chris Hawblitzel","raw_affiliation_strings":["Microsoft Research, USA"],"raw_orcid":"https://orcid.org/0000-0002-5676-0362","affiliations":[{"raw_affiliation_string":"Microsoft Research, USA","institution_ids":["https://openalex.org/I1290206253"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":7,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.9711,"has_fulltext":true,"cited_by_count":9,"citation_normalized_percentile":{"value":0.7915733,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":"6","issue":"OOPSLA1","first_page":"1","last_page":"28"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998999834060669,"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/T11424","display_name":"Security and Verification in Computing","score":0.9987000226974487,"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.9944000244140625,"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/computer-science","display_name":"Computer science","score":0.8106622695922852},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.6176472902297974},{"id":"https://openalex.org/keywords/satisfiability-modulo-theories","display_name":"Satisfiability modulo theories","score":0.5454715490341187},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5426952242851257},{"id":"https://openalex.org/keywords/runtime-verification","display_name":"Runtime verification","score":0.45002302527427673},{"id":"https://openalex.org/keywords/separation-logic","display_name":"Separation logic","score":0.435300350189209},{"id":"https://openalex.org/keywords/software-verification","display_name":"Software verification","score":0.42739298939704895},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.4156651496887207},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3947422206401825},{"id":"https://openalex.org/keywords/formal-verification","display_name":"Formal verification","score":0.37978872656822205},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3766744136810303},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3211328983306885},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.2618255615234375},{"id":"https://openalex.org/keywords/software-system","display_name":"Software system","score":0.24132433533668518}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8106622695922852},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.6176472902297974},{"id":"https://openalex.org/C164155591","wikidata":"https://www.wikidata.org/wiki/Q2067766","display_name":"Satisfiability modulo theories","level":2,"score":0.5454715490341187},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5426952242851257},{"id":"https://openalex.org/C202973057","wikidata":"https://www.wikidata.org/wiki/Q7380130","display_name":"Runtime verification","level":3,"score":0.45002302527427673},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.435300350189209},{"id":"https://openalex.org/C33054407","wikidata":"https://www.wikidata.org/wiki/Q6504747","display_name":"Software verification","level":5,"score":0.42739298939704895},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.4156651496887207},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3947422206401825},{"id":"https://openalex.org/C111498074","wikidata":"https://www.wikidata.org/wiki/Q173326","display_name":"Formal verification","level":2,"score":0.37978872656822205},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3766744136810303},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3211328983306885},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.2618255615234375},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.24132433533668518},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3527313","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3527313","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3527313","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:www.research-collection.ethz.ch:20.500.11850/547209","is_oa":true,"landing_page_url":"http://hdl.handle.net/20.500.11850/547209","pdf_url":null,"source":{"id":"https://openalex.org/S4306402302","display_name":"Repository for Publications and Research Data (ETH Zurich)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I35440088","host_organization_name":"ETH Zurich","host_organization_lineage":["https://openalex.org/I35440088"],"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, 6 (OOPSLA1)","raw_type":"info:eu-repo/semantics/conferenceObject"},{"id":"doi:10.3929/ethz-b-000547209","is_oa":true,"landing_page_url":"https://doi.org/10.3929/ethz-b-000547209","pdf_url":null,"source":{"id":"https://openalex.org/S7407051236","display_name":"ETH Z\u00fcrich Research Collection","issn_l":null,"issn":[],"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":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article-journal"}],"best_oa_location":{"id":"doi:10.1145/3527313","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3527313","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3527313","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/G4509680172","display_name":null,"funder_award_id":"1762114","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G5349147518","display_name":null,"funder_award_id":"-1762114","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8497923736","display_name":null,"funder_award_id":"DGE-1762114","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"},{"id":"https://openalex.org/F4320306151","display_name":"Alfred P. Sloan Foundation","ror":"https://ror.org/052csg198"},{"id":"https://openalex.org/F4320307102","display_name":"Intel Corporation","ror":"https://ror.org/01ek73717"},{"id":"https://openalex.org/F4320316785","display_name":"VMware","ror":null}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4225147576.pdf","grobid_xml":"https://content.openalex.org/works/W4225147576.grobid-xml"},"referenced_works_count":20,"referenced_works":["https://openalex.org/W971186954","https://openalex.org/W1480909796","https://openalex.org/W1553421328","https://openalex.org/W1606177908","https://openalex.org/W1811793995","https://openalex.org/W1981962444","https://openalex.org/W2013892605","https://openalex.org/W2091776255","https://openalex.org/W2092234164","https://openalex.org/W2129133667","https://openalex.org/W2130427425","https://openalex.org/W2137628566","https://openalex.org/W2163347957","https://openalex.org/W2195119025","https://openalex.org/W2779850521","https://openalex.org/W2911865844","https://openalex.org/W2913530642","https://openalex.org/W3011591621","https://openalex.org/W3194104197","https://openalex.org/W4302028463"],"related_works":["https://openalex.org/W2102339469","https://openalex.org/W1524612439","https://openalex.org/W2108824981","https://openalex.org/W1573229708","https://openalex.org/W3144761895","https://openalex.org/W1982134454","https://openalex.org/W1523277742","https://openalex.org/W2121421673","https://openalex.org/W2159031014","https://openalex.org/W4225147576"],"abstract_inverted_index":{"Reasoning":[0],"about":[1],"memory":[2,67,93],"aliasing":[3],"and":[4,82,132,136,148,159,184,205,225,245],"mutation":[5],"in":[6,26,139,187,236],"software":[7],"verification":[8,28,65,76,96,228],"is":[9,14],"a":[10,31,56,75,175],"hard":[11],"problem.":[12],"This":[13],"especially":[15],"true":[16],"for":[17,66,162,200,209],"systems":[18],"using":[19,252],"SMT-based":[20,64,206,242],"automated":[21],"theorem":[22],"provers.":[23],"Memory":[24],"reasoning":[25,46,94,208,244],"SMT":[27,49,80,102,112],"typically":[29],"requires":[30],"nontrivial":[32],"amount":[33],"of":[34,111,117,154,174,182,202,223],"manual":[35],"effort":[36],"to":[37,130,189,241],"specify":[38],"heap":[39,207,243],"invariants,":[40],"as":[41,43],"well":[42],"extensive":[44],"alias":[45],"from":[47,95],"the":[48,85,101,106,109,115,118,152,172,203,210,216,233,237,247],"solver.":[50],"In":[51,122],"this":[52],"paper,":[53],"we":[54],"present":[55],"hybrid":[57],"approach":[58,169],"that":[59,84,215],"combines":[60],"linear":[61,71,98,119,127,135,143,163,198,253],"types":[62,72,99,199],"with":[63,78],"reasoning.":[68],"We":[69,150,166,213,231],"integrate":[70],"into":[73],"Dafny,":[74,188],"language":[77],"an":[79],"backend,":[81],"show":[83,214],"two":[86],"approaches":[87],"complement":[88],"each":[89],"other.":[90],"By":[91],"separating":[92],"conditions,":[97],"reduce":[100],"solving":[103],"time.":[104],"At":[105],"same":[107],"time,":[108],"expressiveness":[110],"queries":[113],"extends":[114],"flexibility":[116],"type":[120,128,164],"system.":[121],"particular,":[123],"it":[124],"allows":[125],"our":[126,155,168,191],"system":[129,178,196,218,239],"easily":[131],"correctly":[133],"mix":[134],"nonlinear":[137,146],"data":[138,144,147],"novel":[140],"ways,":[141],"encapsulating":[142],"inside":[145],"vice-versa.":[149],"formalize":[151],"core":[153],"extensions,":[156],"prove":[157],"soundness,":[158],"provide":[160],"algorithms":[161],"checking.":[165],"evaluate":[167],"by":[170],"converting":[171],"implementation":[173],"verified":[176],"storage":[177],"(about":[179],"24K":[180],"lines":[181,222],"code":[183,204],"proof)":[185],"written":[186],"use":[190],"extended":[192],"Dafny.":[193],"The":[194],"resulting":[195],"uses":[197],"91%":[201],"remaining":[211],"9%.":[212],"converted":[217],"has":[219],"28%":[220],"fewer":[221],"proofs":[224],"30%":[226],"shorter":[227],"time":[229],"overall.":[230],"discuss":[232],"development":[234],"overhead":[235],"original":[238],"due":[240],"highlight":[246],"improved":[248],"developer":[249],"experience":[250],"when":[251],"types.":[254]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
