{"id":"https://openalex.org/W4386317219","doi":"https://doi.org/10.1145/3607844","title":"Modularity, Code Specialization, and Zero-Cost Abstractions for Program Verification","display_name":"Modularity, Code Specialization, and Zero-Cost Abstractions for Program Verification","publication_year":2023,"publication_date":"2023-08-30","ids":{"openalex":"https://openalex.org/W4386317219","doi":"https://doi.org/10.1145/3607844"},"language":"en","primary_location":{"id":"doi:10.1145/3607844","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3607844","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3607844","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/3607844","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5067154969","display_name":"Son Ho","orcid":"https://orcid.org/0000-0003-3297-9156"},"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":"Son Ho","raw_affiliation_strings":["Inria, France","PROSECCO - Programming securely with cryptography (48 Rue Barrault, 75013 Paris - France)"],"raw_orcid":"https://orcid.org/0000-0003-3297-9156","affiliations":[{"raw_affiliation_string":"Inria, France","institution_ids":["https://openalex.org/I1326498283"]},{"raw_affiliation_string":"PROSECCO - Programming securely with cryptography (48 Rue Barrault, 75013 Paris - France)","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5039132232","display_name":"Aymeric Fromherz","orcid":"https://orcid.org/0000-0003-2642-543X"},"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":"Aymeric Fromherz","raw_affiliation_strings":["Inria, France","PROSECCO - Programming securely with cryptography (48 Rue Barrault, 75013 Paris - France)"],"raw_orcid":"https://orcid.org/0000-0003-2642-543X","affiliations":[{"raw_affiliation_string":"Inria, France","institution_ids":["https://openalex.org/I1326498283"]},{"raw_affiliation_string":"PROSECCO - Programming securely with cryptography (48 Rue Barrault, 75013 Paris - France)","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5055019834","display_name":"Jonathan Protzenko","orcid":"https://orcid.org/0000-0001-7347-3050"},"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":"Jonathan Protzenko","raw_affiliation_strings":["Microsoft Research, USA","MSR - Microsoft Research (14820 NE 36th St, Redmond, WA 98052, USA - United States)"],"raw_orcid":"https://orcid.org/0000-0001-7347-3050","affiliations":[{"raw_affiliation_string":"Microsoft Research, USA","institution_ids":["https://openalex.org/I1290206253"]},{"raw_affiliation_string":"MSR - Microsoft Research (14820 NE 36th St, Redmond, WA 98052, USA - United States)","institution_ids":["https://openalex.org/I1290206253"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.3974,"has_fulltext":true,"cited_by_count":3,"citation_normalized_percentile":{"value":0.68740075,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":"7","issue":"ICFP","first_page":"385","last_page":"416"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9988999962806702,"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/T11424","display_name":"Security and Verification in Computing","score":0.9988999962806702,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9983999729156494,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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.9977999925613403,"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/computer-science","display_name":"Computer science","score":0.8525480628013611},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7036178708076477},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.5035268664360046},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.48123979568481445},{"id":"https://openalex.org/keywords/toolchain","display_name":"Toolchain","score":0.4654370844364166},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.4422960877418518},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4115745723247528},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.35996508598327637}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8525480628013611},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7036178708076477},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.5035268664360046},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.48123979568481445},{"id":"https://openalex.org/C2777062904","wikidata":"https://www.wikidata.org/wiki/Q545406","display_name":"Toolchain","level":3,"score":0.4654370844364166},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.4422960877418518},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4115745723247528},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.35996508598327637}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3607844","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3607844","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3607844","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-04301439v1","is_oa":false,"landing_page_url":"https://hal.science/hal-04301439","pdf_url":null,"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":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Proceedings of the ACM on Programming Languages, 2023, 7 (ICFP), pp.385-416. &#x27E8;10.1145/3607844&#x27E9;","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1145/3607844","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3607844","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3607844","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":[{"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9","score":0.44999998807907104}],"awards":[{"id":"https://openalex.org/G4041451713","display_name":"Verification of Security Protocols","funder_award_id":"ANR-22-PECY-0006","funder_id":"https://openalex.org/F4320320883","funder_display_name":"Agence Nationale de la Recherche"},{"id":"https://openalex.org/G6612625481","display_name":null,"funder_award_id":"France 2030","funder_id":"https://openalex.org/F4320320883","funder_display_name":"Agence Nationale de la Recherche"}],"funders":[{"id":"https://openalex.org/F4320320883","display_name":"Agence Nationale de la Recherche","ror":"https://ror.org/00rbzpz17"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4386317219.pdf","grobid_xml":"https://content.openalex.org/works/W4386317219.grobid-xml"},"referenced_works_count":51,"referenced_works":["https://openalex.org/W106528892","https://openalex.org/W1464569014","https://openalex.org/W1480909796","https://openalex.org/W1504211573","https://openalex.org/W1515423457","https://openalex.org/W1553421328","https://openalex.org/W1763079358","https://openalex.org/W1910751411","https://openalex.org/W2003298503","https://openalex.org/W2023035194","https://openalex.org/W2067081213","https://openalex.org/W2095770127","https://openalex.org/W2110196404","https://openalex.org/W2117882740","https://openalex.org/W2126823808","https://openalex.org/W2136310957","https://openalex.org/W2145108549","https://openalex.org/W2159430067","https://openalex.org/W2166822586","https://openalex.org/W2213989452","https://openalex.org/W2267469130","https://openalex.org/W2507710874","https://openalex.org/W2578546025","https://openalex.org/W2604664164","https://openalex.org/W2610968094","https://openalex.org/W2619630761","https://openalex.org/W2762980364","https://openalex.org/W2766545755","https://openalex.org/W2767162229","https://openalex.org/W2779269605","https://openalex.org/W2814638054","https://openalex.org/W2839528116","https://openalex.org/W2885318094","https://openalex.org/W2900188961","https://openalex.org/W2928036819","https://openalex.org/W2964540713","https://openalex.org/W2981188613","https://openalex.org/W3011141959","https://openalex.org/W3015276542","https://openalex.org/W3029108158","https://openalex.org/W3037570434","https://openalex.org/W3104549103","https://openalex.org/W3136970019","https://openalex.org/W3175981353","https://openalex.org/W4200635588","https://openalex.org/W4240497447","https://openalex.org/W4250423498","https://openalex.org/W4281683690","https://openalex.org/W4281843089","https://openalex.org/W4294561821","https://openalex.org/W6894214961"],"related_works":["https://openalex.org/W2013037783","https://openalex.org/W2909413202","https://openalex.org/W4384009715","https://openalex.org/W2096877983","https://openalex.org/W2207495067","https://openalex.org/W1906486629","https://openalex.org/W622882839","https://openalex.org/W2185017216","https://openalex.org/W2016345697","https://openalex.org/W4206329492"],"abstract_inverted_index":{"For":[0],"all":[1],"the":[2,17,29,42,60,80,106,138,160,184,188,193],"successes":[3],"in":[4,104,122,150,163],"verifying":[5],"low-level,":[6],"efficient,":[7],"security-critical":[8],"code,":[9,116],"little":[10],"has":[11,145],"been":[12],"said":[13],"or":[14],"studied":[15],"about":[16,119],"structure,":[18],"architecture":[19],"and":[20,32,47,63,84,117,167],"engineering":[21],"of":[22,34,37,54,113,128,178,187],"such":[23],"large-scale":[24],"proof":[25,82,123],"developments.":[26],"We":[27,75],"present":[28],"design,":[30],"implementation":[31,186],"evaluation":[33],"a":[35,51,141,164,174],"set":[36],"language-based":[38],"techniques":[39,78,101],"that":[40,90,99,144],"allow":[41],"programmer":[43],"to":[44,92,158,172],"modularly":[45],"write":[46],"verify":[48],"code":[49,68],"at":[50],"high":[52],"level":[53],"abstraction,":[55],"while":[56],"retaining":[57],"control":[58],"over":[59,173],"compilation":[61],"process":[62],"producing":[64],"high-quality,":[65],"zero-overhead,":[66],"low-level":[67],"suitable":[69],"for":[70],"integration":[71],"into":[72,183],"mainstream":[73],"software.":[74,152],"implement":[76],"our":[77,95,100,129,154],"within":[79],"F":[81],"assistant,":[83],"specifically":[85],"its":[86],"shallowly-embedded":[87],"Low":[88],"toolchain":[89],"compiles":[91],"C.":[93],"Through":[94],"evaluation,":[96],"we":[97,156],"establish":[98],"were":[102],"critical":[103],"scaling":[105],"popular":[107],"HACL":[108],"library":[109],"past":[110],"100,000":[111],"lines":[112],"verified":[114],"source":[115],"brought":[118],"significant":[120],"gains":[121],"engineer":[124],"productivity.":[125],"The":[126],"exposition":[127],"methodology":[130],"converges":[131],"on":[132],"one":[133],"final,":[134],"novel":[135],"case":[136],"study:":[137],"streaming":[139,161],"API,":[140],"finicky":[142],"API":[143],"historically":[146],"caused":[147],"many":[148],"bugs":[149],"high-profile":[151],"Using":[153],"approach,":[155],"manage":[157],"capture":[159],"semantics":[162],"generic":[165],"way,":[166],"apply":[168],"it":[169,182],"\u201cfor":[170],"free\u201d":[171],"dozen":[175],"use-cases.":[176],"Six":[177],"those":[179],"have":[180],"made":[181],"reference":[185],"Python":[189],"programming":[190],"language,":[191],"replacing":[192],"previous":[194],"CVE-ridden":[195],"code.":[196]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1}],"updated_date":"2026-07-15T18:14:33.161393","created_date":"2023-09-01T00:00:00"}
