{"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":true,"landing_page_url":"https://doi.org/10.1017/s1471068423000303","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/02BEC7561D0131164410DDE358DDD906/S1471068423000303a.pdf/div-class-title-locksynth-deriving-synchronization-code-for-concurrent-data-structures-with-asp-div.pdf","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":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/02BEC7561D0131164410DDE358DDD906/S1471068423000303a.pdf/div-class-title-locksynth-deriving-synchronization-code-for-concurrent-data-structures-with-asp-div.pdf","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":false,"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":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":{"value":3255,"currency":"USD","value_usd":3255},"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.09205988,"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":true,"landing_page_url":"https://doi.org/10.1017/s1471068423000303","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/02BEC7561D0131164410DDE358DDD906/S1471068423000303a.pdf/div-class-title-locksynth-deriving-synchronization-code-for-concurrent-data-structures-with-asp-div.pdf","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":{"id":"doi:10.1017/s1471068423000303","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s1471068423000303","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/02BEC7561D0131164410DDE358DDD906/S1471068423000303a.pdf/div-class-title-locksynth-deriving-synchronization-code-for-concurrent-data-structures-with-asp-div.pdf","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"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4386372839.pdf","grobid_xml":"https://content.openalex.org/works/W4386372839.grobid-xml"},"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,117,170,223],"present":[2],"Locksynth,":[3],"a":[4,20,54,81,163,209,226,261],"tool":[5,253],"that":[6,18,110,119,133,147,161,191],"automatically":[7,142],"derives":[8,213],"synchronization":[9,41,50,72,216],"needed":[10],"for":[11,146,154,185,218],"destructive":[12,167],"updates":[13],"to":[14,141,174,201,257,264],"concurrent":[15,44,87,135,144,266],"data":[16,45,60,83,126,148,221,267],"structures":[17,46],"involve":[19,162,192],"constant":[21,164],"number":[22,165],"of":[23,34,57,66,124,166,179,205,229,249],"shared":[24,67],"heap":[25],"memory":[26,68],"write":[27],"operations.":[28,62,169],"Locksynth":[29,196,235],"serves":[30],"as":[31,151,208,260],"the":[32,58,71,120,125,176,198,214,219,230,237,242,247,255],"implementation":[33],"our":[35,99,250,252],"prior":[36,55],"work":[37],"on":[38],"deriving":[39],"abstract":[40,121],"code.":[42],"Designing":[43],"involves":[47,106],"inferring":[48],"correct":[49,177,203],"code":[51,123,145,183,217,232],"starting":[52],"with":[53,236],"understanding":[56,65],"sequential":[59,82,122],"structure\u2019s":[61,127],"Further,":[63],"an":[64],"model":[69],"and":[70,96,108,157,207],"primitives":[73],"is":[74,129,139,254],"also":[75,171,212,224],"required.":[76],"The":[77,104],"reasoning":[78,105],"involved":[79],"transforming":[80],"structure":[84,268],"into":[85],"its":[86],"version":[88],"can":[89,111],"be":[90,112],"performed":[91],"using":[92],"Answer":[93],"Set":[94],"Programming,":[95],"we":[97],"mechanized":[98],"approach":[100],"in":[101,115],"previous":[102],"work.":[103],"deduction":[107],"abduction":[109],"succinctly":[113],"modeled":[114],"ASP.":[116],"assume":[118],"operations":[128,153],"provided,":[130],"alongside":[131],"axioms":[132],"describe":[134],"behavior.":[136],"This":[137],"information":[138],"used":[140],"derive":[143],"structure,":[149],"such":[150],"dictionary":[152],"linked":[155],"lists":[156],"binary":[158,188],"search":[159,189],"trees":[160,190],"update":[168],"are":[172],"able":[173],"infer":[175,202],"set":[178],"locks":[180,206],"(but":[181],"not":[182],"synthesis)":[184],"external":[186],"height-balanced":[187],"left/right":[193],"tree":[194],"rotations.":[195],"performs":[197],"analyses":[199],"required":[200],"sets":[204],"final":[210],"step,":[211],"C++":[215,231],"synthesized":[220,233],"structures.":[222],"provide":[225],"performance":[227],"analysis":[228],"by":[234],"hand-crafted":[238],"versions":[239],"available":[240],"from":[241],"Synchrobench":[243],"microbenchmark":[244],"suite.":[245],"To":[246],"best":[248],"knowledge,":[251],"first":[256],"employ":[258],"ASP":[259],"backend":[262],"reasoner":[263],"perform":[265],"synthesis.":[269]},"counts_by_year":[],"updated_date":"2026-08-28T12:50:07.497085","created_date":"2025-10-10T00:00:00"}
