{"id":"https://openalex.org/W3125090782","doi":"https://doi.org/10.1145/3324884.3416625","title":"Towards generating thread-safe classes automatically","display_name":"Towards generating thread-safe classes automatically","publication_year":2020,"publication_date":"2020-12-21","ids":{"openalex":"https://openalex.org/W3125090782","doi":"https://doi.org/10.1145/3324884.3416625","mag":"3125090782"},"language":"en","primary_location":{"id":"doi:10.1145/3324884.3416625","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3324884.3416625","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering","raw_type":"proceedings-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/A5052775923","display_name":"Haichi Wang","orcid":null},"institutions":[{"id":"https://openalex.org/I162868743","display_name":"Tianjin University","ror":"https://ror.org/012tb2g32","country_code":"CN","type":"education","lineage":["https://openalex.org/I162868743"]}],"countries":["CN"],"is_corresponding":true,"raw_author_name":"Haichi Wang","raw_affiliation_strings":["Tianjin University, China"],"affiliations":[{"raw_affiliation_string":"Tianjin University, China","institution_ids":["https://openalex.org/I162868743"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100707447","display_name":"Zan Wang","orcid":"https://orcid.org/0000-0001-6173-8170"},"institutions":[{"id":"https://openalex.org/I162868743","display_name":"Tianjin University","ror":"https://ror.org/012tb2g32","country_code":"CN","type":"education","lineage":["https://openalex.org/I162868743"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Zan Wang","raw_affiliation_strings":["Tianjin University, China"],"affiliations":[{"raw_affiliation_string":"Tianjin University, China","institution_ids":["https://openalex.org/I162868743"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100429004","display_name":"Jun Sun","orcid":"https://orcid.org/0000-0002-3545-1392"},"institutions":[{"id":"https://openalex.org/I79891267","display_name":"Singapore Management University","ror":"https://ror.org/050qmg959","country_code":"SG","type":"education","lineage":["https://openalex.org/I79891267"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Jun Sun","raw_affiliation_strings":["Singapore Management University, Singapore"],"affiliations":[{"raw_affiliation_string":"Singapore Management University, Singapore","institution_ids":["https://openalex.org/I79891267"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5030940266","display_name":"Shuang Liu","orcid":"https://orcid.org/0000-0003-0101-9486"},"institutions":[{"id":"https://openalex.org/I162868743","display_name":"Tianjin University","ror":"https://ror.org/012tb2g32","country_code":"CN","type":"education","lineage":["https://openalex.org/I162868743"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Shuang Liu","raw_affiliation_strings":["Tianjin University, China"],"affiliations":[{"raw_affiliation_string":"Tianjin University, China","institution_ids":["https://openalex.org/I162868743"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5103061575","display_name":"Ayesha Sadiq","orcid":"https://orcid.org/0000-0002-9790-3833"},"institutions":[{"id":"https://openalex.org/I56590836","display_name":"Monash University","ror":"https://ror.org/02bfwt286","country_code":"AU","type":"education","lineage":["https://openalex.org/I56590836"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Ayesha Sadiq","raw_affiliation_strings":["Monash University, Australia"],"affiliations":[{"raw_affiliation_string":"Monash University, Australia","institution_ids":["https://openalex.org/I56590836"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5017943466","display_name":"Yuan-Fang Li","orcid":"https://orcid.org/0000-0003-4651-2821"},"institutions":[{"id":"https://openalex.org/I56590836","display_name":"Monash University","ror":"https://ror.org/02bfwt286","country_code":"AU","type":"education","lineage":["https://openalex.org/I56590836"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Yuan-Fang Li","raw_affiliation_strings":["Monash University, Australia"],"affiliations":[{"raw_affiliation_string":"Monash University, Australia","institution_ids":["https://openalex.org/I56590836"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5052775923"],"corresponding_institution_ids":["https://openalex.org/I162868743"],"apc_list":null,"apc_paid":null,"fwci":0.1617,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.5747075,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"943","last_page":"955"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9998999834060669,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9988999962806702,"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.9972000122070312,"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/thread","display_name":"Thread (computing)","score":0.8752172589302063},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8654715418815613},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.848261833190918},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6887314319610596},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6792643070220947},{"id":"https://openalex.org/keywords/concurrency-control","display_name":"Concurrency control","score":0.43929699063301086},{"id":"https://openalex.org/keywords/multithreading","display_name":"Multithreading","score":0.4187440276145935},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3635023832321167},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.34240126609802246},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3421921133995056}],"concepts":[{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.8752172589302063},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8654715418815613},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.848261833190918},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6887314319610596},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6792643070220947},{"id":"https://openalex.org/C84511453","wikidata":"https://www.wikidata.org/wiki/Q2914952","display_name":"Concurrency control","level":3,"score":0.43929699063301086},{"id":"https://openalex.org/C201410400","wikidata":"https://www.wikidata.org/wiki/Q1064412","display_name":"Multithreading","level":3,"score":0.4187440276145935},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3635023832321167},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.34240126609802246},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3421921133995056},{"id":"https://openalex.org/C75949130","wikidata":"https://www.wikidata.org/wiki/Q848010","display_name":"Database transaction","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3324884.3416625","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3324884.3416625","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering","raw_type":"proceedings-article"},{"id":"pmh:oai:ink.library.smu.edu.sg:sis_research-6949","is_oa":false,"landing_page_url":"https://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=6949&amp;amp;context=sis_research","pdf_url":null,"source":{"id":"https://openalex.org/S4377196871","display_name":"Institutional Knowledge (InK) - Institutional Knowledge at Singapore Management University (Singapore Management University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I79891267","host_organization_name":"Singapore Management University","host_organization_lineage":["https://openalex.org/I79891267"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"https://doi.org/10.1145/3324884.3416625","raw_type":"Conference Proceeding Article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.4099999964237213}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":66,"referenced_works":["https://openalex.org/W125251596","https://openalex.org/W156838614","https://openalex.org/W308132788","https://openalex.org/W1214620947","https://openalex.org/W1555179958","https://openalex.org/W1565541828","https://openalex.org/W1587425253","https://openalex.org/W1588132240","https://openalex.org/W1600051487","https://openalex.org/W1711395388","https://openalex.org/W1861989620","https://openalex.org/W1873898332","https://openalex.org/W1959256509","https://openalex.org/W1964554588","https://openalex.org/W1970621822","https://openalex.org/W1989293671","https://openalex.org/W1996931099","https://openalex.org/W2015979616","https://openalex.org/W2018949666","https://openalex.org/W2033757118","https://openalex.org/W2052363833","https://openalex.org/W2085407655","https://openalex.org/W2100627043","https://openalex.org/W2101161997","https://openalex.org/W2101939036","https://openalex.org/W2102731275","https://openalex.org/W2106703803","https://openalex.org/W2112401557","https://openalex.org/W2112582249","https://openalex.org/W2119494620","https://openalex.org/W2120027538","https://openalex.org/W2121101539","https://openalex.org/W2130684283","https://openalex.org/W2132143669","https://openalex.org/W2138567239","https://openalex.org/W2154563336","https://openalex.org/W2159856414","https://openalex.org/W2162247081","https://openalex.org/W2162446957","https://openalex.org/W2167744164","https://openalex.org/W2169241426","https://openalex.org/W2169611673","https://openalex.org/W2293756656","https://openalex.org/W2294722445","https://openalex.org/W2401435153","https://openalex.org/W2546468634","https://openalex.org/W2578160636","https://openalex.org/W2619153025","https://openalex.org/W2626106541","https://openalex.org/W2740343870","https://openalex.org/W2746792245","https://openalex.org/W2769656678","https://openalex.org/W2888262223","https://openalex.org/W2898125173","https://openalex.org/W2934940564","https://openalex.org/W2973079764","https://openalex.org/W2998851519","https://openalex.org/W3023885209","https://openalex.org/W3087149998","https://openalex.org/W3148851051","https://openalex.org/W4210712189","https://openalex.org/W6610789396","https://openalex.org/W6639456316","https://openalex.org/W6640999270","https://openalex.org/W6676368405","https://openalex.org/W7038634830"],"related_works":["https://openalex.org/W2115561485","https://openalex.org/W2373523640","https://openalex.org/W1985089255","https://openalex.org/W2153202644","https://openalex.org/W2010970156","https://openalex.org/W2105895556","https://openalex.org/W4235861380","https://openalex.org/W2377593213","https://openalex.org/W2733115356","https://openalex.org/W2106625514"],"abstract_inverted_index":{"The":[0],"existing":[1,162],"concurrency":[2,34,163],"model":[3,25],"for":[4,32],"Java":[5],"(or":[6],"C)":[7],"requires":[8],"programmers":[9],"to":[10,59,75],"design":[11],"and":[12,20,28,90,119,131,148,158],"implement":[13,134],"thread-safe":[14,67,85,155],"classes":[15,156],"by":[16,63],"explicitly":[17],"acquiring":[18],"locks":[19,46],"releasing":[21],"locks.":[22],"Such":[23],"a":[24,70,84,94,98,123,143],"is":[26,29,73,88],"error-prone":[27],"the":[30,61,101,128,135,149],"reason":[31],"many":[33],"bugs.":[35,164],"While":[36],"there":[37],"are":[38,117],"alternative":[39],"models":[40],"like":[41],"transactional":[42],"memory,":[43],"manually":[44],"writing":[45],"remains":[47],"prevalent":[48],"in":[49,93],"practice.":[50],"In":[51],"this":[52],"work,":[53],"we":[54],"propose":[55],"AutoLock,":[56],"which":[57,72,87],"aims":[58],"solve":[60],"problem":[62],"fully":[64],"automatically":[65,82],"generating":[66],"classes.":[68],"Given":[69],"class":[71,86],"assumed":[74],"be":[76],"correct":[77],"with":[78],"sequential":[79],"clients,":[80],"AutoLock":[81,103,138,153],"generates":[83,154],"linearizable,":[89],"does":[91],"it":[92],"way":[95],"without":[96],"requiring":[97],"specification":[99],"of":[100,145],"class.":[102],"takes":[104],"three":[105],"steps:":[106],"(1)":[107],"infer":[108],"access":[109,129],"annotations":[110],"(i.e.,":[111],"abstract":[112],"information":[113],"on":[114,127,142],"how":[115],"variables":[116],"accessed":[118],"aliased),":[120],"(2)":[121],"synthesize":[122],"locking":[124,136],"policy":[125],"based":[126],"annotations,":[130],"(3)":[132],"consistently":[133],"policy.":[137],"has":[139],"been":[140],"evaluated":[141],"set":[144],"benchmark":[146],"programs":[147],"results":[150],"show":[151],"that":[152],"effectively":[157],"could":[159],"have":[160],"prevented":[161]},"counts_by_year":[{"year":2023,"cited_by_count":1}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
