Abstract
Happens before-based dynamic analysis is the go-to technique for detecting data races in large scale software projects due to the absence of false positive reports. However, such analyses are expensive since they employ expensive vector clock updates at each event, rendering them usable only for in-house testing. In this paper, we present a sampling-based, randomized race detector that processes only constantly many events of the input trace even in the worst case. This is the first sub-linear time (i.e., running in o(n) time where n is the length of the trace) dynamic race detection algorithm; previous sampling based approaches like run in linear time (i.e., O(n)). Our algorithm is a property tester for -race detection — it is sound in that it never reports any false positive, and on traces that are far, with respect to hamming distance, from any race-free trace, the algorithm detects an -race with high probability. Our experimental evaluation of the algorithm and its comparison with state-of-the-art deterministic and sampling based race detectors shows that the algorithm does indeed have significantly low running time, and detects races quite often.
- 2021. Intel® Inspector. https://software.intel.com/content/www/us/en/develop/tools/inspector.html Accessed: 2021-11-01
Google Scholar
- Martin Abadi, Cormac Flanagan, and Stephen N. Freund. 2006. Types for Safe Locking: Static Race Detection for Java. ACM Trans. Program. Lang. Syst., 28, 2 (2006), March, 207–255.
Google Scholar
Digital Library
- Advanced Simulation and Computing, LLNL. 2022. CORAL Benchmarks. https://asc.llnl.gov/coral-benchmarks Accessed: 2022-04-11
Google Scholar
- Advanced Simulation and Computing, LLNL. 2022. CORAL Benchmarks. https://asc.llnl.gov/coral-2-benchmarks Accessed: 2022-04-11
Google Scholar
- Sarita Adve. 2010. Data races are evil with no exceptions: Technical perspective. Commun. ACM, 53, 11 (2010), 84–84.
Google Scholar
Digital Library
- Kunal Agrawal, Joseph Devietti, Jeremy T. Fineman, I-Ting Angelina Lee, Robert Utterback, and Changming Xu. 2018. Race Detection and Reachability in Nearly Series-Parallel DAGs. In Proceedings of the Twenty-Ninth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA ’18). Society for Industrial and Applied Mathematics, USA. 156–171. isbn:9781611975031
Google Scholar
Digital Library
- Noga Alon, Michael Krivelevich, Ilan Newman, and Mario Szegedy. 2001. Regular languages are testable with a constant number of queries. SIAM J. Comput., 30, 6 (2001), 1842–1862.
Google Scholar
Digital Library
- D. H. Bailey, E. Barszcz, J. T. Barton, D. S. Browning, R. L. Carter, L. Dagum, R. A. Fatoohi, P. O. Frederickson, T. A. Lasinski, R. S. Schreiber, H. D. Simon, V. Venkatakrishnan, and S. K. Weeratunga. 1991. The NAS Parallel Benchmarks—Summary and Preliminary Results. In Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing ’91). Association for Computing Machinery, New York, NY, USA. 158–165. isbn:0897914597 https://doi.org/10.1145/125826.125925
Google Scholar
Digital Library
- Swarnendu Biswas, Man Cao, Minjia Zhang, Michael D. Bond, and Benjamin P. Wood. 2017. Lightweight Data Race Detection for Production Runs. In Proceedings of the 26th International Conference on Compiler Construction (CC 2017). Association for Computing Machinery, New York, NY, USA. 11–21. isbn:9781450352338 https://doi.org/10.1145/3033019.3033020
Google Scholar
Digital Library
- Stephen M. Blackburn, Robin Garner, Chris Hoffmann, Asjad M. Khang, Kathryn S. McKinley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z. Guyer, Martin Hirzel, Antony Hosking, Maria Jump, Han Lee, J. Eliot B. Moss, Aashish Phansalkar, Darko Stefanović, Thomas VanDrunen, Daniel von Dincklage, and Ben Wiedermann. 2006. The DaCapo Benchmarks: Java Benchmarking Development and Analysis. In Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications (OOPSLA ’06). ACM, New York, NY, USA. 169–190. isbn:1-59593-348-4 https://doi.org/10.1145/1167473.1167488
Google Scholar
Digital Library
- Sam Blackshear, Nikos Gorogiannis, Peter W. O’Hearn, and Ilya Sergey. 2018. RacerD: Compositional Static Race Detection. Proc. ACM Program. Lang., 2, OOPSLA (2018), Article 144, oct, 28 pages. https://doi.org/10.1145/3276514
Google Scholar
Digital Library
- Hans-J. Boehm. 2011. How to Miscompile Programs with “Benign” Data Races. In Proceedings of the 3rd USENIX Conference on Hot Topic in Parallelism (HotPar’11). USENIX Association, USA. 3.
Google Scholar
- Hans-J. Boehm and Sarita Adve. 2008. Foundations of the C++ Concurrency Memory Model. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. 68–78.
Google Scholar
- Michael Bond. 2021. Pacer: Proportional Detection of Data Races. https://sourceforge.net/p/jikesrvm/research-archive/28/ Accessed: 2021-11-01
Google Scholar
- Michael D. Bond, Katherine E. Coons, and Kathryn S. McKinley. 2010. PACER: Proportional Detection of Data Races. In Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’10). ACM, New York, NY, USA. 255–268. isbn:978-1-4503-0019-3 https://doi.org/10.1145/1806596.1806626
Google Scholar
Digital Library
- Michael D. Bond, Milind Kulkarni, Man Cao, Minjia Zhang, Meisam Fathi Salmi, Swarnendu Biswas, Aritra Sengupta, and Jipeng Huang. 2013. OCTET: Capturing and Controlling Cross-thread Dependences Efficiently. SIGPLAN Not., 48, 10 (2013), Oct., 693–712. issn:0362-1340 https://doi.org/10.1145/2544173.2509519
Google Scholar
Digital Library
- Sebastian Burckhardt, Pravesh Kothari, Madanlal Musuvathi, and Santosh Nagarakatte. 2010. A Randomized Scheduler with Probabilistic Guarantees of Finding Bugs. In Proceedings of the Fifteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XV). Association for Computing Machinery, New York, NY, USA. 167–178. isbn:9781605588391 https://doi.org/10.1145/1736020.1736040
Google Scholar
Digital Library
- Dongjie Chen, Yanyan Jiang, Chang Xu, Xiaoxing Ma, and Jian Lu. 2018. Testing Multithreaded Programs via Thread Speed Control. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2018). Association for Computing Machinery, New York, NY, USA. 15–25. isbn:9781450355735 https://doi.org/10.1145/3236024.3236077
Google Scholar
Digital Library
- Guang-Ien Cheng, Mingdong Feng, Charles E. Leiserson, Keith H. Randall, and Andrew F. Stark. 1998. Detecting Data Races in Cilk Programs That Use Locks. In Proceedings of the Tenth Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA ’98). ACM, New York, NY, USA. 298–309.
Google Scholar
- Jong-Deok Choi, Keunwoo Lee, Alexey Loginov, Robert O’Callahan, Vivek Sarkar, and Manu Sridharan. 2002. Efficient and Precise Datarace Detection for Multithreaded Object-oriented Programs. In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI ’02). ACM, New York, NY, USA. 258–269. isbn:1-58113-463-0 https://doi.org/10.1145/512529.512560
Google Scholar
Digital Library
- Joseph Devietti, Benjamin P. Wood, Karin Strauss, Luis Ceze, Dan Grossman, and Shaz Qadeer. 2012. RADISH: Always-on sound and complete race detection in software and hardware. In 2012 39th Annual International Symposium on Computer Architecture (ISCA). 201–212. https://doi.org/10.1109/ISCA.2012.6237018
Google Scholar
Cross Ref
- Dimitar Dimitrov, Martin Vechev, and Vivek Sarkar. 2015. Race Detection in Two Dimensions. In Proceedings of the 27th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA ’15). Association for Computing Machinery, New York, NY, USA. 101–110. isbn:9781450335881 https://doi.org/10.1145/2755573.2755601
Google Scholar
Digital Library
- Hyunsook Do, Sebastian Elbaum, and Gregg Rothermel. 2005. Supporting controlled experimentation with testing techniques: An infrastructure and its potential impact. Empirical Software Engineering: An International Journal, 10 (2005), 405–435.
Google Scholar
Digital Library
- A.J. Dorta, C. Rodriguez, and F. de Sande. 2005. The OpenMP source code repository. In 13th Euromicro Conference on Parallel, Distributed and Network-Based Processing. 244–250. https://doi.org/10.1109/EMPDP.2005.41
Google Scholar
Digital Library
- Tayfun Elmas, Shaz Qadeer, and Serdar Tasiran. 2007. Goldilocks: A Race and Transaction-aware Java Runtime. In Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’07). ACM, New York, NY, USA. 245–255. isbn:978-1-59593-633-2 https://doi.org/10.1145/1250734.1250762
Google Scholar
Digital Library
- John Erickson, Madanlal Musuvathi, Sebastian Burckhardt, and Kirk Olynyk. 2010. Effective Data-Race Detection for the Kernel. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation (OSDI’10). USENIX Association, USA. 151–162.
Google Scholar
Digital Library
- Azadeh Farzan, P. Madhusudan, and Francesco Sorrentino. 2009. Meta-analysis for Atomicity Violations Under Nested Locking. In Proceedings of the 21st International Conference on Computer Aided Verification (CAV ’09). Springer-Verlag, Berlin, Heidelberg. 248–262. isbn:978-3-642-02657-7 https://doi.org/10.1007/978-3-642-02658-4_21
Google Scholar
Digital Library
- Mingdong Feng and Charles E. Leiserson. 1997. Efficient Detection of Determinacy Races in Cilk Programs. In Proceedings of the Ninth Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA ’97). Association for Computing Machinery, New York, NY, USA. 1–11. isbn:0897918908 https://doi.org/10.1145/258492.258493
Google Scholar
Digital Library
- Colin Fidge. 1991. Logical Time in Distributed Computing Systems. Computer, 24, 8 (1991), Aug., 28–33. issn:0018-9162 https://doi.org/10.1109/2.84874
Google Scholar
Digital Library
- Cormac Flanagan and Stephen N. Freund. 2000. Type-based Race Detection for Java. In Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation (PLDI ’00). ACM, New York, NY, USA. 219–232. isbn:1-58113-199-2 https://doi.org/10.1145/349299.349328
Google Scholar
Digital Library
- Cormac Flanagan and Stephen N. Freund. 2009. FastTrack: Efficient and Precise Dynamic Race Detection. In Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’09). ACM, New York, NY, USA. 121–133. isbn:978-1-60558-392-1 https://doi.org/10.1145/1542476.1542490
Google Scholar
Digital Library
- Cormac Flanagan and Stephen N. Freund. 2010. The RoadRunner Dynamic Analysis Framework for Concurrent Programs. In Proceedings of the 9th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE ’10). ACM, New York, NY, USA. 1–8.
Google Scholar
- Cormac Flanagan and Stephen N. Freund. 2013. RedCard: Redundant Check Elimination for Dynamic Race Detectors. In Proceedings of the 27th European Conference on Object-Oriented Programming (ECOOP’13). Springer-Verlag, Berlin, Heidelberg. 255–280. isbn:978-3-642-39037-1
Google Scholar
- Cormac Flanagan, Stephen N. Freund, Marina Lifshin, and Shaz Qadeer. 2008. Types for Atomicity: Static Checking and Inference for Java. ACM Trans. Program. Lang. Syst., 30, 4 (2008), Article 20, Aug., 53 pages. issn:0164-0925 https://doi.org/10.1145/1377492.1377495
Google Scholar
Digital Library
- Oded Goldreich. 2017. Introduction to Property Testing. Cambridge University Press.
Google Scholar
- Klaus Havelund. 2000. Using Runtime Analysis to Guide Model Checking of Java Programs. In SPIN Model Checking and Software Verification, Klaus Havelund, John Penix, and Willem Visser (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 245–264. isbn:978-3-540-45297-3
Google Scholar
Cross Ref
- Jeff Huang, Patrick O’Neil Meredith, and Grigore Rosu. 2014. Maximal Sound Predictive Race Detection with Control Flow Abstraction. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’14). ACM, New York, NY, USA. 337–348. isbn:978-1-4503-2784-8 https://doi.org/10.1145/2594291.2594315
Google Scholar
Digital Library
- Ayal Itzkovitz, Assaf Schuster, and Oren Zeev-Ben-Mordehai. 1999. Toward Integration of Data Race Detection in DSM Systems. J. Parallel Distrib. Comput., 59, 2 (1999), Nov., 180–203. issn:0743-7315 https://doi.org/10.1006/jpdc.1999.1574
Google Scholar
Digital Library
- Dae R. Jeong, Kyungtae Kim, Basavesh Shivakumar, Byoungyoung Lee, and Insik Shin. 2019. Razzer: Finding Kernel Race Bugs through Fuzzing. In 2019 IEEE Symposium on Security and Privacy (SP). 754–768. https://doi.org/10.1109/SP.2019.00017
Google Scholar
Cross Ref
- Vineet Kahlon, Franjo Ivančić, and Aarti Gupta. 2005. Reasoning About Threads Communicating via Locks. In Proceedings of the 17th International Conference on Computer Aided Verification (CAV’05). Springer-Verlag, Berlin, Heidelberg. 505–518. isbn:3-540-27231-3, 978-3-540-27231-1 https://doi.org/10.1007/11513988_49
Google Scholar
Digital Library
- Baris Kasikci, Cristian Zamfir, and George Candea. 2013. RaceMob: Crowdsourced Data Race Detection. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles (SOSP ’13). ACM, New York, NY, USA. 406–422.
Google Scholar
Digital Library
- Dileep Kini, Umang Mathur, and Mahesh Viswanathan. 2017. Dynamic Race Prediction in Linear Time. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2017). ACM, New York, NY, USA. 157–170. isbn:978-1-4503-4988-8 https://doi.org/10.1145/3062341.3062374
Google Scholar
Digital Library
- Dileep Kini, Umang Mathur, and Mahesh Viswanathan. 2018. Data Race Detection on Compressed Traces. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2018). Association for Computing Machinery, New York, NY, USA. 26–37. isbn:9781450355735 https://doi.org/10.1145/3236024.3236025
Google Scholar
Digital Library
- Rucha Kulkarni, Umang Mathur, and Andreas Pavlogiannis. 2021. Dynamic Data-Race Detection Through the Fine-Grained Lens. In 32nd International Conference on Concurrency Theory (CONCUR 2021), Serge Haddad and Daniele Varacca (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 203). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 16:1–16:23. isbn:978-3-95977-203-7 issn:1868-8969 https://doi.org/10.4230/LIPIcs.CONCUR.2021.16
Google Scholar
Cross Ref
- Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM, 21, 7 (1978), July, 558–565.
Google Scholar
Digital Library
- Chunhua Liao, Pei-Hung Lin, Joshua Asplund, Markus Schordan, and Ian Karlin. 2017. DataRaceBench: A Benchmark Suite for Systematic Evaluation of Data Race Detection Tools. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC ’17). Association for Computing Machinery, New York, NY, USA. Article 11, 14 pages. isbn:9781450351140 https://doi.org/10.1145/3126908.3126958
Google Scholar
Digital Library
- LLNL. 2022. ECP Proxy Applications. https://proxyapps.exascaleproject.org Accessed: 2021-04-01
Google Scholar
- Shan Lu, Soyeon Park, Eunsoo Seo, and Yuanyuan Zhou. 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 (ASPLOS XIII). ACM, New York, NY, USA. 329–339. isbn:978-1-59593-958-6 https://doi.org/10.1145/1346281.1346323
Google Scholar
Digital Library
- Weiyu Luo and Brian Demsky. 2021. C11Tester: A Race Detector for C/C++ Atomics. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2021). Association for Computing Machinery, New York, NY, USA. 630–646. isbn:9781450383172 https://doi.org/10.1145/3445814.3446711
Google Scholar
Digital Library
- Daniel Marino, Madanlal Musuvathi, and Satish Narayanasamy. 2009. LiteRace: Effective Sampling for Lightweight Data-race Detection. In Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’09). ACM, New York, NY, USA. 134–143. isbn:978-1-60558-392-1 https://doi.org/10.1145/1542476.1542491
Google Scholar
Digital Library
- Umang Mathur, Dileep Kini, and Mahesh Viswanathan. 2018. What Happens-after the First Race? Enhancing the Predictive Power of Happens-before Based Dynamic Race Detection. Proc. ACM Program. Lang., 2, OOPSLA (2018), Article 145, Oct., 29 pages. issn:2475-1421 https://doi.org/10.1145/3276515
Google Scholar
Digital Library
- Umang Mathur, Andreas Pavlogiannis, Hünkar Can Tunç, and Mahesh Viswanathan. 2022. A Tree Clock Data Structure for Causal Orderings in Concurrent Executions. In Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2022). Association for Computing Machinery, New York, NY, USA. 710–725. isbn:9781450392051 https://doi.org/10.1145/3503222.3507734
Google Scholar
Digital Library
- Umang Mathur, Andreas Pavlogiannis, and Mahesh Viswanathan. 2020. The Complexity of Dynamic Data Race Prediction. In Proceedings of the 35th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS ’20). Association for Computing Machinery, New York, NY, USA. 713–727. isbn:9781450371049 https://doi.org/10.1145/3373718.3394783
Google Scholar
Digital Library
- Umang Mathur, Andreas Pavlogiannis, and Mahesh Viswanathan. 2021. Optimal Prediction of Synchronization-Preserving Races. Proc. ACM Program. Lang., 5, POPL (2021), Article 36, jan, 29 pages. https://doi.org/10.1145/3434317
Google Scholar
Digital Library
- Umang Mathur and Mahesh Viswanathan. 2020. Atomicity Checking in Linear Time Using Vector Clocks. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’20). Association for Computing Machinery, New York, NY, USA. 183–199. isbn:9781450371025 https://doi.org/10.1145/3373376.3378475
Google Scholar
Digital Library
- Friedemann Mattern. 1988. Virtual Time and Global States of Distributed Systems. In Parallel and Distributed Algorithms. North-Holland, 215–226.
Google Scholar
- Arndt Müehlenfeld and Franz Wotawa. 2007. Fault Detection in Multi-threaded C++ Server Applications. In Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP ’07). ACM, New York, NY, USA. 142–143. isbn:978-1-59593-602-8 https://doi.org/10.1145/1229428.1229457
Google Scholar
Digital Library
- Suvam Mukherjee, Pantazis Deligiannis, Arpita Biswas, and Akash Lal. 2020. Learning-Based Controlled Concurrency Testing. Proc. ACM Program. Lang., 4, OOPSLA (2020), Article 230, nov, 31 pages. https://doi.org/10.1145/3428298
Google Scholar
Digital Library
- Madanlal Musuvathi and Shaz Qadeer. 2007. Iterative Context Bounding for Systematic Testing of Multithreaded Programs. In Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’07). Association for Computing Machinery, New York, NY, USA. 446–455. isbn:9781595936332 https://doi.org/10.1145/1250734.1250785
Google Scholar
Digital Library
- Madanlal Musuvathi, Shaz Qadeer, Thomas Ball, Gerard Basler, Piramanayagam Arumuga Nainar, and Iulian Neamtiu. 2008. Finding and Reproducing Heisenbugs in Concurrent Programs. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI’08). USENIX Association, Berkeley, CA, USA. 267–280.
Google Scholar
Digital Library
- Mayur Naik, Alex Aiken, and John Whaley. 2006. Effective Static Race Detection for Java. In Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’06). ACM, New York, NY, USA. 308–319. isbn:1-59593-320-4 https://doi.org/10.1145/1133981.1134018
Google Scholar
Digital Library
- Satish Narayanasamy, Zhenghao Wang, Jordan Tigani, Andrew Edwards, and Brad Calder. 2007. Automatically Classifying Benign and Harmful Data Races Using Replay Analysis. In Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’07). Association for Computing Machinery, New York, NY, USA. 22–31. isbn:9781595936332 https://doi.org/10.1145/1250734.1250738
Google Scholar
Digital Library
- Robert O’Callahan and Jong-Deok Choi. 2003. Hybrid Dynamic Data Race Detection. In Proceedings of the Ninth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP ’03). ACM, New York, NY, USA. 167–178. isbn:1-58113-588-2 https://doi.org/10.1145/781498.781528
Google Scholar
Digital Library
- Andreas Pavlogiannis. 2019. Fast, Sound, and Effectively Complete Dynamic Race Prediction. Proc. ACM Program. Lang., 4, POPL (2019), Article 17, Dec., 29 pages. https://doi.org/10.1145/3371085
Google Scholar
Digital Library
- Eli Pozniansky and Assaf Schuster. 2003. Efficient On-the-fly Data Race Detection in Multithreaded C++ Programs. In Proceedings of the Ninth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP ’03). ACM, New York, NY, USA. 179–190. isbn:1-58113-588-2 https://doi.org/10.1145/781498.781529
Google Scholar
Digital Library
- Raghavan Raman, Jisheng Zhao, Vivek Sarkar, Martin Vechev, and Eran Yahav. 2012. Scalable and Precise Dynamic Datarace Detection for Structured Parallelism. In Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’12). ACM, New York, NY, USA. 531–542. isbn:978-1-4503-1205-9 https://doi.org/10.1145/2254064.2254127
Google Scholar
Digital Library
- Dustin Rhodes, Cormac Flanagan, and Stephen N. Freund. 2017. BigFoot: Static Check Placement for Dynamic Race Detection. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2017). ACM, New York, NY, USA. 141–156. isbn:978-1-4503-4988-8 https://doi.org/10.1145/3062341.3062350
Google Scholar
Digital Library
- Jake Roemer, Kaan Genç, and Michael D. Bond. 2018. High-coverage, Unbounded Sound Predictive Race Detection. In Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2018). ACM, New York, NY, USA. 374–389. isbn:978-1-4503-5698-5 https://doi.org/10.1145/3192366.3192385
Google Scholar
Digital Library
- Jake Roemer, Kaan Genç, and Michael D. Bond. 2020. SmartTrack: Efficient Predictive Race Detection. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020). Association for Computing Machinery, New York, NY, USA. 747–762. isbn:9781450376136 https://doi.org/10.1145/3385412.3385993
Google Scholar
Digital Library
- Mahmoud Said, Chao Wang, Zijiang Yang, and Karem Sakallah. 2011. Generating Data Race Witnesses by an SMT-based Analysis. In Proceedings of the Third International Conference on NASA Formal Methods (NFM’11). Springer-Verlag, Berlin, Heidelberg. 313–327.
Google Scholar
Digital Library
- Sandia National Laboratories. 2022. Mantevo Project. Accessed: 2022-04-11
Google Scholar
- Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro, and Thomas Anderson. 1997. Eraser: A Dynamic Data Race Detector for Multithreaded Programs. ACM Trans. Comput. Syst., 15, 4 (1997), Nov., 391–411. issn:0734-2071 https://doi.org/10.1145/265924.265927
Google Scholar
Digital Library
- Adrian Schmitz, Joachim Protze, Lechen Yu, Simon Schwitanski, and Matthias S. Müller. 2020. DataRaceOnAccelerator – A Micro-benchmark Suite for Evaluating Correctness Tools Targeting Accelerators. In Euro-Par 2019: Parallel Processing Workshops, Ulrich Schwardmann, Christian Boehme, Dora B. Heras, Valeria Cardellini, Emmanuel Jeannot, Antonio Salis, Claudio Schifanella, Ravi Reddy Manumachu, Dieter Schwamborn, Laura Ricci, Oh Sangyoon, Thomas Gruber, Laura Antonelli, and Stephen L. Scott (Eds.). Springer International Publishing, Cham. 245–257. https://doi.org/10.1007/978-3-030-48340-1_19
Google Scholar
Digital Library
- Koushik Sen. 2008. Race Directed Random Testing of Concurrent Programs. In Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI ’08). ACM, New York, NY, USA. 11–21. isbn:978-1-59593-860-2 https://doi.org/10.1145/1375581.1375584
Google Scholar
Digital Library
- Koushik Sen, Grigore Roşu, and Gul Agha. 2005. Detecting Errors in Multithreaded Programs by Generalized Predictive Analysis of Executions. In Proceedings of the 7th IFIP WG 6.1 International Conference on Formal Methods for Open Object-Based Distributed Systems (FMOODS’05). Springer-Verlag, Berlin, Heidelberg. 211–226.
Google Scholar
Digital Library
- Konstantin Serebryany and Timur Iskhodzhanov. 2009. ThreadSanitizer: Data Race Detection in Practice. In Proceedings of the Workshop on Binary Instrumentation and Applications (WBIA ’09). ACM, New York, NY, USA. 62–71.
Google Scholar
Digital Library
- Konstantin Serebryany, Alexander Potapenko, Timur Iskhodzhanov, and Dmitry Vyukov. 2011. Dynamic Race Detection with LLVM Compiler. Google.
Google Scholar
- Yannis Smaragdakis, Jacob Evans, Caitlin Sadowski, Jaeheon Yi, and Cormac Flanagan. 2012. Sound Predictive Race Detection in Polynomial Time. In Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’12). ACM, New York, NY, USA. 387–400. isbn:978-1-4503-1083-3 https://doi.org/10.1145/2103656.2103702
Google Scholar
Digital Library
- L. A. Smith, J. M. Bull, and J. Obdrizalek. 2001. A Parallel Java Grande Benchmark Suite. In SC ’01: Proceedings of the 2001 ACM/IEEE Conference on Supercomputing. 6–6. https://doi.org/10.1145/582034.582042
Google Scholar
Digital Library
- Francesco Sorrentino, Azadeh Farzan, and P. Madhusudan. 2010. PENELOPE: Weaving Threads to Expose Atomicity Violations. In Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE ’10). ACM, New York, NY, USA. 37–46. isbn:978-1-60558-791-2 https://doi.org/10.1145/1882291.1882300
Google Scholar
Digital Library
- Rishi Surendran and Vivek Sarkar. 2016. Dynamic determinacy race detection for task parallelism with futures. In International Conference on Runtime Verification. 368–385.
Google Scholar
Cross Ref
- Paul Thomson, Alastair F. Donaldson, and Adam Betts. 2016. Concurrency Testing Using Controlled Schedulers: An Empirical Study. ACM Trans. Parallel Comput., 2, 4 (2016), Article 23, feb, 37 pages. issn:2329-4949 https://doi.org/10.1145/2858651
Google Scholar
Digital Library
- Christoph von Praun and Thomas R. Gross. 2003. Static Conflict Analysis for Multi-threaded Object-oriented Programs. In Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI ’03). ACM, New York, NY, USA. 115–128. isbn:1-58113-662-5 https://doi.org/10.1145/781131.781145
Google Scholar
Digital Library
- Jan Wen Voung, Ranjit Jhala, and Sorin Lerner. 2007. RELAY: Static Race Detection on Millions of Lines of Code. In Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (ESEC-FSE ’07). ACM, New York, NY, USA. 205–214.
Google Scholar
Digital Library
- Jaroslav Ševčík. 2011. Safe optimizations for shared-memory concurrent programs. SIGPLAN Notices, 46, 6 (2011), 306–316.
Google Scholar
Digital Library
- Jaroslav Ševčík and David Aspinall. 2008. On the validity of program transformations in the Java memory model. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP). 27–51.
Google Scholar
- Benjamin P. Wood, Man Cao, Michael D. Bond, and Dan Grossman. 2017. Instrumentation Bias for Dynamic Data Race Detection. Proc. ACM Program. Lang., 1, OOPSLA (2017), Article 69, Oct., 31 pages. issn:2475-1421 https://doi.org/10.1145/3133893
Google Scholar
Digital Library
- Meng Xu, Sanidhya Kashyap, Hanqing Zhao, and Taesoo Kim. 2020. Krace: Data Race Fuzzing for Kernel File Systems. In 2020 IEEE Symposium on Security and Privacy (SP). 1643–1660. https://doi.org/10.1109/SP40000.2020.00078
Google Scholar
Cross Ref
- M. Zhivich and R. K. Cunningham. 2009. The Real Cost of Software Errors. IEEE Security and Privacy, 7, 2 (2009), March, 87–90. issn:1540-7993 https://doi.org/10.1109/MSP.2009.56
Google Scholar
Digital Library
Index Terms
Dynamic Race Detection with O(1) Samples
Recommendations
What happens-after the first race? enhancing the predictive power of happens-before based dynamic race detection
Dynamic race detection is the problem of determining if an observed program execution reveals the presence of a data race in a program. The classical approach to solving this problem is to detect if there is a pair of conflicting memory accesses that ...
TxRace: Efficient Data Race Detection Using Commodity Hardware Transactional Memory
ASPLOS'16Detecting data races is important for debugging shared-memory multithreaded programs, but the high runtime overhead prevents the wide use of dynamic data race detectors. This paper presents TxRace, a new software data race detector that leverages ...
TxRace: Efficient Data Race Detection Using Commodity Hardware Transactional Memory
ASPLOS '16Detecting data races is important for debugging shared-memory multithreaded programs, but the high runtime overhead prevents the wide use of dynamic data race detectors. This paper presents TxRace, a new software data race detector that leverages ...






Comments