{"id":"https://openalex.org/W4206371544","doi":"https://doi.org/10.1145/3498686","title":"Verified compilation of C programs with a nominal memory model","display_name":"Verified compilation of C programs with a nominal memory model","publication_year":2022,"publication_date":"2022-01-12","ids":{"openalex":"https://openalex.org/W4206371544","doi":"https://doi.org/10.1145/3498686"},"language":"en","primary_location":{"id":"doi:10.1145/3498686","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3498686","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3498686","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/3498686","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5100384219","display_name":"Yuting Wang","orcid":"https://orcid.org/0000-0003-3990-2418"},"institutions":[{"id":"https://openalex.org/I183067930","display_name":"Shanghai Jiao Tong University","ror":"https://ror.org/0220qvk04","country_code":"CN","type":"education","lineage":["https://openalex.org/I183067930"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Yuting Wang","raw_affiliation_strings":["Shanghai Jiao Tong University, China"],"raw_orcid":"https://orcid.org/0000-0003-3990-2418","affiliations":[{"raw_affiliation_string":"Shanghai Jiao Tong University, China","institution_ids":["https://openalex.org/I183067930"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100450716","display_name":"Ling Zhang","orcid":"https://orcid.org/0000-0001-7190-6983"},"institutions":[{"id":"https://openalex.org/I183067930","display_name":"Shanghai Jiao Tong University","ror":"https://ror.org/0220qvk04","country_code":"CN","type":"education","lineage":["https://openalex.org/I183067930"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Ling Zhang","raw_affiliation_strings":["Shanghai Jiao Tong University, China"],"raw_orcid":"https://orcid.org/0000-0001-7190-6983","affiliations":[{"raw_affiliation_string":"Shanghai Jiao Tong University, China","institution_ids":["https://openalex.org/I183067930"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5070627140","display_name":"Zhong Shao","orcid":"https://orcid.org/0000-0001-8184-7649"},"institutions":[{"id":"https://openalex.org/I32971472","display_name":"Yale University","ror":"https://ror.org/03v76x132","country_code":"US","type":"education","lineage":["https://openalex.org/I32971472"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Zhong Shao","raw_affiliation_strings":["Yale University, USA"],"raw_orcid":"https://orcid.org/0000-0001-8184-7649","affiliations":[{"raw_affiliation_string":"Yale University, USA","institution_ids":["https://openalex.org/I32971472"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5084958510","display_name":"J\u00e9r\u00e9mie Koenig","orcid":"https://orcid.org/0000-0002-3168-5925"},"institutions":[{"id":"https://openalex.org/I32971472","display_name":"Yale University","ror":"https://ror.org/03v76x132","country_code":"US","type":"education","lineage":["https://openalex.org/I32971472"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"J\u00e9r\u00e9mie Koenig","raw_affiliation_strings":["Yale University, USA"],"raw_orcid":"https://orcid.org/0000-0002-3168-5925","affiliations":[{"raw_affiliation_string":"Yale University, USA","institution_ids":["https://openalex.org/I32971472"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.7873,"has_fulltext":true,"cited_by_count":6,"citation_normalized_percentile":{"value":0.7530694,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"6","issue":"POPL","first_page":"1","last_page":"31"},"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.9995999932289124,"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.9995999932289124,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9983000159263611,"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"}},{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.998199999332428,"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.828605055809021},{"id":"https://openalex.org/keywords/memory-model","display_name":"Memory model","score":0.6452360153198242},{"id":"https://openalex.org/keywords/memory-map","display_name":"Memory map","score":0.5159064531326294},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.500443696975708},{"id":"https://openalex.org/keywords/block","display_name":"Block (permutation group theory)","score":0.4676470458507538},{"id":"https://openalex.org/keywords/flat-memory-model","display_name":"Flat memory model","score":0.46343737840652466},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.4457201361656189},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4396275281906128},{"id":"https://openalex.org/keywords/interleaved-memory","display_name":"Interleaved memory","score":0.4359566271305084},{"id":"https://openalex.org/keywords/distributed-memory","display_name":"Distributed memory","score":0.41637617349624634},{"id":"https://openalex.org/keywords/distributed-shared-memory","display_name":"Distributed shared memory","score":0.41201460361480713},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.3952410817146301},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.39428865909576416},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.38325488567352295},{"id":"https://openalex.org/keywords/overlay","display_name":"Overlay","score":0.10053524374961853},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.07154592871665955}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.828605055809021},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.6452360153198242},{"id":"https://openalex.org/C74426580","wikidata":"https://www.wikidata.org/wiki/Q719484","display_name":"Memory map","level":3,"score":0.5159064531326294},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.500443696975708},{"id":"https://openalex.org/C2777210771","wikidata":"https://www.wikidata.org/wiki/Q4927124","display_name":"Block (permutation group theory)","level":2,"score":0.4676470458507538},{"id":"https://openalex.org/C57863822","wikidata":"https://www.wikidata.org/wiki/Q905488","display_name":"Flat memory model","level":4,"score":0.46343737840652466},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.4457201361656189},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4396275281906128},{"id":"https://openalex.org/C63511323","wikidata":"https://www.wikidata.org/wiki/Q908936","display_name":"Interleaved memory","level":4,"score":0.4359566271305084},{"id":"https://openalex.org/C91481028","wikidata":"https://www.wikidata.org/wiki/Q1054686","display_name":"Distributed memory","level":3,"score":0.41637617349624634},{"id":"https://openalex.org/C39528615","wikidata":"https://www.wikidata.org/wiki/Q1229610","display_name":"Distributed shared memory","level":5,"score":0.41201460361480713},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.3952410817146301},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.39428865909576416},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.38325488567352295},{"id":"https://openalex.org/C136085584","wikidata":"https://www.wikidata.org/wiki/Q910289","display_name":"Overlay","level":2,"score":0.10053524374961853},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.07154592871665955},{"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/3498686","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3498686","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3498686","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/3498686","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3498686","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3498686","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/G3110387430","display_name":null,"funder_award_id":"62002217","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"},{"id":"https://openalex.org/G536862562","display_name":"SHF: Medium: DeepSEA: A Language for Programming and Synthesizing Certified Software","funder_award_id":"1763399","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6080364906","display_name":"Collaborative Research:  Expeditions in Computing:  The Science of Deep Specification","funder_award_id":"1521523","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8190725286","display_name":null,"funder_award_id":"1521523, 1763399, 2019285","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8458969471","display_name":null,"funder_award_id":"1521523,1763399,2019285,2118851","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8557257388","display_name":"FMitF: Track I: ADVERT: Compositional Atomic Specifications for Distributed System Verification","funder_award_id":"2019285","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8889032484","display_name":"PPoSS: Planning: High-Performance Certified Trust for Global-Scale Applications","funder_award_id":"2118851","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/F4320308380","display_name":"Yale University","ror":"https://ror.org/03v76x132"},{"id":"https://openalex.org/F4320321001","display_name":"National Natural Science Foundation of China","ror":"https://ror.org/01h0zpd94"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4206371544.pdf","grobid_xml":"https://content.openalex.org/works/W4206371544.grobid-xml"},"referenced_works_count":30,"referenced_works":["https://openalex.org/W1572334481","https://openalex.org/W1684926818","https://openalex.org/W1963833875","https://openalex.org/W1975082667","https://openalex.org/W2026236518","https://openalex.org/W2032072432","https://openalex.org/W2064390891","https://openalex.org/W2093678838","https://openalex.org/W2099730999","https://openalex.org/W2154942048","https://openalex.org/W2162208777","https://openalex.org/W2172426415","https://openalex.org/W2213989452","https://openalex.org/W2294599249","https://openalex.org/W2295752850","https://openalex.org/W2343018180","https://openalex.org/W2606605761","https://openalex.org/W2746152268","https://openalex.org/W2798365728","https://openalex.org/W2900135310","https://openalex.org/W2954518791","https://openalex.org/W2994990491","https://openalex.org/W3015316918","https://openalex.org/W3109493439","https://openalex.org/W3111047563","https://openalex.org/W3139619551","https://openalex.org/W3172076348","https://openalex.org/W4232666937","https://openalex.org/W4247648759","https://openalex.org/W4249168174"],"related_works":["https://openalex.org/W2372089046","https://openalex.org/W254684032","https://openalex.org/W2148868967","https://openalex.org/W1538906572","https://openalex.org/W120214571","https://openalex.org/W3128413462","https://openalex.org/W2560368221","https://openalex.org/W1559887960","https://openalex.org/W43633106","https://openalex.org/W167891743"],"abstract_inverted_index":{"Memory":[0],"models":[1],"play":[2],"an":[3,148],"important":[4],"role":[5],"in":[6,56,109,135],"verified":[7,24,119,258],"compilation":[8,120,259],"of":[9,21,95,121,139,171,193,202,228,237,239,260,267],"imperative":[10],"programming":[11],"languages.":[12],"A":[13],"representative":[14],"one":[15],"is":[16,40,87],"the":[17,30,83,98,143,151,162,168,182,191,200,208,226,229,248,294,298,303],"block-based":[18,152],"memory":[19,33,38,54,59,78,96,153,164,183,194,213,217,231,250,305],"model":[20,39,154,181,251,306],"CompCert---the":[22],"state-of-the-art":[23],"C":[25,261],"compiler.":[26],"Despite":[27],"its":[28],"success,":[29],"abstraction":[31],"over":[32],"space":[34,60],"provided":[35],"by":[36],"CompCert's":[37],"still":[41],"primitive":[42],"and":[43,61,71,100,178,205,221,273],"inflexible.":[44],"In":[45],"essence,":[46],"it":[47,86,161],"uses":[48,62],"a":[49,57,63,235,254],"fixed":[50],"representation":[51,192],"for":[52,67,82,117,211,219,257],"identifying":[53],"blocks":[55,195],"global":[58,84,101,209],"globally":[64],"shared":[65],"state":[66],"distinguishing":[68],"between":[69],"used":[70],"unused":[72],"blocks.":[73],"Therefore,":[74],"any":[75,197],"reasoning":[76,266,277],"about":[77,92,278],"must":[79],"work":[80,129],"uniformly":[81],"memory;":[85,272],"impossible":[88],"to":[89,128,150,180,188,196,293,308],"individually":[90],"reason":[91],"different":[93],"sub-regions":[94],"(i.e.,":[97],"stack":[99],"definitions).":[102],"This":[103],"not":[104],"only":[105],"incurs":[106],"unnecessary":[107],"complexity":[108],"compiler":[110,268],"verification,":[111],"but":[112],"also":[113,285],"poses":[114],"significant":[115],"difficulty":[116],"supporting":[118],"open":[122,220],"or":[123],"concurrent":[124,222],"programs":[125,279],"which":[126],"need":[127],"with":[130,281],"contextual":[131,282],"memory,":[132],"as":[133,175],"manifested":[134],"many":[136],"previous":[137],"extensions":[138,238,245,289],"CompCert.":[140],"To":[141,224],"remove":[142,207],"above":[144],"limitations,":[145],"we":[146,159,185,233],"propose":[147],"enhancement":[149],"based":[155,241,301],"on":[156,242,270,302],"nominal":[157,163,172,230,249,304],"techniques;":[158],"call":[160],"model.":[165],"By":[166],"adopting":[167],"key":[169],"concepts":[170],"techniques":[173,300],"such":[174],"atomic":[176,203],"names":[177,204],"supports":[179,253],"space,":[184],"are":[186],"able":[187],"1)":[189,252],"generalize":[190],"types":[198],"satisfying":[199],"properties":[201],"2)":[206,263],"constraints":[210],"managing":[212],"blocks,":[214],"enabling":[215],"flexible":[216],"structures":[218],"programs.":[223],"demonstrate":[225,286],"effectiveness":[227],"model,":[232],"develop":[234],"series":[236],"CompCert":[240],"it.":[243],"These":[244],"show":[246],"that":[247,287],"general":[255],"framework":[256],"programs,":[262],"enables":[264,275],"intuitive":[265],"transformations":[269],"partial":[271],"3)":[274],"modular":[276],"working":[280],"memory.":[283],"We":[284],"these":[288],"require":[290],"limited":[291],"changes":[292],"original":[295],"CompCert,":[296],"making":[297],"verification":[299],"easy":[307],"adopt.":[309]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
