{"id":"https://openalex.org/W4386372839","doi":"https://doi.org/10.1017/s1471068423000303","title":"Locksynth: Deriving Synchronization Code for Concurrent Data Structures with ASP","display_name":"Locksynth: Deriving Synchronization Code for Concurrent Data Structures with ASP","publication_year":2023,"publication_date":"2023-07-01","ids":{"openalex":"https://openalex.org/W4386372839","doi":"https://doi.org/10.1017/s1471068423000303"},"language":"en","primary_location":{"id":"doi:10.1017/s1471068423000303","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s1471068423000303","pdf_url":null,"source":{"id":"https://openalex.org/S59670734","display_name":"Theory and Practice of Logic Programming","issn_l":"1471-0684","issn":["1471-0684","1475-3081"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Theory and Practice of Logic Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5051242183","display_name":"Sarat Chandra Varanasi","orcid":"https://orcid.org/0000-0002-4620-4266"},"institutions":[{"id":"https://openalex.org/I1332737386","display_name":"General Electric (United States)","ror":"https://ror.org/013msgt25","country_code":"US","type":"company","lineage":["https://openalex.org/I1332737386"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"SARAT CHANDRA VARANASI","raw_affiliation_strings":["General Electric Research, NY, USA (e-mail:"],"raw_orcid":"https://orcid.org/0000-0002-4620-4266","affiliations":[{"raw_affiliation_string":"General Electric Research, NY, USA (e-mail:","institution_ids":["https://openalex.org/I1332737386"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5103161933","display_name":"Neeraj Mittal","orcid":"https://orcid.org/0000-0002-8734-1400"},"institutions":[{"id":"https://openalex.org/I162577319","display_name":"The University of Texas at Dallas","ror":"https://ror.org/049emcs32","country_code":"US","type":"education","lineage":["https://openalex.org/I162577319"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"NEERAJ MITTAL","raw_affiliation_strings":["The University of Texas at Dallas, Richardson, TX 75080, USA (e-mails:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Texas at Dallas, Richardson, TX 75080, USA (e-mails:","institution_ids":["https://openalex.org/I162577319"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5067377863","display_name":"Gopal Gupta","orcid":"https://orcid.org/0000-0001-9727-0362"},"institutions":[{"id":"https://openalex.org/I162577319","display_name":"The University of Texas at Dallas","ror":"https://ror.org/049emcs32","country_code":"US","type":"education","lineage":["https://openalex.org/I162577319"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"GOPAL GUPTA","raw_affiliation_strings":["The University of Texas at Dallas, Richardson, TX 75080, USA (e-mails:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Texas at Dallas, Richardson, TX 75080, USA (e-mails:","institution_ids":["https://openalex.org/I162577319"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5051242183"],"corresponding_institution_ids":["https://openalex.org/I1332737386"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.10716033,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"23","issue":"4","first_page":"812","last_page":"831"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9994000196456909,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9994000196456909,"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.9993000030517578,"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.9979000091552734,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8748836517333984},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.6811663508415222},{"id":"https://openalex.org/keywords/synchronization","display_name":"Synchronization (alternating current)","score":0.6739509105682373},{"id":"https://openalex.org/keywords/concurrent-data-structure","display_name":"Concurrent data structure","score":0.5723288059234619},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.555643618106842},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5059472918510437},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.49515238404273987},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4817935824394226},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.455545574426651},{"id":"https://openalex.org/keywords/separation-logic","display_name":"Separation logic","score":0.4391351640224457},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.42548471689224243},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.416567862033844},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.33541208505630493},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.10398492217063904}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8748836517333984},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.6811663508415222},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.6739509105682373},{"id":"https://openalex.org/C203222032","wikidata":"https://www.wikidata.org/wiki/Q5159104","display_name":"Concurrent data structure","level":3,"score":0.5723288059234619},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.555643618106842},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5059472918510437},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.49515238404273987},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4817935824394226},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.455545574426651},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.4391351640224457},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.42548471689224243},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.416567862033844},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.33541208505630493},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10398492217063904},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0},{"id":"https://openalex.org/C127162648","wikidata":"https://www.wikidata.org/wiki/Q16858953","display_name":"Channel (broadcasting)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s1471068423000303","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s1471068423000303","pdf_url":null,"source":{"id":"https://openalex.org/S59670734","display_name":"Theory and Practice of Logic Programming","issn_l":"1471-0684","issn":["1471-0684","1475-3081"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Theory and Practice of Logic Programming","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":28,"referenced_works":["https://openalex.org/W1508811155","https://openalex.org/W1589760516","https://openalex.org/W1590315663","https://openalex.org/W1819989006","https://openalex.org/W1983572666","https://openalex.org/W2062678317","https://openalex.org/W2115873870","https://openalex.org/W2117572751","https://openalex.org/W2122735631","https://openalex.org/W2128870271","https://openalex.org/W2130427425","https://openalex.org/W2131887253","https://openalex.org/W2138927523","https://openalex.org/W2401179365","https://openalex.org/W2508779702","https://openalex.org/W2513640037","https://openalex.org/W2562833768","https://openalex.org/W2804272367","https://openalex.org/W2914127544","https://openalex.org/W2963263783","https://openalex.org/W3010792303","https://openalex.org/W3012168615","https://openalex.org/W3199853656","https://openalex.org/W3211240993","https://openalex.org/W4205690016","https://openalex.org/W4226360274","https://openalex.org/W4229558017","https://openalex.org/W4281711013"],"related_works":["https://openalex.org/W2622138879","https://openalex.org/W2985615839","https://openalex.org/W2011836220","https://openalex.org/W2139241970","https://openalex.org/W4392488547","https://openalex.org/W4296607663","https://openalex.org/W2032767692","https://openalex.org/W134837158","https://openalex.org/W4232408220","https://openalex.org/W1481101394"],"abstract_inverted_index":{"Abstract":[0],"We":[1,118,171,224],"present":[2],"Locksynth":[3,30,197,236],",":[4],"a":[5,21,55,82,164,210,227,262],"tool":[6,254],"that":[7,19,111,120,134,148,162,192],"automatically":[8,143],"derives":[9,214],"synchronization":[10,42,51,73,217],"needed":[11],"for":[12,147,155,186,219],"destructive":[13,168],"updates":[14],"to":[15,142,175,202,258,265],"concurrent":[16,45,88,136,145,267],"data":[17,46,61,84,127,149,222,268],"structures":[18,47],"involve":[20,163,193],"constant":[22,165],"number":[23,166],"of":[24,35,58,67,125,167,180,206,230,250],"shared":[25,68],"heap":[26],"memory":[27,69],"write":[28],"operations.":[29,63,170],"serves":[31],"as":[32,152,209,261],"the":[33,59,72,121,126,177,199,215,220,231,238,243,248,256],"implementation":[34],"our":[36,100,251,253],"prior":[37,56],"work":[38],"on":[39],"deriving":[40],"abstract":[41,122],"code.":[43],"Designing":[44],"involves":[48,107],"inferring":[49],"correct":[50,178,204],"code":[52,124,146,184,218,233],"starting":[53],"with":[54,237],"understanding":[57,66],"sequential":[60,83,123],"structure\u2019s":[62,128],"Further,":[64],"an":[65],"model":[70],"and":[71,97,109,158,208],"primitives":[74],"is":[75,130,140,255],"also":[76,172,213,225],"required.":[77],"The":[78,105],"reasoning":[79,106],"involved":[80],"transforming":[81],"structure":[85,269],"into":[86],"its":[87],"version":[89],"can":[90,112],"be":[91,113],"performed":[92],"using":[93],"Answer":[94],"Set":[95],"Programming,":[96],"we":[98],"mechanized":[99],"approach":[101],"in":[102,116],"previous":[103],"work.":[104],"deduction":[108],"abduction":[110],"succinctly":[114],"modeled":[115],"ASP.":[117],"assume":[119],"operations":[129,154],"provided,":[131],"alongside":[132],"axioms":[133],"describe":[135],"behavior.":[137],"This":[138],"information":[139],"used":[141],"derive":[144],"structure,":[150],"such":[151],"dictionary":[153],"linked":[156],"lists":[157],"binary":[159,189],"search":[160,190],"trees":[161,191],"update":[169],"are":[173],"able":[174],"infer":[176,203],"set":[179],"locks":[181,207],"(but":[182],"not":[183],"synthesis)":[185],"external":[187],"height-balanced":[188],"left/right":[194],"tree":[195],"rotations.":[196],"performs":[198],"analyses":[200],"required":[201],"sets":[205],"final":[211],"step,":[212],"C++":[216,232],"synthesized":[221,234],"structures.":[223],"provide":[226],"performance":[228],"analysis":[229],"by":[235],"hand-crafted":[239],"versions":[240],"available":[241],"from":[242],"Synchrobench":[244],"microbenchmark":[245],"suite.":[246],"To":[247],"best":[249],"knowledge,":[252],"first":[257],"employ":[259],"ASP":[260],"backend":[263],"reasoner":[264],"perform":[266],"synthesis.":[270]},"counts_by_year":[],"updated_date":"2025-12-25T23:11:45.687758","created_date":"2025-10-10T00:00:00"}
