{"id":"https://openalex.org/W3195094068","doi":"https://doi.org/10.1145/3473591","title":"Compositional optimizations for CertiCoq","display_name":"Compositional optimizations for CertiCoq","publication_year":2021,"publication_date":"2021-08-19","ids":{"openalex":"https://openalex.org/W3195094068","doi":"https://doi.org/10.1145/3473591","mag":"3195094068"},"language":"en","primary_location":{"id":"doi:10.1145/3473591","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3473591","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3473591","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/3473591","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5011183925","display_name":"Zoe Paraskevopoulou","orcid":"https://orcid.org/0009-0001-2352-9818"},"institutions":[{"id":"https://openalex.org/I12912129","display_name":"Northeastern University","ror":"https://ror.org/04t5xt781","country_code":"US","type":"education","lineage":["https://openalex.org/I12912129"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Zoe Paraskevopoulou","raw_affiliation_strings":["Northeastern University, USA"],"affiliations":[{"raw_affiliation_string":"Northeastern University, USA","institution_ids":["https://openalex.org/I12912129"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5035957556","display_name":"John M. Li","orcid":"https://orcid.org/0000-0003-2130-5092"},"institutions":[{"id":"https://openalex.org/I20089843","display_name":"Princeton University","ror":"https://ror.org/00hx57361","country_code":"US","type":"education","lineage":["https://openalex.org/I20089843"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"John M. Li","raw_affiliation_strings":["Princeton University, USA"],"affiliations":[{"raw_affiliation_string":"Princeton University, USA","institution_ids":["https://openalex.org/I20089843"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5004766305","display_name":"Andrew W. Appel","orcid":"https://orcid.org/0000-0001-6009-0325"},"institutions":[{"id":"https://openalex.org/I20089843","display_name":"Princeton University","ror":"https://ror.org/00hx57361","country_code":"US","type":"education","lineage":["https://openalex.org/I20089843"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Andrew W. Appel","raw_affiliation_strings":["Princeton University, USA"],"affiliations":[{"raw_affiliation_string":"Princeton University, USA","institution_ids":["https://openalex.org/I20089843"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5011183925"],"corresponding_institution_ids":["https://openalex.org/I12912129"],"apc_list":null,"apc_paid":null,"fwci":1.6897,"has_fulltext":true,"cited_by_count":16,"citation_normalized_percentile":{"value":0.87079819,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":"5","issue":"ICFP","first_page":"1","last_page":"30"},"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.9998000264167786,"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.9998000264167786,"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.9994000196456909,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9983999729156494,"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.8526448011398315},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.8403459787368774},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.7916213274002075},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.773137092590332},{"id":"https://openalex.org/keywords/transitive-closure","display_name":"Transitive closure","score":0.4999265670776367},{"id":"https://openalex.org/keywords/compiler-correctness","display_name":"Compiler correctness","score":0.44089847803115845},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.42971307039260864},{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.4209517240524292},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3504706621170044},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.09069734811782837}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8526448011398315},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8403459787368774},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.7916213274002075},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.773137092590332},{"id":"https://openalex.org/C128896722","wikidata":"https://www.wikidata.org/wiki/Q1501387","display_name":"Transitive closure","level":2,"score":0.4999265670776367},{"id":"https://openalex.org/C68366613","wikidata":"https://www.wikidata.org/wiki/Q5156378","display_name":"Compiler correctness","level":3,"score":0.44089847803115845},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.42971307039260864},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.4209517240524292},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3504706621170044},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.09069734811782837},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3473591","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3473591","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3473591","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/3473591","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3473591","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3473591","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/G2111556843","display_name":null,"funder_award_id":"CCF-1521602 and CCF-2005545","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G3010298206","display_name":"SHF: Small: VeriFFI -- Formally Verified Functional+C programs","funder_award_id":"2005545","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G3436575690","display_name":null,"funder_award_id":"CCF-152160","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G3767049597","display_name":null,"funder_award_id":"1521602","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G848032724","display_name":null,"funder_award_id":"Science","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8496718627","display_name":null,"funder_award_id":"CCF-1521602","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"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3195094068.pdf","grobid_xml":"https://content.openalex.org/works/W3195094068.grobid-xml"},"referenced_works_count":63,"referenced_works":["https://openalex.org/W188282463","https://openalex.org/W1508098446","https://openalex.org/W1552909716","https://openalex.org/W1580664042","https://openalex.org/W1879332745","https://openalex.org/W1970691969","https://openalex.org/W1971559523","https://openalex.org/W1981830935","https://openalex.org/W1982866418","https://openalex.org/W1991984504","https://openalex.org/W2023035194","https://openalex.org/W2032072432","https://openalex.org/W2057065238","https://openalex.org/W2059416532","https://openalex.org/W2065748025","https://openalex.org/W2067081213","https://openalex.org/W2073771426","https://openalex.org/W2073904768","https://openalex.org/W2085014646","https://openalex.org/W2088735483","https://openalex.org/W2091345373","https://openalex.org/W2091779700","https://openalex.org/W2095770127","https://openalex.org/W2097958972","https://openalex.org/W2104795876","https://openalex.org/W2118172707","https://openalex.org/W2148662736","https://openalex.org/W2163690888","https://openalex.org/W2165594098","https://openalex.org/W2170471756","https://openalex.org/W2294599249","https://openalex.org/W2390888944","https://openalex.org/W2474272294","https://openalex.org/W2478723878","https://openalex.org/W2516139633","https://openalex.org/W2562114628","https://openalex.org/W2750805175","https://openalex.org/W2762872281","https://openalex.org/W2776685097","https://openalex.org/W2781242936","https://openalex.org/W2900135310","https://openalex.org/W2912126004","https://openalex.org/W2912784218","https://openalex.org/W2916488864","https://openalex.org/W2917906087","https://openalex.org/W2964672981","https://openalex.org/W2964769002","https://openalex.org/W2990172991","https://openalex.org/W2994990491","https://openalex.org/W2995664728","https://openalex.org/W3001474023","https://openalex.org/W3004681883","https://openalex.org/W3016921254","https://openalex.org/W3113614934","https://openalex.org/W3118490272","https://openalex.org/W3139619551","https://openalex.org/W3175944920","https://openalex.org/W3175970536","https://openalex.org/W3207362965","https://openalex.org/W4239690658","https://openalex.org/W4240497447","https://openalex.org/W4245120671","https://openalex.org/W4252501555"],"related_works":["https://openalex.org/W4252501555","https://openalex.org/W55831818","https://openalex.org/W2003848320","https://openalex.org/W2094199724","https://openalex.org/W3000589862","https://openalex.org/W2169584677","https://openalex.org/W4232954277","https://openalex.org/W4240253816","https://openalex.org/W4226439887","https://openalex.org/W2749133591"],"abstract_inverted_index":{"Compositional":[0],"compiler":[1,82,96,141,189],"verification":[2,41,59,91,247],"is":[3,66,72],"a":[4,89,169,181,188,211],"difficult":[5],"problem":[6],"that":[7,101,107,114,214,257],"focuses":[8],"on":[9],"separate":[10,268],"compilation":[11],"of":[12,28,42,49,60,120,157,171,213,238],"program":[13,29,108,158],"components":[14,109],"with":[15,168,276],"possibly":[16],"different":[17,272,277],"verified":[18,242],"compilers.":[19],"Logical":[20],"relations":[21,167],"are":[22,110,274,281],"widely":[23],"used":[24],"in":[25,31,131,241,283],"proving":[26],"correctness":[27,97],"transformations":[30,153],"higher-order":[32,64],"languages;":[33],"however,":[34],"they":[35],"do":[36],"not":[37],"scale":[38],"to":[39,46,55,57,133,179,195,210,224,265],"compositional":[40,58,95,137],"multi-pass":[43,61,140],"compilers":[44,62],"due":[45],"their":[47],"lack":[48],"transitivity.":[50],"The":[51,197],"only":[52],"known":[53],"technique":[54,178],"apply":[56,176],"for":[63,81,93,139,186,254],"languages":[65],"parametric":[67],"inter-language":[68],"simulations":[69],"(PILS),":[70],"which":[71,219],"however":[73],"significantly":[74],"more":[75,231],"complicated":[76],"than":[77,235],"traditional":[78,144],"proof":[79,286],"techniques":[80],"correctness.":[83],"In":[84],"this":[85,162,177],"paper,":[86],"we":[87,249],"present":[88],"novel":[90,246],"framework":[92,148],"lightweight":[94],".":[98,174],"We":[99,160,175],"demonstrate":[100],"by":[102,112,163],"imposing":[103],"the":[104,117,155,236,239,284],"additional":[105],"restriction":[106],"compiled":[111,275],"pipelines":[113],"go":[115],"through":[116],"same":[118],"sequence":[119],"intermediate":[121,205],"representations":[122],",":[123],"logical":[124,166],"relation":[125],"proofs":[126],"can":[127,220],"be":[128,221],"transitively":[129],"composed":[130],"order":[132],"derive":[134],"an":[135,202,251],"end-to-end":[136,252],"specification":[138,193],"pipelines.":[142],"Unlike":[143],"logical-relation":[145],"frameworks,":[146],"our":[147,165,228,245,255],"supports":[149],"divergence":[150,262],"preservation\u2014even":[151],"when":[152,271],"reduce":[154],"number":[156],"steps.":[159],"achieve":[161],"parameterizing":[164],"pair":[170],"relational":[172],"invariants":[173],"verify":[180],"multi-pass,":[182],"optimizing":[183],"middle-end":[184],"pipeline":[185,198,229,256],"CertiCoq,":[187],"from":[190],"Gallina":[191],"(Coq\u2019s":[192],"language)":[194],"C.":[196],"optimizes":[199],"and":[200,261,263,267],"closure-converts":[201],"untyped":[203],"functional":[204],"language":[206,215],"(ANF":[207],"or":[208],"CPS)":[209],"subset":[212],"without":[216],"nested":[217],"functions,":[218],"easily":[222],"code-generated":[223],"low-level":[225],"languages.":[226],"Notably,":[227],"performs":[230],"complex":[232],"closure-allocation":[233],"optimizations":[234],"state":[237],"art":[240],"compilation.":[243],"Using":[244],"framework,":[248],"prove":[250],"theorem":[253],"covers":[258],"both":[259],"termination":[260],"applies":[264],"whole-program":[266],"compilation,":[269],"even":[270],"modules":[273],"optimizations.":[278],"Our":[279],"results":[280],"mechanized":[282],"Coq":[285],"assistant.":[287]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":5}],"updated_date":"2026-04-03T22:45:19.894376","created_date":"2025-10-10T00:00:00"}
