{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,13]],"date-time":"2025-11-13T18:27:04Z","timestamp":1763058424776,"version":"3.37.3"},"reference-count":65,"publisher":"Springer Science and Business Media LLC","issue":"6","license":[{"start":{"date-parts":[[2020,9,1]],"date-time":"2020-09-01T00:00:00Z","timestamp":1598918400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,9,1]],"date-time":"2020-09-01T00:00:00Z","timestamp":1598918400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"funder":[{"DOI":"10.13039\/100000181","name":"Air Force Office of Scientific Research","doi-asserted-by":"crossref","award":["AFOSR-FA9550-12-1-044 and AFOSR-FA9550-17-1-0205"],"award-info":[{"award-number":["AFOSR-FA9550-12-1-044 and AFOSR-FA9550-17-1-0205"]}],"id":[{"id":"10.13039\/100000181","id-type":"DOI","asserted-by":"crossref"}]},{"name":"NSF","award":["1217748"],"award-info":[{"award-number":["1217748"]}]},{"name":"DOE","award":["1403482"],"award-info":[{"award-number":["1403482"]}]},{"DOI":"10.13039\/100006227","name":"Lawrence Livermore National Laboratory","doi-asserted-by":"crossref","award":["LLNL-B627261 and LLNL-B631308"],"award-info":[{"award-number":["LLNL-B627261 and LLNL-B631308"]}],"id":[{"id":"10.13039\/100006227","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2020,11]]},"DOI":"10.1007\/s10664-020-09862-3","type":"journal-article","created":{"date-parts":[[2020,9,1]],"date-time":"2020-09-01T18:45:46Z","timestamp":1598985946000},"page":"4676-4706","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["BarrierFinder: recognizing ad hoc barriers"],"prefix":"10.1007","volume":"25","author":[{"given":"Tao","family":"Wang","sequence":"first","affiliation":[]},{"given":"Xiao","family":"Yu","sequence":"additional","affiliation":[]},{"given":"Zhengyi","family":"Qiu","sequence":"additional","affiliation":[]},{"given":"Guoliang","family":"Jin","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0258-0294","authenticated-orcid":false,"given":"Frank","family":"Mueller","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,9,1]]},"reference":[{"key":"9862_CR1","unstructured":"Andersen LO (1994) Program analysis and specialization for the c programming language. PhD thesis, University of Cophenhagen"},{"key":"9862_CR2","doi-asserted-by":"publisher","unstructured":"Beschastnikh I, Brun Y, Ernst MD, Krishnamurthy A, Anderson TE (2011) Mining temporal invariants from partially ordered logs. In: Managing large-scale systems via the analysis of system logs and the application of machine learning techniques. ACM, New York, NY, USA, SLAML \u201911, 3:1-3:10. https:\/\/doi.org\/10.1145\/2038633.2038636","DOI":"10.1145\/2038633.2038636"},{"key":"9862_CR3","doi-asserted-by":"publisher","unstructured":"Beschastnikh I, Brun Y, Ernst MD, Krishnamurthy A (2014) Inferring models of concurrent systems from logs of their behavior with csight. In: Proceedings of the 36th International Conference on Software Engineering, ACM, New York, NY, USA, ICSE 2014, pp 468\u2013479, DOI https:\/\/doi.org\/10.1145\/2568225.2568246, (to appear in print)","DOI":"10.1145\/2568225.2568246"},{"issue":"2","key":"9862_CR4","doi-asserted-by":"publisher","first-page":"66","DOI":"10.1145\/1646353.1646374","volume":"53","author":"A Bessey","year":"2010","unstructured":"Bessey A, Block K, Chelf B, Chou A, Fulton B, Hallem S, Henri-Gros C, Kamsky A, McPeak S, Engler D (2010) A few billion lines of code later: Using static analysis to find bugs in the real world. Commun ACM 53(2):66\u201375. https:\/\/doi.org\/10.1145\/1646353.1646374","journal-title":"Commun ACM"},{"key":"9862_CR5","doi-asserted-by":"publisher","unstructured":"Bindal S, Bansal S, Lal A (2013) Variable and thread bounding for systematic testing of multithreaded programs. In: Proceedings of the 2013 International Symposium on Software Testing and Analysis, ACM, New York, NY, USA, ISSTA 2013, 145\u2013155. https:\/\/doi.org\/10.1145\/2483760.2483764","DOI":"10.1145\/2483760.2483764"},{"key":"9862_CR6","doi-asserted-by":"publisher","unstructured":"Blum B, Gibson G (2016) Stateless model checking with data-race preemption points. In: Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, ACM, New York, NY, USA, OOPSLA 2016, 477\u2013493, https:\/\/doi.org\/10.1145\/2983990.2984036","DOI":"10.1145\/2983990.2984036"},{"key":"9862_CR7","doi-asserted-by":"crossref","unstructured":"Bucur S, Ureche V, Zamfir C, Candea G (2011) Parallel symbolic execution for automated real-world software testing. In: Proceedings of the sixth conference on Computer systems. ACM, pp 183\u2013198","DOI":"10.1145\/1966445.1966463"},{"issue":"POPL","key":"9862_CR8","doi-asserted-by":"publisher","first-page":"31:1","DOI":"10.1145\/3158119","volume":"2","author":"M Chalupa","year":"2017","unstructured":"Chalupa M, Chatterjee K, Pavlogiannis A, Sinha N, Vaidya K (2017) Data-centric dynamic partial order reduction. Proc ACM Program Lang 2(POPL):31:1\u201331:30. https:\/\/doi.org\/10.1145\/3158119","journal-title":"Proc ACM Program Lang"},{"key":"9862_CR9","doi-asserted-by":"publisher","unstructured":"Chen C, Huo W, Feng X (2012) Making it practical and effective: Fast and precise may-happen-in-parallel analysis. In: Proceedings of the 21st international conference on parallel architectures and compilation techniques. ACM, New York, NY, USA, PACT \u201912, 469\u2013470. https:\/\/doi.org\/10.1145\/2370816.2370900","DOI":"10.1145\/2370816.2370900"},{"key":"9862_CR10","doi-asserted-by":"crossref","unstructured":"Chen G, Stenstrom P (2012) Critical lock analysis: Diagnosing critical section bottlenecks in multithreaded applications. In: Proceedings of the international conference on high performance computing, networking, storage and analysis. IEEE Computer Society Press, Los Alamitos, CA, USA, SC \u201912, 71:1\u201371:11. http:\/\/dl.acm.org\/citation.cfm?id=2388996.2389093","DOI":"10.1109\/SC.2012.40"},{"key":"9862_CR11","unstructured":"IBM corporation (1998) Software models for multithreaded programming. http:\/\/www-01.ibm.com\/software\/network\/dce\/library\/publications\/dceaix_22\/a3u2j\/A3U2JM53.HTM"},{"key":"9862_CR12","doi-asserted-by":"publisher","unstructured":"Cui H, Simsa J, Lin Y-H, Li H, Blum B, Xu X, Yang J, Gibson G, Bryant RE (2013) Parrot: A practical runtime for deterministic, stable, and reliable threads. In: Proceedings of the Twenty-Fourth ACM Symposium on operating systems principles, association for computing machinery, New York, NY, USA, SOSP \u201913, 388\u2013405. https:\/\/doi.org\/10.1145\/2517349.2522735","DOI":"10.1145\/2517349.2522735"},{"issue":"2","key":"9862_CR13","doi-asserted-by":"publisher","first-page":"23:23:1","DOI":"10.1145\/2766451","volume":"12","author":"M Das","year":"2015","unstructured":"Das M, Southern G, Renau J (2015) Section-based program analysis to reduce overhead of detecting unsynchronized thread communication. ACM Trans Archit Code Optim 12(2):23:23:1\u201323:23:26. https:\/\/doi.org\/10.1145\/2766451","journal-title":"ACM Trans Archit Code Optim"},{"key":"9862_CR14","doi-asserted-by":"publisher","unstructured":"Di P, Sui Y, Ye D, Xue J (2015) Region-based may-happen-in-parallel analysis for c programs. In: Parallel Processing (ICPP), 2015 44th International Conference on, pp 889\u2013898. https:\/\/doi.org\/10.1109\/ICPP.2015.98","DOI":"10.1109\/ICPP.2015.98"},{"issue":"1","key":"9862_CR15","doi-asserted-by":"publisher","first-page":"35","DOI":"10.1016\/j.scico.2007.01.015","volume":"69","author":"MD Ernst","year":"2007","unstructured":"Ernst MD, Perkins JH, Guo PJ, McCamant S, Pacheco C, Tschantz MS, Xiao C (2007) The daikon system for dynamic detection of likely invariants. Sci Comput Program 69(1):35\u201345","journal-title":"Sci Comput Program"},{"key":"9862_CR16","unstructured":"Farchi E, Nir Y, Ur S (2003) Concurrent bug patterns and how to test them. In: Parallel and distributed processing symposium, 2003. Proceedings. International. IEEE, pp 7\u2013pp"},{"key":"9862_CR17","doi-asserted-by":"publisher","unstructured":"Gallagher KB (2004) Some notes on interprocedural program slicing. In: Source Code Analysis and Manipulation, 2004. Fourth IEEE International Workshop on, pp 36\u201342. https:\/\/doi.org\/10.1109\/SCAM.2004.21","DOI":"10.1109\/SCAM.2004.21"},{"issue":"2","key":"9862_CR18","doi-asserted-by":"publisher","first-page":"197","DOI":"10.1007\/s10515-009-0048-x","volume":"16","author":"D Giffhorn","year":"2009","unstructured":"Giffhorn D, Hammer C (2009) Precise slicing of concurrent programs. Automated Software Engg 16 (2):197\u2013234. https:\/\/doi.org\/10.1007\/s10515-009-0048-x","journal-title":"Automated Software Engg"},{"key":"9862_CR19","doi-asserted-by":"publisher","unstructured":"Gu R, Jin G, Song L, Zhu L, Lu S (2015) What change history tells us about thread synchronization. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ACM, New York, NY, USA, ESEC\/FSE 2015, pp 426\u2013438. https:\/\/doi.org\/10.1145\/2786805.2786815. http:\/\/doi.acm.org.prox.lib.ncsu.edu\/10.1145\/2786805.2786815","DOI":"10.1145\/2786805.2786815"},{"key":"9862_CR20","doi-asserted-by":"publisher","unstructured":"Hardekopf B, Lin C (2007) The ant and the grasshopper: Fast and accurate pointer analysis for millions of lines of code. In: Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM, New York, NY, USA, PLDI \u201907, 290\u2013299. https:\/\/doi.org\/10.1145\/1250734.1250767","DOI":"10.1145\/1250734.1250767"},{"key":"9862_CR21","unstructured":"Herb S (2005) The free lunch is over: A fundamental turn toward concurrency in software. http:\/\/www.gotw.ca\/publications\/concurrency-ddj.htm"},{"key":"9862_CR22","doi-asserted-by":"publisher","unstructured":"Hind M, Pioli A (2000) Which pointer analysis should i use? In: Proceedings of the 2000 ACM SIGSOFT International Symposium on Software Testing and Analysis, ACM, New York, NY, USA, ISSTA \u201900, 113\u2013123 https:\/\/doi.org\/10.1145\/347324.348916","DOI":"10.1145\/347324.348916"},{"issue":"1","key":"9862_CR23","doi-asserted-by":"publisher","first-page":"26","DOI":"10.1145\/77606.77608","volume":"12","author":"S Horwitz","year":"1990","unstructured":"Horwitz S, Reps T, Binkley D (1990) Interprocedural slicing using dependence graphs. ACM Trans Program Lang Syst 12(1):26\u201360. https:\/\/doi.org\/10.1145\/77606.77608","journal-title":"ACM Trans Program Lang Syst"},{"key":"9862_CR24","doi-asserted-by":"crossref","unstructured":"Jannesari A, Tichy WF (2010) Identifying ad-hoc synchronization for enhanced race detection. In: 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS). IEEE, pp 1\u201310","DOI":"10.1109\/IPDPS.2010.5470343"},{"issue":"10","key":"9862_CR25","doi-asserted-by":"publisher","first-page":"2606","DOI":"10.1109\/TPDS.2013.209","volume":"25","author":"A Jannesari","year":"2014","unstructured":"Jannesari A, Tichy WF (2014) Library-independent data race detection. IEEE Transactions on Parallel and Distributed Systems 25(10):2606\u20132616","journal-title":"IEEE Transactions on Parallel and Distributed Systems"},{"key":"9862_CR26","doi-asserted-by":"publisher","unstructured":"Jin G, Song L, Zhang W, Lu S, Liblit B (2011) Automated atomicity-violation fixing. In: Proceedings of the 32Nd ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM, New York, NY, USA, PLDI \u201911, 389\u2013400 https:\/\/doi.org\/10.1145\/1993498.1993544","DOI":"10.1145\/1993498.1993544"},{"key":"9862_CR27","unstructured":"Jin G, Zhang W, Deng D, Liblit B, Lu S (2012) Automated concurrency-bug fixing. In: Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation, USENIX Association, Berkeley, CA, USA, OSDI\u201912, pp 221\u2013236. http:\/\/dl.acm.org\/citation.cfm?id=2387880.2387902"},{"key":"9862_CR28","doi-asserted-by":"publisher","unstructured":"Kamil A, Yelick K (2006) Concurrency analysis for parallel programs with textually aligned barriers. In: Proceedings of the 18th International conference on languages and compilers for parallel computing, Springer, Berlin, Heidelberg, LCPC\u201905, pp 185\u2013199 https:\/\/doi.org\/10.1007\/978-3-540-69330-7_13","DOI":"10.1007\/978-3-540-69330-7_13"},{"key":"9862_CR29","doi-asserted-by":"publisher","unstructured":"Krinke J (2003) Context-sensitive slicing of concurrent programs. In: Proceedings of the 9th European Software Engineering Conference Held Jointly with 11th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ACM, New York, NY, USA, ESEC\/FSE-11, pp 178\u2013187. https:\/\/doi.org\/10.1145\/940071.940096","DOI":"10.1145\/940071.940096"},{"key":"9862_CR30","doi-asserted-by":"publisher","unstructured":"Lee D, Chen PM, Flinn J, Narayanasamy S (2012) Chimera: Hybrid Program Analysis for Determinism. In: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM, New York, NY, USA, PLDI \u201912, pp 463\u2013474. https:\/\/doi.org\/10.1145\/2254064.2254119","DOI":"10.1145\/2254064.2254119"},{"key":"9862_CR31","doi-asserted-by":"publisher","first-page":"194","DOI":"10.1007\/11532378_15","volume-title":"A Practical MHP Information Analysis for Concurrent Java Programs","author":"L Li","year":"2005","unstructured":"Li L, Verbrugge C (2005) A Practical MHP Information Analysis for Concurrent Java Programs. Springer, Berlin, pp 194\u2013208. https:\/\/doi.org\/10.1007\/11532378_15"},{"key":"9862_CR32","doi-asserted-by":"publisher","unstructured":"Lu S, Park S, Seo E, Zhou Y (2008) Learning from mistakes: A comprehensive study on real world concurrency bug characteristics. In: Proceedings of the 13th International conference on architectural support for programming languages and operating systems, ACM, New York, NY, USA, ASPLOS XIII, pp 329\u2013339. https:\/\/doi.org\/10.1145\/1346281.1346323","DOI":"10.1145\/1346281.1346323"},{"key":"9862_CR33","doi-asserted-by":"publisher","unstructured":"Lucia B, Ceze L, Strauss K (2010) Colorsafe: Architectural support for debugging and dynamically avoiding multi-variable atomicity violations. In: Proceedings of the 37th Annual International Symposium on Computer Architecture, ACM, New York, NY, USA, ISCA \u201910, pp 222\u2013233. https:\/\/doi.org\/10.1145\/1815961.1815988","DOI":"10.1145\/1815961.1815988"},{"issue":"3","key":"9862_CR34","doi-asserted-by":"publisher","first-page":"275","DOI":"10.1007\/s10817-013-9290-9","volume":"52","author":"A Malkis","year":"2014","unstructured":"Malkis A, Banerjee A (2014) On automation in the verification of software barriers: Experience report. J Autom Reason 52(3):275\u2013329. https:\/\/doi.org\/10.1007\/s10817-013-9290-9","journal-title":"J Autom Reason"},{"key":"9862_CR35","doi-asserted-by":"crossref","unstructured":"Mazurkiewicz A (1987) Trace theory. In: Advances in Petri Nets 1986, Part II on Petri Nets: Applications and Relationships to Other Models of Concurrency. Springer, New York, Inc., New York, pp 279\u2013324. http:\/\/dl.acm.org\/citation.cfm?id=25542.25553","DOI":"10.1007\/3-540-17906-2_30"},{"key":"9862_CR36","doi-asserted-by":"publisher","unstructured":"Musuvathi M, Qadeer S (2007) Iterative context bounding for systematic testing of multithreaded programs. In: Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM, New York , PLDI \u201907, pp 446\u2013455. https:\/\/doi.org\/10.1145\/1250734.1250785","DOI":"10.1145\/1250734.1250785"},{"issue":"6","key":"9862_CR37","doi-asserted-by":"publisher","first-page":"1088","DOI":"10.1145\/1186632.1186636","volume":"28","author":"MG Nanda","year":"2006","unstructured":"Nanda MG, Ramesh S (2006) Interprocedural slicing of multithreaded programs with applications to java. ACM Trans Program Lang Syst 28(6):1088\u20131144. https:\/\/doi.org\/10.1145\/1186632.1186636","journal-title":"ACM Trans Program Lang Syst"},{"key":"9862_CR38","doi-asserted-by":"publisher","unstructured":"Park S, Lu S, Zhou Y (2009) Ctrigger: Exposing atomicity violation bugs from their hiding places. In: Proceedings of the 14th International conference on architectural support for programming languages and operating systems. ACM, New York, NY, USA, ASPLOS XIV, 25\u201336, DOI https:\/\/doi.org\/10.1145\/1508244.1508249https:\/\/doi.org\/10.1145\/1508244.1508249, (to appear in print)","DOI":"10.1145\/1508244.1508249 10.1145\/1508244.1508249"},{"issue":"C","key":"9862_CR39","doi-asserted-by":"publisher","first-page":"59","DOI":"10.1016\/j.jss.2015.04.064","volume":"106","author":"W Torres","year":"2015","unstructured":"Pinto G, Torres W, Fernandes B, Castor F, Barros RS (2015) A large-scale study on the usage of java\u2019s concurrent programming constructs. J Syst Softw 106(C):59\u201381. https:\/\/doi.org\/10.1016\/j.jss.2015.04.064","journal-title":"J Syst Softw"},{"key":"9862_CR40","doi-asserted-by":"publisher","unstructured":"Raman R, Zhao J, Sarkar V, Vechev M, Yahav E (2012) Scalable and precise dynamic datarace detection for structured parallelism. In: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM, New York, NY, USA, PLDI \u201912, pp 531\u2013542. https:\/\/doi.org\/10.1145\/2254064.2254127","DOI":"10.1145\/2254064.2254127"},{"key":"9862_CR41","doi-asserted-by":"publisher","unstructured":"Sadowski C, Yi J (2014) How developers use data race detection tools. In: Proceedings of the 5th Workshop on evaluation and usability of programming languages and tools. ACM, New York, NY, USA, PLATEAU \u201914, pp 43\u201351. https:\/\/doi.org\/10.1145\/2688204.2688205","DOI":"10.1145\/2688204.2688205"},{"key":"9862_CR42","doi-asserted-by":"publisher","unstructured":"Shapiro M, Horwitz S (1997) Fast and accurate flow-insensitive points-to analysis. In: Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on principles of programming languages. ACM, New York, NY, USA, POPL \u201997, pp 1\u201314. https:\/\/doi.org\/10.1145\/263699.263703","DOI":"10.1145\/263699.263703"},{"key":"9862_CR43","unstructured":"Slaby J (2015) Llvm slicer. https:\/\/github.com\/jirislaby\/LLVMSlicer"},{"key":"9862_CR44","doi-asserted-by":"publisher","unstructured":"Steensgaard B (1996) Points-to analysis in almost linear time. In: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on principles of programming languages. ACM, New York, NY, USA, POPL \u201996, pp 32\u201341 https:\/\/doi.org\/10.1145\/237721.237727","DOI":"10.1145\/237721.237727"},{"key":"9862_CR45","doi-asserted-by":"publisher","unstructured":"Surendran R, Raman R, Chaudhuri S, Mellor-Crummey J, Sarkar V (2014) Test-driven repair of data races in structured parallel programs. In: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM, New York, NY, USA, PLDI \u201914, pp 15\u201325. https:\/\/doi.org\/10.1145\/2594291.2594335","DOI":"10.1145\/2594291.2594335"},{"issue":"7","key":"9862_CR46","doi-asserted-by":"publisher","first-page":"54","DOI":"10.1145\/1095408.1095421","volume":"3","author":"H Sutter","year":"2005","unstructured":"Sutter H, Larus J (2005) Software and the concurrency revolution. Queue 3(7):54\u201362. https:\/\/doi.org\/10.1145\/1095408.1095421","journal-title":"Queue"},{"key":"9862_CR47","volume-title":"Synchronization algorithms and concurrent programming","author":"G Taubenfeld","year":"2006","unstructured":"Taubenfeld G (2006) Synchronization algorithms and concurrent programming. Prentice-Hall, Inc, Upper Saddle River"},{"key":"9862_CR48","doi-asserted-by":"crossref","unstructured":"Tian C, Nagarajan V, Gupta R, Tallam S (2008) Dynamic recognition of synchronization operations for improved data race detection. In: Proceedings of the 2008 international symposium on Software testing and analysis. ACM, pp 143\u2013154","DOI":"10.1145\/1390630.1390649"},{"issue":"11","key":"9862_CR49","first-page":"947","volume":"39","author":"C Tian","year":"2009","unstructured":"Tian C, Nagarajan V, Gupta R, Tallam S (2009) Automated dynamic detection of busy\u2013wait synchronizations. Software: Practice and Experience 39(11):947\u2013972","journal-title":"Software: Practice and Experience"},{"key":"9862_CR50","doi-asserted-by":"publisher","unstructured":"Wang C, Chaudhuri S, Gupta A, Yang Y (2009) Symbolic pruning of concurrent program executions. In: Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, ACM, New York, NY, USA, ESEC\/FSE \u201909, p 23\u201332, https:\/\/doi.org\/10.1145\/1595696.1595702","DOI":"10.1145\/1595696.1595702"},{"key":"9862_CR51","doi-asserted-by":"publisher","unstructured":"Wang T (2020) Software package for barrierfinder reproduction. https:\/\/doi.org\/10.5281\/zenodo.3902595","DOI":"10.5281\/zenodo.3902595"},{"key":"9862_CR52","doi-asserted-by":"publisher","unstructured":"Wang T, Yu X, Qiu Z, Jin G, Mueller F (2019) Barrierfinder: Recognizing ad hoc barriers. In: 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp 323\u2013327 https:\/\/doi.org\/10.1109\/ICSME.2019.00049","DOI":"10.1109\/ICSME.2019.00049"},{"key":"9862_CR53","unstructured":"Weiser M (1981) Program slicing. In: Proceedings of the 5th international conference on Software engineering. IEEE Press, pp 439\u2013449"},{"issue":"4","key":"9862_CR54","doi-asserted-by":"publisher","first-page":"352","DOI":"10.1109\/TSE.1984.5010248","volume":"SE-10","author":"M Weiser","year":"1984","unstructured":"Weiser M (1984) Program slicing. IEEE Trans Softw Eng SE-10 (4):352\u2013357. https:\/\/doi.org\/10.1109\/TSE.1984.5010248","journal-title":"IEEE Trans Softw Eng"},{"key":"9862_CR55","doi-asserted-by":"publisher","unstructured":"Woo SC, Ohara M, Torrie E, Singh JP, Gupta A (1995) The splash-2 programs: Characterization and methodological considerations. In: Proceedings of the 22nd Annual International Symposium on Computer Architecture, ACM, New York, NY, USA, ISCA \u201995, pp 24\u201336 https:\/\/doi.org\/10.1145\/223982.223990","DOI":"10.1145\/223982.223990"},{"key":"9862_CR56","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1016\/j.infsof.2016.04.004","volume":"76","author":"D Wu","year":"2016","unstructured":"Wu D, Chen L, Zhou Y, Xu B (2016) An extensive empirical study on c++ concurrency constructs. Inf Softw Technol 76:1\u201318","journal-title":"Inf Softw Technol"},{"key":"9862_CR57","unstructured":"Xiong W, Park S, Zhang J, Zhou Y, Ma Z (2010) Ad hoc synchronization considered harmful. In: Proceedings of the 9th USENIX Conference on operating systems design and implementation. USENIX Association, Berkeley, CA, USA, OSDI\u201910, pp 163\u2013176. http:\/\/dl.acm.org\/citation.cfm?id=1924943.1924955"},{"key":"9862_CR58","doi-asserted-by":"crossref","unstructured":"Yin L (2013) Effectively recognize ad hoc synchronizations with static analysis. In: International Workshop on Languages and Compilers for Parallel Computing, Springer, pp 187\u2013201","DOI":"10.1007\/978-3-319-09967-5_11"},{"key":"9862_CR59","doi-asserted-by":"publisher","unstructured":"Yu T, Pradel M (2016) Syncprof: Detecting, localizing, and optimizing synchronization bottlenecks. In: Proceedings of the 25th International Symposium on Software Testing and Analysis, ACM, New York, NY, USA, ISSTA 2016, pp 389\u2013400, https:\/\/doi.org\/10.1145\/2931037.2931070","DOI":"10.1145\/2931037.2931070"},{"key":"9862_CR60","doi-asserted-by":"publisher","unstructured":"Yu X, Joshi P, Xu J, Jin G, Zhang H, Jiang G (2016) Cloudseer: Workflow monitoring of cloud infrastructures via interleaved logs. In: Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems, ACM, New York, NY, USA, ASPLOS \u201916, pp 489\u2013502 https:\/\/doi.org\/10.1145\/2872362.2872407","DOI":"10.1145\/2872362.2872407"},{"key":"9862_CR61","doi-asserted-by":"publisher","unstructured":"Yuan X, Wang Z, Wu C, Yew P-C, Wang W, Li J, Xu D (2013) Synchronization identification through on-the-fly test. In: Proceedings of the 19th International Conference on Parallel Processing, Springer, Berlin, Heidelberg, Euro-Par\u201913, pp 4\u201315, https:\/\/doi.org\/10.1007\/978-3-642-40047-6_3","DOI":"10.1007\/978-3-642-40047-6_3"},{"key":"9862_CR62","doi-asserted-by":"publisher","unstructured":"Zhang W, Sun C, Lu S (2010) Conmem: Detecting severe concurrency bugs through an effect-oriented approach. In: Proceedings of the Fifteenth Edition of ASPLOS on Architectural Support for Programming Languages and Operating Systems, ACM, New York, NY, USA, ASPLOS XV, pp 179\u2013192, https:\/\/doi.org\/10.1145\/1736020.1736041","DOI":"10.1145\/1736020.1736041"},{"key":"9862_CR63","doi-asserted-by":"publisher","unstructured":"Zhang W, Lim J, Olichandran R, Scherpelz J, Jin G, Lu S, Reps T (2011) Conseq: Detecting concurrency bugs through sequential errors. In: Proceedings of the Sixteenth International conference on architectural support for programming languages and operating systems, ACM, New York, NY, USA, ASPLOS XVI, 251\u2013264, https:\/\/doi.org\/10.1145\/1950365.1950395","DOI":"10.1145\/1950365.1950395"},{"key":"9862_CR64","doi-asserted-by":"publisher","unstructured":"Zhang Y, Duesterwald E, Gao GR (2008) Concurrency analysis for shared memory programs with textually unaligned barriers. In: Adve V, Garzar\u00e1n MJ, Petersen P (eds) Languages and compilers for parallel computing. Springer Berlin, pp 95\u2013109 https:\/\/doi.org\/10.1007\/978-3-540-85261-2_7","DOI":"10.1007\/978-3-540-85261-2_7"},{"key":"9862_CR65","doi-asserted-by":"publisher","unstructured":"Zhao Q, Qiu Z, Jin G (2019) Semantics-aware scheduling policies for synchronization determinism. In: Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming, Association for Computing Machinery, New York, NY, USA, PPoPP \u201919, p 242\u2013256 https:\/\/doi.org\/10.1145\/3293883.3295731https:\/\/doi.org\/10.1145\/3293883.3295731","DOI":"10.1145\/3293883.3295731 10.1145\/3293883.3295731"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-020-09862-3.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10664-020-09862-3\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-020-09862-3.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,9,1]],"date-time":"2021-09-01T00:29:24Z","timestamp":1630456164000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10664-020-09862-3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,9,1]]},"references-count":65,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2020,11]]}},"alternative-id":["9862"],"URL":"https:\/\/doi.org\/10.1007\/s10664-020-09862-3","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"type":"print","value":"1382-3256"},{"type":"electronic","value":"1573-7616"}],"subject":[],"published":{"date-parts":[[2020,9,1]]},"assertion":[{"value":"1 September 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}