{"id":"https://openalex.org/W3207724643","doi":"https://doi.org/10.1145/3485512","title":"A type system for extracting functional specifications from memory-safe imperative programs","display_name":"A type system for extracting functional specifications from memory-safe imperative programs","publication_year":2021,"publication_date":"2021-10-15","ids":{"openalex":"https://openalex.org/W3207724643","doi":"https://doi.org/10.1145/3485512","mag":"3207724643"},"language":"en","primary_location":{"id":"doi:10.1145/3485512","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485512","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485512","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/3485512","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5089769419","display_name":"Paul He","orcid":"https://orcid.org/0000-0002-6305-4335"},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Paul He","raw_affiliation_strings":["University of Pennsylvania, USA"],"raw_orcid":"https://orcid.org/0000-0002-6305-4335","affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5006060589","display_name":"Eddy Westbrook","orcid":null},"institutions":[{"id":"https://openalex.org/I4210140281","display_name":"Galois (United States)","ror":"https://ror.org/03g8y8161","country_code":"US","type":"company","lineage":["https://openalex.org/I4210140281"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Eddy Westbrook","raw_affiliation_strings":["Galois, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Galois, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5025194301","display_name":"Brent Carmer","orcid":null},"institutions":[{"id":"https://openalex.org/I4210140281","display_name":"Galois (United States)","ror":"https://ror.org/03g8y8161","country_code":"US","type":"company","lineage":["https://openalex.org/I4210140281"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Brent Carmer","raw_affiliation_strings":["Galois, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Galois, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034758522","display_name":"Chris Phifer","orcid":"https://orcid.org/0000-0003-2021-1051"},"institutions":[{"id":"https://openalex.org/I4210140281","display_name":"Galois (United States)","ror":"https://ror.org/03g8y8161","country_code":"US","type":"company","lineage":["https://openalex.org/I4210140281"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Chris Phifer","raw_affiliation_strings":["Galois, USA"],"raw_orcid":"https://orcid.org/0000-0003-2021-1051","affiliations":[{"raw_affiliation_string":"Galois, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5084882063","display_name":"Valentin Robert","orcid":"https://orcid.org/0000-0003-2364-1794"},"institutions":[{"id":"https://openalex.org/I4210140281","display_name":"Galois (United States)","ror":"https://ror.org/03g8y8161","country_code":"US","type":"company","lineage":["https://openalex.org/I4210140281"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Valentin Robert","raw_affiliation_strings":["Galois, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Galois, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5091115326","display_name":"Karl Smeltzer","orcid":null},"institutions":[{"id":"https://openalex.org/I4210140281","display_name":"Galois (United States)","ror":"https://ror.org/03g8y8161","country_code":"US","type":"company","lineage":["https://openalex.org/I4210140281"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Karl Smeltzer","raw_affiliation_strings":["Galois, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Galois, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5006183595","display_name":"Andrei \u0218tef\u0103nescu","orcid":"https://orcid.org/0000-0002-1970-314X"},"institutions":[{"id":"https://openalex.org/I4210140281","display_name":"Galois (United States)","ror":"https://ror.org/03g8y8161","country_code":"US","type":"company","lineage":["https://openalex.org/I4210140281"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Andrei \u015etef\u0103nescu","raw_affiliation_strings":["Galois, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Galois, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5043389542","display_name":"Aaron Tomb","orcid":null},"institutions":[{"id":"https://openalex.org/I4210140281","display_name":"Galois (United States)","ror":"https://ror.org/03g8y8161","country_code":"US","type":"company","lineage":["https://openalex.org/I4210140281"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Aaron Tomb","raw_affiliation_strings":["Galois, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Galois, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5078914479","display_name":"Adam Wick","orcid":null},"institutions":[{"id":"https://openalex.org/I4210140281","display_name":"Galois (United States)","ror":"https://ror.org/03g8y8161","country_code":"US","type":"company","lineage":["https://openalex.org/I4210140281"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Adam Wick","raw_affiliation_strings":["Galois, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Galois, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5004386005","display_name":"Matthew Yacavone","orcid":null},"institutions":[{"id":"https://openalex.org/I4210140281","display_name":"Galois (United States)","ror":"https://ror.org/03g8y8161","country_code":"US","type":"company","lineage":["https://openalex.org/I4210140281"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Matthew Yacavone","raw_affiliation_strings":["Galois, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Galois, USA","institution_ids":["https://openalex.org/I4210140281"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5041830534","display_name":"Steve Zdancewic","orcid":"https://orcid.org/0000-0002-3516-1512"},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Steve Zdancewic","raw_affiliation_strings":["University of Pennsylvania, USA"],"raw_orcid":"https://orcid.org/0000-0002-3516-1512","affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":11,"corresponding_author_ids":["https://openalex.org/A5089769419"],"corresponding_institution_ids":["https://openalex.org/I36788626"],"apc_list":null,"apc_paid":null,"fwci":0.5599,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.73991959,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":"5","issue":"OOPSLA","first_page":"1","last_page":"29"},"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.9993000030517578,"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.9993000030517578,"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.9993000030517578,"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"}},{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9984999895095825,"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.8317676782608032},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.691116988658905},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.5828845500946045},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.5495201945304871},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.5239948034286499},{"id":"https://openalex.org/keywords/functional-specification","display_name":"Functional specification","score":0.4919581115245819},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.4254770278930664},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.1281341314315796},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.1258125603199005},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.09352841973304749}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8317676782608032},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.691116988658905},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.5828845500946045},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.5495201945304871},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.5239948034286499},{"id":"https://openalex.org/C57371142","wikidata":"https://www.wikidata.org/wiki/Q16914225","display_name":"Functional specification","level":5,"score":0.4919581115245819},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.4254770278930664},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.1281341314315796},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.1258125603199005},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.09352841973304749},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3485512","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485512","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485512","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"}],"best_oa_location":{"id":"doi:10.1145/3485512","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485512","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485512","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":[{"score":0.5199999809265137,"display_name":"Peace, Justice and strong institutions","id":"https://metadata.un.org/sdg/16"}],"awards":[{"id":"https://openalex.org/G2931255751","display_name":null,"funder_award_id":"N00014-17-1-2930","funder_id":"https://openalex.org/F4320337345","funder_display_name":"Office of Naval Research"},{"id":"https://openalex.org/G4504108201","display_name":null,"funder_award_id":"N00014-17-1","funder_id":"https://openalex.org/F4320337345","funder_display_name":"Office of Naval Research"},{"id":"https://openalex.org/G4643737529","display_name":null,"funder_award_id":"1521539","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8876996369","display_name":null,"funder_award_id":"N00014","funder_id":"https://openalex.org/F4320337345","funder_display_name":"Office of Naval Research"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320337345","display_name":"Office of Naval Research","ror":"https://ror.org/00rk2pe57"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3207724643.pdf","grobid_xml":"https://content.openalex.org/works/W3207724643.grobid-xml"},"referenced_works_count":31,"referenced_works":["https://openalex.org/W564852913","https://openalex.org/W1522925810","https://openalex.org/W1552367747","https://openalex.org/W1590315663","https://openalex.org/W1819989006","https://openalex.org/W2041950498","https://openalex.org/W2074285438","https://openalex.org/W2075373350","https://openalex.org/W2137628566","https://openalex.org/W2147323041","https://openalex.org/W2148687959","https://openalex.org/W2150224578","https://openalex.org/W2154942048","https://openalex.org/W2155149821","https://openalex.org/W2163552400","https://openalex.org/W2166822586","https://openalex.org/W2167352300","https://openalex.org/W2555865845","https://openalex.org/W2800461112","https://openalex.org/W2884325678","https://openalex.org/W2901454403","https://openalex.org/W2903499634","https://openalex.org/W2913459036","https://openalex.org/W2965353800","https://openalex.org/W2996703997","https://openalex.org/W3007744929","https://openalex.org/W3033640012","https://openalex.org/W3092635374","https://openalex.org/W3100536147","https://openalex.org/W3114324652","https://openalex.org/W3123656454"],"related_works":["https://openalex.org/W2068737373","https://openalex.org/W4236471128","https://openalex.org/W1481383228","https://openalex.org/W1601811574","https://openalex.org/W2062155745","https://openalex.org/W2087060298","https://openalex.org/W2115737686","https://openalex.org/W1587224678","https://openalex.org/W3157866078","https://openalex.org/W2027798793"],"abstract_inverted_index":{"Verifying":[0],"imperative":[1,15,26,42,83,87],"programs":[2],"is":[3,8,18,90,110,128,134],"hard.":[4],"A":[5,107],"key":[6,108],"difficulty":[7,109],"that":[9,37,111,156],"the":[10,39,93,118,132,148,153],"specification":[11,120,142],"of":[12,33,41,77,121,158],"what":[13],"an":[14,125],"program":[16],"does":[17],"often":[19],"intertwined":[20],"with":[21],"details":[22,40,50],"about":[23,55,179],"pointers":[24],"and":[25,47,53,60,171],"state.":[27],"Although":[28],"there":[29],"are":[30,51,165],"a":[31,67,70,122,167],"number":[32],"powerful":[34],"separation":[35],"logics":[36],"allow":[38],"state":[43],"to":[44,105],"be":[45,101],"captured":[46],"managed,":[48],"these":[49,159,163],"complicated":[52],"reasoning":[54,178],"them":[56],"requires":[57,152,176],"significant":[58],"time":[59],"expertise.":[61],"In":[62],"this":[63,139,173],"paper,":[64],"we":[65],"take":[66],"different":[68],"approach:":[69],"memory-safe":[71,130],"type":[72,94],"system":[73],"that,":[74],"as":[75],"part":[76],"type-checking,":[78],"extracts":[79],"functional":[80,97,119,169],"specifications":[81],"from":[82,96],"programs.":[84],"This":[85],"disentangles":[86],"state,":[88],"which":[89,99],"handled":[91],"by":[92],"system,":[95],"specifications,":[98],"can":[100],"verified":[102],"without":[103],"reference":[104],"pointers.":[106,180],"sometimes":[112],"memory":[113],"safety":[114],"depends":[115],"crucially":[116],"on":[117],"program;":[123],"e.g.,":[124],"array":[126],"index":[127,133],"only":[129],"if":[131],"in":[135,166],"bounds.":[136],"To":[137],"handle":[138],"case,":[140],"our":[141],"extraction":[143],"inserts":[144],"dynamic":[145],"checks":[146,160,164],"into":[147],"specification.":[149],"Verification":[150],"then":[151],"additional":[154],"proof":[155,174],"none":[157],"fail.":[161],"However,":[162],"purely":[168],"language,":[170],"so":[172],"also":[175],"no":[177]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":3},{"year":2022,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
