{"id":"https://openalex.org/W3198655453","doi":"https://doi.org/10.1145/3462206","title":"Safe-by-default Concurrency for Modern Programming Languages","display_name":"Safe-by-default Concurrency for Modern Programming Languages","publication_year":2021,"publication_date":"2021-09-03","ids":{"openalex":"https://openalex.org/W3198655453","doi":"https://doi.org/10.1145/3462206","mag":"3198655453"},"language":"en","primary_location":{"id":"doi:10.1145/3462206","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3462206","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3462206","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3462206","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5100784002","display_name":"Lun Liu","orcid":"https://orcid.org/0000-0001-6550-8129"},"institutions":[{"id":"https://openalex.org/I161318765","display_name":"University of California, Los Angeles","ror":"https://ror.org/046rm7j60","country_code":"US","type":"education","lineage":["https://openalex.org/I161318765"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Lun Liu","raw_affiliation_strings":["University of California, Los Angeles, CA, USA"],"affiliations":[{"raw_affiliation_string":"University of California, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I161318765"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5014067492","display_name":"Todd Millstein","orcid":"https://orcid.org/0000-0002-2031-1514"},"institutions":[{"id":"https://openalex.org/I161318765","display_name":"University of California, Los Angeles","ror":"https://ror.org/046rm7j60","country_code":"US","type":"education","lineage":["https://openalex.org/I161318765"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Todd Millstein","raw_affiliation_strings":["University of California, Los Angeles, CA, USA"],"affiliations":[{"raw_affiliation_string":"University of California, Los Angeles, CA, USA","institution_ids":["https://openalex.org/I161318765"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5040009052","display_name":"Madanlal Musuvathi","orcid":"https://orcid.org/0000-0002-2482-7892"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Madanlal Musuvathi","raw_affiliation_strings":["Microsoft Research, Redmond, WA, USA"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, Redmond, WA, USA","institution_ids":["https://openalex.org/I1290206253"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5100784002"],"corresponding_institution_ids":["https://openalex.org/I161318765"],"apc_list":null,"apc_paid":null,"fwci":0.7074,"has_fulltext":true,"cited_by_count":6,"citation_normalized_percentile":{"value":0.67841815,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":"43","issue":"3","first_page":"1","last_page":"50"},"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.9993000030517578,"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.9993000030517578,"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.9991999864578247,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9983000159263611,"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.9084911346435547},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7320855855941772},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5304358005523682},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.4912347197532654}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9084911346435547},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7320855855941772},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5304358005523682},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.4912347197532654}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3462206","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3462206","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3462206","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3462206","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3462206","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3462206","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G3069132530","display_name":"NeTS: Medium: Collaborative Research: Network Configuration Synthesis: A Path to Practical Deployment","funder_award_id":"1704336","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G3143604296","display_name":null,"funder_award_id":"CCF-1527923","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/W3198655453.pdf","grobid_xml":"https://content.openalex.org/works/W3198655453.grobid-xml"},"referenced_works_count":42,"referenced_works":["https://openalex.org/W4015096","https://openalex.org/W867008410","https://openalex.org/W1525350307","https://openalex.org/W1557561422","https://openalex.org/W1969168679","https://openalex.org/W2016012949","https://openalex.org/W2022115937","https://openalex.org/W2039509099","https://openalex.org/W2054739713","https://openalex.org/W2068530820","https://openalex.org/W2096698236","https://openalex.org/W2103408719","https://openalex.org/W2105900173","https://openalex.org/W2106389308","https://openalex.org/W2111858071","https://openalex.org/W2117069557","https://openalex.org/W2120575449","https://openalex.org/W2127731413","https://openalex.org/W2138074470","https://openalex.org/W2146766856","https://openalex.org/W2149207009","https://openalex.org/W2151399202","https://openalex.org/W2152621318","https://openalex.org/W2153792453","https://openalex.org/W2160963348","https://openalex.org/W2163490397","https://openalex.org/W2164264520","https://openalex.org/W2169753096","https://openalex.org/W2293159724","https://openalex.org/W2531502343","https://openalex.org/W2542459869","https://openalex.org/W2560534236","https://openalex.org/W2564852534","https://openalex.org/W2626631502","https://openalex.org/W2763865917","https://openalex.org/W2912793039","https://openalex.org/W2955306203","https://openalex.org/W2997323435","https://openalex.org/W4232019702","https://openalex.org/W4250518453","https://openalex.org/W4251987281","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2748952813","https://openalex.org/W3096456556","https://openalex.org/W2171648479","https://openalex.org/W2132806979","https://openalex.org/W2127315869","https://openalex.org/W1713081424","https://openalex.org/W1523769955","https://openalex.org/W2245390655","https://openalex.org/W4379536100","https://openalex.org/W188282463"],"abstract_inverted_index":{"Modern":[0],"\u201csafe\u201d":[1],"programming":[2,25],"languages":[3,22,54],"follow":[4],"a":[5,122,131,236,272,288],"design":[6,59,105,168],"principle":[7,60],"that":[8,38,90,172,218,247,275,291,313,333],"we":[9,129,141,206,232,331],"call":[10,142],"safety":[11,46],"by":[12,16,154],"default":[13,124],"and":[14,30,77,87,133,190,203,210,228,287],"performance":[15,118,263],"choice":[17],".":[18,145],"By":[19,66],"default,":[20,67,155],"these":[21,52],"enforce":[23,219],"important":[24,71],"abstractions,":[26,72],"such":[27,73],"as":[28,74,336,338],"memory":[29,82],"type":[31],"safety,":[32],"but":[33,110,321],"they":[34],"also":[35,169,266],"provide":[36],"mechanisms":[37,279],"allow":[39,173],"expert":[40,174],"programmers":[41,175],"to":[42,80,84,94,176,238],"explicitly":[43],"trade":[44],"some":[45,326],"guarantees":[47],"for":[48,64,137,197,259,283,325],"increased":[49],"performance.":[50],"However,":[51,164],"same":[53],"have":[55,150],"adopted":[56],"the":[57,104,116,158,165,178,186,193,220,239,243,252,260,281,293,297,304,314,343],"inverse":[58],"in":[61,181,280],"their":[62],"support":[63],"multithreading.":[65],"multithreaded":[68],"programs":[69,149],"violate":[70],"program":[75],"order":[76],"atomic":[78,285],"access":[79],"individual":[81],"locations":[83],"admit":[85],"compiler":[86,241,334],"hardware":[88,227,258],"optimizations":[89,335],"would":[91],"otherwise":[92],"need":[93],"be":[95],"restricted.":[96],"Not":[97],"only":[98],"does":[99],"this":[100,127,147],"approach":[101,274,290],"conflict":[102],"with":[103],"philosophy":[106],"of":[107,120,162,192,214,251,262,295,306,316],"safe":[108,138,200],"languages,":[109,139],"very":[111],"little":[112],"is":[113,157,303,319],"known":[114],"about":[115],"practical":[117],"cost":[119,315],"providing":[121],"stronger":[123],"semantics.":[125],"In":[126],"article,":[128],"propose":[130],"safe-by-default":[132],"performance-by-choice":[134],"multithreading":[135],"semantics":[136,161,196,223,255,300],"which":[140,156],"volatile":[143,166,194,221,253,298],"-by-default":[144,167,195,222,254,299],"Under":[146],"semantics,":[148],"sequential":[151],"consistency":[152],"(SC)":[153],"natural":[159],"\u201cinterleaving\u201d":[160],"threads.":[163],"includes":[170],"annotations":[171,340],"avoid":[177],"associated":[179],"overheads":[180],"performance-critical":[182],"code.":[183],"We":[184,265],"describe":[185],"design,":[187],"implementation,":[188],"optimization,":[189],"evaluation":[191],"two":[198,268],"different":[199,269],"languages:":[201],"Java":[202],"Julia.":[204],"First,":[205],"present":[207,233],"V":[208,211],"BD-HotSpot":[209],"BDA-HotSpot,":[212],"modifications":[213],"Oracle\u2019s":[215],"HotSpot":[216],"JVM":[217],"on":[224,256],"Intel":[225],"x86-64":[226,257],"ARM-v8":[229],"hardware.":[230],"Second,":[231],"S":[234],"C-Julia,":[235],"modification":[237],"just-in-time":[240],"within":[242],"standard":[244],"Julia":[245],"implementation":[246,270],"provides":[248],"best-effort":[249],"enforcement":[250],"purpose":[261],"evaluation.":[264],"detail":[267],"techniques:":[271],"baseline":[273],"simply":[276],"reuses":[277],"existing":[278],"compilers":[282],"handling":[284],"accesses,":[286],"speculative":[289],"avoids":[292],"overhead":[294,344],"enforcing":[296,317],"until":[301],"there":[302],"possibility":[305],"an":[307],"SC":[308,318],"violation.":[309],"Our":[310],"results":[311],"show":[312],"significant":[320],"arguably":[322],"still":[323],"acceptable":[324],"use":[327],"cases":[328],"today.":[329],"Further,":[330],"demonstrate":[332],"well":[337],"programmer":[339],"can":[341],"reduce":[342],"considerably.":[345]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2}],"updated_date":"2026-04-21T08:09:41.155169","created_date":"2025-10-10T00:00:00"}
