{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:23:48Z","timestamp":1750220628860,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":62,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,12,21]],"date-time":"2020-12-21T00:00:00Z","timestamp":1608508800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Key-Area Research and Development Program of Guangdong Province","award":["2018B010107004"],"award-info":[{"award-number":["2018B010107004"]}]},{"name":"National Natural Science Foundation of China","award":["61872263, U1836214, 61802275"],"award-info":[{"award-number":["61872263, U1836214, 61802275"]}]},{"name":"Intelligent Manufacturing Special Fund of Tianjin","award":["20191012, 20193155"],"award-info":[{"award-number":["20191012, 20193155"]}]},{"name":"Innovation Research Project of Tianjin University","award":["2020XZC-0042, 2020XRG-0022"],"award-info":[{"award-number":["2020XZC-0042, 2020XRG-0022"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2020,12,21]]},"DOI":"10.1145\/3324884.3416625","type":"proceedings-article","created":{"date-parts":[[2021,1,27]],"date-time":"2021-01-27T23:39:02Z","timestamp":1611790742000},"page":"943-955","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Towards generating thread-safe classes automatically"],"prefix":"10.1145","author":[{"given":"Haichi","family":"Wang","sequence":"first","affiliation":[{"name":"Tianjin University, China"}]},{"given":"Zan","family":"Wang","sequence":"additional","affiliation":[{"name":"Tianjin University, China"}]},{"given":"Jun","family":"Sun","sequence":"additional","affiliation":[{"name":"Singapore Management University, Singapore"}]},{"given":"Shuang","family":"Liu","sequence":"additional","affiliation":[{"name":"Tianjin University, China"}]},{"given":"Ayesha","family":"Sadiq","sequence":"additional","affiliation":[{"name":"Monash University, Australia"}]},{"given":"Yuan-Fang","family":"Li","sequence":"additional","affiliation":[{"name":"Monash University, Australia"}]}],"member":"320","published-online":{"date-parts":[[2021,1,27]]},"reference":[{"doi-asserted-by":"publisher","key":"e_1_3_2_1_1_1","DOI":"10.1145\/1542476.1542490"},{"key":"e_1_3_2_1_2_1","first-page":"115","volume-title":"ACM Sigplan Notices","author":"Praun Christoph Von","year":"2003","unstructured":"Christoph Von Praun and Thomas R Gross. Static conflict analysis for multithreaded object-oriented programs. In ACM Sigplan Notices, volume 38, pages 115--128. ACM, 2003."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_3_1","DOI":"10.1109\/ICECCS.2016.038"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_4_1","DOI":"10.1109\/PDP.2015.19"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_5_1","DOI":"10.1145\/238721.238760"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_6_1","DOI":"10.1145\/1542476.1542489"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_7_1","DOI":"10.1145\/1453101.1453121"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_8_1","DOI":"10.1145\/2384616.2384670"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_9_1","DOI":"10.1145\/1993498.1993544"},{"key":"e_1_3_2_1_10_1","first-page":"221","volume-title":"Presented as part of the 10th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 12)","author":"Jin Guoliang","year":"2012","unstructured":"Guoliang Jin, Wei Zhang, and Dongdong Deng. Automated concurrency-bug fixing. In Presented as part of the 10th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 12), pages 221--236, 2012."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_11_1","DOI":"10.1109\/ICSE.2012.6227184"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_12_1","DOI":"10.1145\/3238147.3238198"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_13_1","DOI":"10.1109\/2.161279"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_14_1","DOI":"10.1145\/1985793.1985903"},{"key":"e_1_3_2_1_15_1","first-page":"49","volume-title":"International Workshop on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices","author":"Barnett Mike","year":"2004","unstructured":"Mike Barnett, K Rustan M Leino, and Wolfram Schulte. The spec# programming system: An overview. In International Workshop on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices, pages 49--69. Springer, 2004."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_16_1","DOI":"10.1007\/s004460050028"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_17_1","DOI":"10.1109\/ASE.2013.6693061"},{"key":"e_1_3_2_1_18_1","volume-title":"Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems (TOPLAS), 12(3):463--492","author":"Herlihy Maurice P","year":"1990","unstructured":"Maurice P Herlihy and Jeannette M Wing. Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems (TOPLAS), 12(3):463--492, 1990."},{"unstructured":"Grande. Grande benchmark. https:\/\/www.epcc.ed.ac.uk\/research\/computing\/performance-characterisation-and-benchmarking\/java-grande-benchmark-suite.","key":"e_1_3_2_1_19_1"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_20_1","DOI":"10.21236\/ADA465507"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_21_1","DOI":"10.1145\/1449764.1449783"},{"key":"e_1_3_2_1_22_1","volume-title":"Pearson Education","author":"Goetz Brian","year":"2006","unstructured":"Brian Goetz, Tim Peierls, Doug Lea, Joshua Bloch, Joseph Bowbeer, and David Holmes. Java concurrency in practice. Pearson Education, 2006."},{"volume-title":"https:\/\/github.com\/autolock-anonymous\/AutoLock","year":"2020","unstructured":"Autolock. https:\/\/github.com\/autolock-anonymous\/AutoLock, 2020.","key":"e_1_3_2_1_23_1"},{"key":"e_1_3_2_1_24_1","volume-title":"Statically inferring permission-based specifications for sequential java programs. arXiv preprint arXiv:1902.05311","author":"Sadiq Ayesha","year":"2019","unstructured":"Ayesha Sadiq, Yuan-Fang Li, Sea Ling, Li Li, and Ijaz Ahmed. Statically inferring permission-based specifications for sequential java programs. arXiv preprint arXiv:1902.05311, 2019."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_25_1","DOI":"10.1109\/ASE.2019.00111"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_26_1","DOI":"10.1109\/ICSE.2017.32"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_27_1","DOI":"10.1145\/2950290.2950309"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_28_1","DOI":"10.1145\/1346281.1346323"},{"key":"e_1_3_2_1_29_1","volume-title":"Polymorphic fractional permission inference","author":"Bierhoff Kevin","year":"2009","unstructured":"Kevin Bierhoff, Nels E Beckman, and Jonathan Aldrich. Polymorphic fractional permission inference. 2009."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_30_1","DOI":"10.1007\/978-3-642-03013-0_10"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_31_1","DOI":"10.1007\/978-3-642-35873-9_20"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_32_1","DOI":"10.1007\/978-3-319-06410-9_9"},{"unstructured":"jdk16. https:\/\/github.com\/zxiaofan\/JDK.","key":"e_1_3_2_1_33_1"},{"key":"e_1_3_2_1_34_1","first-page":"55","volume-title":"Boyland. Checking Interference with Fractional Permissions. In Proceedings of the 10th International Conference on Static Analysis, SAS'03","author":"John","year":"2003","unstructured":"John Boyland. Checking Interference with Fractional Permissions. In Proceedings of the 10th International Conference on Static Analysis, SAS'03, pages 55--72. Springer-Verlag, 2003."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_35_1","DOI":"10.1145\/1370175.1370213"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_36_1","DOI":"10.1007\/978-3-642-03829-7_7"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_37_1","DOI":"10.1007\/978-3-642-00590-9_27"},{"key":"e_1_3_2_1_38_1","first-page":"1","volume-title":"ECEASST","author":"Siminiceanu Radu I.","year":"2012","unstructured":"Radu I. Siminiceanu, Ijaz Ahmed, and N\u00e9stor Cata\u00f1o. Automated verification of specifications with typestates and access permissions. ECEASST, pages 1--15, 2012."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_39_1","DOI":"10.1007\/978-3-642-20398-5_4"},{"key":"e_1_3_2_1_40_1","first-page":"41","volume-title":"Viper: A verification infrastructure for permission-based reasoning","author":"M\u00fcller Peter","year":"2016","unstructured":"Peter M\u00fcller, Malte Schwerhoff, and Alexander J. Summers. Viper: A verification infrastructure for permission-based reasoning. In Barbara Jobstmann and K. Rustan M. Leino, editors, Verification, Model Checking, and Abstract Interpretation, pages 41--62, Berlin, Heidelberg, 2016. Springer Berlin Heidelberg."},{"key":"e_1_3_2_1_41_1","volume-title":"Dependable Software Systems Engineering.","author":"M\u00fcller Peter","year":"2017","unstructured":"Peter M\u00fcller, Malte Schwerhoff, and Alexander J. Summers. Viper: A verification infrastructure for permission-based reasoning. In Dependable Software Systems Engineering. 2017."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_42_1","DOI":"10.1145\/2103776.2103785"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_43_1","DOI":"10.5555\/2864707.2864811"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_44_1","DOI":"10.1007\/978-3-319-66845-1_7"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_45_1","DOI":"10.1145\/2048147.2048197"},{"key":"e_1_3_2_1_46_1","volume-title":"DTIC Document","author":"Aldrich Jonathan","year":"2012","unstructured":"Jonathan Aldrich, Nels E Beckman, Robert Bocchino, Karl Naden, Darpan Saini, Sven Stork, and Joshua Sunshine. The Plaid language: Typed core specification. Technical report, DTIC Document, 2012."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_47_1","DOI":"10.1145\/2543920"},{"key":"e_1_3_2_1_48_1","volume-title":"Proceedings of the ACM on Programming Languages, 2(OOPSLA):1--28","author":"Blackshear Sam","year":"2018","unstructured":"Sam Blackshear, Nikos Gorogiannis, Peter W O'Hearn, and Ilya Sergey. Racerd: compositional static race detection. Proceedings of the ACM on Programming Languages, 2(OOPSLA):1--28, 2018."},{"key":"e_1_3_2_1_49_1","first-page":"509","volume-title":"Parallel and Distributed Computing and Systems","author":"McKenney Paul E","year":"1998","unstructured":"Paul E McKenney and John D Slingwine. Read-copy update: Using execution history to solve concurrency problems. In Parallel and Distributed Computing and Systems, pages 509--518, 1998."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_50_1","DOI":"10.1145\/3297858.3304040"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_51_1","DOI":"10.1145\/2815400.2815406"},{"key":"e_1_3_2_1_52_1","volume-title":"A methodology for implementing highly concurrent data objects. ACM Transactions on Programming Languages and Systems (TOPLAS), 15(5):745--770","author":"Herlihy Maurice","year":"1993","unstructured":"Maurice Herlihy. A methodology for implementing highly concurrent data objects. ACM Transactions on Programming Languages and Systems (TOPLAS), 15(5):745--770, 1993."},{"key":"e_1_3_2_1_53_1","volume-title":"Wait-free synchronization. ACM Transactions on Programming Languages and Systems (TOPLAS), 13(1):124--149","author":"Herlihy Maurice","year":"1991","unstructured":"Maurice Herlihy. Wait-free synchronization. ACM Transactions on Programming Languages and Systems (TOPLAS), 13(1):124--149, 1991."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_54_1","DOI":"10.1109\/ICSE.2009.5070539"},{"unstructured":"Jiange Zhang Qing Yi and Damian Dechev. Automating non-blocking synchronization in concurrent data abstractions.","key":"e_1_3_2_1_55_1"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_56_1","DOI":"10.1145\/1190215.1190260"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_57_1","DOI":"10.1145\/1111037.1111068"},{"key":"e_1_3_2_1_58_1","volume-title":"Proceedings of the First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing","author":"Hicks Michael","year":"2006","unstructured":"Michael Hicks, Jeffrey S Foster, and Polyvios Pratikakis. Lock inference for atomic sections. In Proceedings of the First ACM SIGPLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, 2006."},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_59_1","DOI":"10.1145\/1379022.1375619"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_60_1","DOI":"10.1145\/2610384.2610393"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_61_1","DOI":"10.1145\/1508244.1508249"},{"doi-asserted-by":"publisher","key":"e_1_3_2_1_62_1","DOI":"10.1145\/3106237.3106239"}],"event":{"sponsor":["SIGAI ACM Special Interest Group on Artificial Intelligence","SIGSOFT ACM Special Interest Group on Software Engineering","IEEE CS"],"acronym":"ASE '20","name":"ASE '20: 35th IEEE\/ACM International Conference on Automated Software Engineering","location":"Virtual Event Australia"},"container-title":["Proceedings of the 35th IEEE\/ACM International Conference on Automated Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3324884.3416625","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3324884.3416625","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:01:38Z","timestamp":1750197698000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3324884.3416625"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,12,21]]},"references-count":62,"alternative-id":["10.1145\/3324884.3416625","10.1145\/3324884"],"URL":"https:\/\/doi.org\/10.1145\/3324884.3416625","relation":{},"subject":[],"published":{"date-parts":[[2020,12,21]]},"assertion":[{"value":"2021-01-27","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}