{"id":"https://openalex.org/W4206730944","doi":"https://doi.org/10.1145/3497775.3503686","title":"Overcoming restraint: composing verification of foreign functions with cogent","display_name":"Overcoming restraint: composing verification of foreign functions with cogent","publication_year":2022,"publication_date":"2022-01-11","ids":{"openalex":"https://openalex.org/W4206730944","doi":"https://doi.org/10.1145/3497775.3503686"},"language":"en","primary_location":{"id":"doi:10.1145/3497775.3503686","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3497775.3503686","pdf_url":null,"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":"preprint","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/2102.09920","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5037393866","display_name":"Louis Cheung","orcid":"https://orcid.org/0000-0002-3530-6662"},"institutions":[{"id":"https://openalex.org/I165779595","display_name":"The University of Melbourne","ror":"https://ror.org/01ej9dk98","country_code":"AU","type":"education","lineage":["https://openalex.org/I165779595"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Louis Cheung","raw_affiliation_strings":["University of Melbourne, Australia"],"raw_orcid":"https://orcid.org/0000-0002-3530-6662","affiliations":[{"raw_affiliation_string":"University of Melbourne, Australia","institution_ids":["https://openalex.org/I165779595"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5091677658","display_name":"Liam O\u2019Connor","orcid":"https://orcid.org/0000-0003-2765-4269"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Liam O'Connor","raw_affiliation_strings":["University of Edinburgh, UK"],"raw_orcid":"https://orcid.org/0000-0003-2765-4269","affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5019489999","display_name":"Christine Rizkallah","orcid":"https://orcid.org/0000-0003-4785-2836"},"institutions":[{"id":"https://openalex.org/I165779595","display_name":"The University of Melbourne","ror":"https://ror.org/01ej9dk98","country_code":"AU","type":"education","lineage":["https://openalex.org/I165779595"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Christine Rizkallah","raw_affiliation_strings":["University of Melbourne, Australia"],"raw_orcid":"https://orcid.org/0000-0003-4785-2836","affiliations":[{"raw_affiliation_string":"University of Melbourne, Australia","institution_ids":["https://openalex.org/I165779595"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.048,"has_fulltext":false,"cited_by_count":8,"citation_normalized_percentile":{"value":0.7956058,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"13","last_page":"26"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":1.0,"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":1.0,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9976999759674072,"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.9975000023841858,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6461076736450195},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.44718611240386963},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.32899412512779236}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6461076736450195},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.44718611240386963},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.32899412512779236}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3497775.3503686","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3497775.3503686","pdf_url":null,"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:arXiv.org:2102.09920","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2102.09920","pdf_url":"https://arxiv.org/pdf/2102.09920","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:pure.ed.ac.uk:publications/b978c6d9-1d05-4d32-b7db-2065c70a3c93","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/b978c6d9-1d05-4d32-b7db-2065c70a3c93","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":{"id":"pmh:oai:arXiv.org:2102.09920","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2102.09920","pdf_url":"https://arxiv.org/pdf/2102.09920","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},"sustainable_development_goals":[{"display_name":"Partnerships for the goals","id":"https://metadata.un.org/sdg/17","score":0.5799999833106995}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":23,"referenced_works":["https://openalex.org/W81956812","https://openalex.org/W1476411550","https://openalex.org/W1581325065","https://openalex.org/W1955004327","https://openalex.org/W2066997989","https://openalex.org/W2074630311","https://openalex.org/W2106192381","https://openalex.org/W2136310957","https://openalex.org/W2165594098","https://openalex.org/W2195119025","https://openalex.org/W2295752850","https://openalex.org/W2412986331","https://openalex.org/W2496320422","https://openalex.org/W2597591239","https://openalex.org/W2762980364","https://openalex.org/W2964672981","https://openalex.org/W2977296237","https://openalex.org/W3014241878","https://openalex.org/W3037570434","https://openalex.org/W3175970536","https://openalex.org/W3210291382","https://openalex.org/W4250846042","https://openalex.org/W6928999295"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2748952813","https://openalex.org/W2390279801","https://openalex.org/W2358668433","https://openalex.org/W4396701345","https://openalex.org/W2376932109","https://openalex.org/W2001405890","https://openalex.org/W4396696052","https://openalex.org/W4402327032","https://openalex.org/W2382290278"],"abstract_inverted_index":{"Cogent":[0,35,58,74,83,118,132],"is":[1],"a":[2,44,54,123,158],"restricted":[3],"functional":[4],"language":[5],"designed":[6],"to":[7,49,169],"reduce":[8],"the":[9,23,41,67,96,127,176,182],"cost":[10],"of":[11,17,25,43,70,78,98,126,139,184,186,196,199,207],"developing":[12],"verified":[13],"systems":[14,80],"code.":[15,51,149],"Because":[16],"its":[18,30],"sometimes-onerous":[19],"restrictions,":[20],"such":[21,108],"as":[22,60],"lack":[24],"support":[26],"for":[27],"recursion":[28],"and":[29,92,120,154,162,165,175,190],"strict":[31],"uniqueness":[32],"type":[33,100,141],"system,":[34],"provides":[36],"an":[37],"escape":[38],"hatch":[39],"in":[40,82,122,201],"form":[42],"foreign":[45],"function":[46],"interface":[47],"(FFI)":[48],"C":[50,62,88,148],"This":[52],"poses":[53],"problem":[55],"when":[56,146],"verifying":[57],"programs,":[59],"imported":[61],"components":[63,89],"do":[64],"not":[65],"enjoy":[66],"same":[68],"level":[69],"static":[71,208],"guarantees":[72],"that":[73,86,93,136],"does.":[75],"Previous":[76],"verification":[77,185,195],"file":[79,178],"implemented":[81],"merely":[84],"assumed":[85],"their":[87,167],"were":[90],"correct":[91],"they":[94,113],"preserved":[95],"invariants":[97,138],"Cogent\u2019s":[99,140],"system.":[101,130,179],"In":[102],"this":[103],"paper,":[104],"we":[105],"instead":[106],"prove":[107],"obligations.":[109],"We":[110,150,180],"demonstrate":[111,166,181],"how":[112],"smoothly":[114],"compose":[115],"with":[116,204],"existing":[117],"theorems,":[119],"result":[121],"correctness":[124],"theorem":[125],"overall":[128],"Cogent-C":[129,188],"The":[131],"FFI":[133],"constraints":[134],"ensure":[135],"key":[137],"system":[142],"are":[143],"maintained":[144],"even":[145],"calling":[147],"verify":[151],"reusable":[152],"higher-order":[153],"polymorphic":[155],"functions":[156],"including":[157,172],"generic":[159],"loop":[160],"combinator":[161],"array":[163],"iterators":[164],"application":[168],"several":[170],"examples":[171],"binary":[173],"search":[174],"BilbyFs":[177],"feasibility":[183],"mixed":[187],"systems,":[189],"provide":[191],"some":[192],"insight":[193],"into":[194],"software":[197],"comprised":[198],"code":[200],"multiple":[202],"languages":[203],"differing":[205],"levels":[206],"guarantees.":[209]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":2}],"updated_date":"2026-07-03T08:13:44.112507","created_date":"2022-01-25T00:00:00"}
