{"id":"https://openalex.org/W4402952865","doi":"https://doi.org/10.1145/3689749","title":"Extending the C/C++ Memory Model with Inline Assembly","display_name":"Extending the C/C++ Memory Model with Inline Assembly","publication_year":2024,"publication_date":"2024-10-08","ids":{"openalex":"https://openalex.org/W4402952865","doi":"https://doi.org/10.1145/3689749"},"language":"en","primary_location":{"id":"doi:10.1145/3689749","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3689749","pdf_url":null,"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":["arxiv","crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3689749","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5004707989","display_name":"Paulo Em\u00edlio de Vilhena","orcid":"https://orcid.org/0000-0001-7379-310X"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Paulo Em\u00edlio de Vilhena","raw_affiliation_strings":["Imperial College London, London, United Kingdom"],"raw_orcid":"https://orcid.org/0000-0001-7379-310X","affiliations":[{"raw_affiliation_string":"Imperial College London, London, United Kingdom","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5102734862","display_name":"Ori Lahav","orcid":"https://orcid.org/0000-0003-4305-6998"},"institutions":[{"id":"https://openalex.org/I16391192","display_name":"Tel Aviv University","ror":"https://ror.org/04mhzgx49","country_code":"IL","type":"education","lineage":["https://openalex.org/I16391192"]}],"countries":["IL"],"is_corresponding":false,"raw_author_name":"Ori Lahav","raw_affiliation_strings":["Tel Aviv University, Tel Aviv, Israel"],"raw_orcid":"https://orcid.org/0000-0003-4305-6998","affiliations":[{"raw_affiliation_string":"Tel Aviv University, Tel Aviv, Israel","institution_ids":["https://openalex.org/I16391192"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023359178","display_name":"Viktor Vafeiadis","orcid":"https://orcid.org/0000-0001-8436-0334"},"institutions":[{"id":"https://openalex.org/I4210121786","display_name":"Max Planck Institute for Software Systems","ror":"https://ror.org/02pe2kf23","country_code":"DE","type":"facility","lineage":["https://openalex.org/I149899117","https://openalex.org/I4210121786"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Viktor Vafeiadis","raw_affiliation_strings":["MPI-SWS, Kaiserslautern, Germany"],"raw_orcid":"https://orcid.org/0000-0001-8436-0334","affiliations":[{"raw_affiliation_string":"MPI-SWS, Kaiserslautern, Germany","institution_ids":["https://openalex.org/I4210121786"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5083721882","display_name":"Azalea Raad","orcid":"https://orcid.org/0000-0002-2319-3242"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Azalea Raad","raw_affiliation_strings":["Imperial College London, London, United Kingdom"],"raw_orcid":"https://orcid.org/0000-0002-2319-3242","affiliations":[{"raw_affiliation_string":"Imperial College London, London, United Kingdom","institution_ids":["https://openalex.org/I47508984"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.15456238,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"8","issue":"OOPSLA2","first_page":"1081","last_page":"1107"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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/T12127","display_name":"Software System Performance and Reliability","score":0.9966999888420105,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9965000152587891,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.8300530314445496},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.806535005569458},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7900711894035339},{"id":"https://openalex.org/keywords/memory-model","display_name":"Memory model","score":0.6476743817329407},{"id":"https://openalex.org/keywords/x86","display_name":"x86","score":0.6175140142440796},{"id":"https://openalex.org/keywords/consistency","display_name":"Consistency (knowledge bases)","score":0.559221625328064},{"id":"https://openalex.org/keywords/assembly-language","display_name":"Assembly language","score":0.4945182502269745},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.4933384954929352},{"id":"https://openalex.org/keywords/sequential-consistency","display_name":"Sequential consistency","score":0.47346773743629456},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4441395401954651},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.4432094991207123},{"id":"https://openalex.org/keywords/snippet","display_name":"Snippet","score":0.4372686743736267},{"id":"https://openalex.org/keywords/consistency-model","display_name":"Consistency model","score":0.3663291335105896},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.33828163146972656},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.17509838938713074},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.12342056632041931},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.11666902899742126}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8300530314445496},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.806535005569458},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7900711894035339},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.6476743817329407},{"id":"https://openalex.org/C170723468","wikidata":"https://www.wikidata.org/wiki/Q182933","display_name":"x86","level":3,"score":0.6175140142440796},{"id":"https://openalex.org/C2776436953","wikidata":"https://www.wikidata.org/wiki/Q5163215","display_name":"Consistency (knowledge bases)","level":2,"score":0.559221625328064},{"id":"https://openalex.org/C50831359","wikidata":"https://www.wikidata.org/wiki/Q165436","display_name":"Assembly language","level":3,"score":0.4945182502269745},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.4933384954929352},{"id":"https://openalex.org/C82029504","wikidata":"https://www.wikidata.org/wiki/Q4373882","display_name":"Sequential consistency","level":4,"score":0.47346773743629456},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4441395401954651},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.4432094991207123},{"id":"https://openalex.org/C2777822670","wikidata":"https://www.wikidata.org/wiki/Q1120538","display_name":"Snippet","level":2,"score":0.4372686743736267},{"id":"https://openalex.org/C37279795","wikidata":"https://www.wikidata.org/wiki/Q2492305","display_name":"Consistency model","level":3,"score":0.3663291335105896},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.33828163146972656},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.17509838938713074},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.12342056632041931},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.11666902899742126},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/3689749","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3689749","pdf_url":null,"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:arXiv.org:2408.17208","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2408.17208","pdf_url":"https://arxiv.org/pdf/2408.17208","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:zenodo.org:13625917","is_oa":true,"landing_page_url":"https://doi.org/10.5281/zenodo.13625916","pdf_url":null,"source":{"id":"https://openalex.org/S4306400562","display_name":"Zenodo (CERN European Organization for Nuclear Research)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I67311998","host_organization_name":"European Organization for Nuclear Research","host_organization_lineage":["https://openalex.org/I67311998"],"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":"Proceedings of the ACM on Programming Languages, 8(OOPSLA2), 309, (2024-10-01)","raw_type":"info:eu-repo/semantics/conferencePaper"},{"id":"doi:10.5281/zenodo.13625917","is_oa":true,"landing_page_url":"https://doi.org/10.5281/zenodo.13625917","pdf_url":null,"source":{"id":"https://openalex.org/S4306400562","display_name":"Zenodo (CERN European Organization for Nuclear Research)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I67311998","host_organization_name":"European Organization for Nuclear Research","host_organization_lineage":["https://openalex.org/I67311998"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":""}],"best_oa_location":{"id":"doi:10.1145/3689749","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3689749","pdf_url":null,"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/G2440827479","display_name":"Verification-Aware Programming Language Concurrency Semantics","funder_award_id":"851811","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"},{"id":"https://openalex.org/G2733032670","display_name":"SACRED-MA: Safe And seCure REmote Direct Memory Access","funder_award_id":"EP/X037029/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G3278247390","display_name":null,"funder_award_id":"101003349","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"},{"id":"https://openalex.org/G5002861355","display_name":null,"funder_award_id":"MR/V024299/1","funder_id":"https://openalex.org/F4320314731","funder_display_name":"UK Research and Innovation"},{"id":"https://openalex.org/G672011599","display_name":null,"funder_award_id":"EP/X037029/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G7842005466","display_name":null,"funder_award_id":"Horizon 2020","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"}],"funders":[{"id":"https://openalex.org/F4320314731","display_name":"UK Research and Innovation","ror":"https://ror.org/001aqnf71"},{"id":"https://openalex.org/F4320320300","display_name":"European Commission","ror":"https://ror.org/00k4n6c32"},{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":19,"referenced_works":["https://openalex.org/W1561501726","https://openalex.org/W2085773946","https://openalex.org/W2094969361","https://openalex.org/W2117502039","https://openalex.org/W2292996153","https://openalex.org/W2738891045","https://openalex.org/W2769194423","https://openalex.org/W2884767181","https://openalex.org/W3024303244","https://openalex.org/W3114431693","https://openalex.org/W3122287721","https://openalex.org/W4200188844","https://openalex.org/W4226096346","https://openalex.org/W4250846042","https://openalex.org/W4256041698","https://openalex.org/W4315630763","https://openalex.org/W4315631955","https://openalex.org/W4379512336","https://openalex.org/W4400448287"],"related_works":["https://openalex.org/W2036306661","https://openalex.org/W118795575","https://openalex.org/W2145655468","https://openalex.org/W1885534640","https://openalex.org/W1738788207","https://openalex.org/W2764757682","https://openalex.org/W2106389308","https://openalex.org/W2115953580","https://openalex.org/W2052172665","https://openalex.org/W1848398668"],"abstract_inverted_index":{"Programs":[0],"written":[1],"in":[2,27],"C/C++":[3,64],"often":[4],"include":[5],"inline":[6,32,57,80],"assembly":[7,13,33,58,81],":":[8],"a":[9],"snippet":[10],"of":[11,56,63,72],"architecture-specific":[12],"code":[14],"used":[15],"to":[16,25],"access":[17],"low-level":[18],"functionalities":[19],"that":[20,94,115],"are":[21],"impossible":[22],"or":[23],"expensive":[24],"simulate":[26],"the":[28,54,60,68,73],"source":[29],"language.":[30],"Although":[31],"is":[34,118],"widely":[35],"used,":[36],"its":[37],"semantics":[38,62],"has":[39],"not":[40],"yet":[41],"been":[42],"formally":[43],"studied.":[44],"In":[45],"this":[46,50,116],"paper,":[47],"we":[48,113],"overcome":[49],"deficiency":[51],"by":[52,120],"investigating":[53],"effect":[55],"on":[59],"consistency":[61],"programs.":[65],"We":[66,92],"propose":[67],"first":[69],"memory":[70],"model":[71,111],"C++":[74],"Programming":[75],"Language":[76],"with":[77],"support":[78],"for":[79,82],"Intel\u2019s":[83],"x86":[84],"including":[85],"non-temporal":[86],"stores":[87],"and":[88,100,112],"store":[89],"fences":[90],".":[91],"argue":[93],"previous":[95],"provably":[96],"correct":[97,101,106],"compiler":[98,102],"optimizations":[99],"mappings":[103],"should":[104],"remain":[105],"under":[107],"such":[108],"an":[109],"extended":[110],"prove":[114],"requirement":[117],"met":[119],"our":[121],"proposed":[122],"model.":[123]},"counts_by_year":[],"updated_date":"2026-06-16T09:24:06.705377","created_date":"2025-10-10T00:00:00"}
