skip to main content
10.1145/3426182.3426185acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Efficient, near complete, and often sound hybrid dynamic data race prediction

Published:04 November 2020Publication History

ABSTRACT

Dynamic data race prediction aims to identify races based on a single program run represented by a trace. The challenge is to remain efficient while being as sound and as complete as possible. Efficient means a linear run-time as otherwise the method unlikely scales for real-world programs. We introduce an efficient, near complete and often sound dynamic data race prediction method that combines the lockset method with several improvements made in the area of happens-before methods. By near complete we mean that the method is complete in theory but for efficiency reasons the implementation applies some optimizations that may result in incompleteness. The method can be shown to be sound for two threads but is unsound in general. Experiments show that our method works well in practice.

References

  1. Sarita V. Adve and Kourosh Gharachorloo. 1996. Shared Memory Consistency Models: A Tutorial. Computer 29, 12 (Dec. 1996 ), 66-76. https://doi.org/10.1109/2.546611 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Jalal S Alowibdi and Leon Stenneth. 2013. An empirical study of data race detector tools. In 2013 25th Chinese Control and Decision Conference (CCDC). IEEE, 3951-3955. https://doi.org/10.1109/CCDC. 2013.6561640 Google ScholarGoogle ScholarCross RefCross Ref
  3. Stephen M. Blackburn, Robin Garner, Chris Hofmann, 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 Proc. of OOPSLA '06. ACM, 169-190. https://doi.org/10.1145/1167515.1167488 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Anne Dinning and Edith Schonberg. 1991. Detecting Access Anomalies in Programs with Critical Sections. SIGPLAN Not. 26, 12 (Dec. 1991 ), 85-96. https://doi.org/10. 1145/127695.122767 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Eitan Farchi, Yarden Nir, and Shmuel Ur. 2003. Concurrent bug patterns and how to test them. In Proceedings International Parallel and Distributed Processing Symposium. IEEE, 7-pp. https ://doi.org/10.1109/IPDPS. 2003.1213511 Google ScholarGoogle ScholarCross RefCross Ref
  6. Colin J. Fidge. 1992. Process Algebra Traces Augmented with Causal Relationships. In Proc. of FORTE '91. North-Holland Publishing Co., Amsterdam, The Netherlands, The Netherlands, 527-541.Google ScholarGoogle ScholarCross RefCross Ref
  7. Cormac Flanagan and Stephen N Freund. 2010. FastTrack: eficient and precise dynamic race detection. Commun. ACM 53, 11 ( 2010 ), 93-101. https://doi.org/10.1145/1543135. 1542490 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Kaan Genç, Jake Roemer, Yufan Xu, and Michael D. Bond. 2019. Dependence-Aware, Unbounded Sound Predictive Race Detection. Proc. ACM Program. Lang. 3, OOPSLA, Article 179 (Oct. 2019 ), 30 pages. https://doi.org/10.1145/3360605 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Jef Huang, Patrick O'Neil Meredith, and Grigore Rosu. 2014. Maximal Sound Predictive Race Detection with Control Flow Abstraction. SIGPLAN Not. 49, 6 ( June 2014 ), 337-348. https://doi.org/10.1145/2666356.2594315 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Christian Gram Kalhauge and Jens Palsberg. 2018. Sound Deadlock Prediction. Proc. ACM Program. Lang. 2, OOPSLA, Article 146 (Oct. 2018 ), 29 pages. https://doi.org/ 10.1145/3276516 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Dileep Kini, Umang Mathur, and Mahesh Viswanathan. 2017. Dynamic Race Prediction in Linear Time. SIGPLAN Not. 52, 6 ( June 2017 ), 157-170. https://doi.org/10.1145/ 3062341.3062374 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Leslie Lamport. 1978. Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 7 ( 1978 ), 558-565. https://doi.org/10.1145/359545.359563 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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. ACM, 11. https: //doi.org/10.1145/3126908.3126958 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Pei-Hung Lin, Chunhua Liao, Markus Schordan, and Ian Karlin. 2018. Runtime and memory evaluation of data race detection tools. In International Symposium on Leveraging Applications of Formal Methods. Springer, 179-196. https://doi.org/10. 1007/978-3-030-03421-4_13 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Qingzhou Luo, Jef Huang, and Grigore Rosu. 2015. Systematic Concurrency Testing with Maximal Causality. Technical Report.Google ScholarGoogle Scholar
  16. 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, Article 145 (Oct. 2018 ), 29 pages. https://doi.org/10.1145/3276515 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Friedemann Mattern. 1989. Virtual Time and Global States of Distributed Systems. In Parallel and Distributed Algorithms. North-Holland, 215-226.Google ScholarGoogle Scholar
  18. Andreas Pavlogiannis. 2019. Fast, Sound, and Efectively Complete Dynamic Race Prediction. Proc. ACM Program. Lang. 4, POPL, Article Article 17 (Dec. 2019 ), 29 pages. https://doi.org/10.1145/3371085 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Jake Roemer, Kaan Genç, and Michael D Bond. 2019. Practical Predictive Race Detection. arXiv preprint arXiv: 1905. 00494 ( 2019 ).Google ScholarGoogle Scholar
  20. Jake Roemer, Kaan Genç, and Michael D. Bond. 2018. High-coverage, Unbounded Sound Predictive Race Detection. SIGPLAN Not. 53, 4 ( June 2018 ), 374-389. https: //doi.org/10.1145/3192366.3192385 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Traian-Florin Serbanuta, Feng Chen, and Grigore Rosu. 2012. Maximal Causal Models for Sequentially Consistent Systems. In Poc. of RV'12 (LNCS), Vol. 7687. Springer, 136-150. https://doi.org/10.1007/978-3-642-35632-2_16 Google ScholarGoogle ScholarCross RefCross Ref
  22. Konstantin Serebryany and Timur Iskhodzhanov. 2009. ThreadSanitizer: data race detection in practice. In Proc. of WBIA âĂŹ09. ACM, New York, NY, USA, 62-71. https://doi.org/10.1145/1791194.1791203 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Yannis Smaragdakis, Jacob Evans, Caitlin Sadowski, Jaeheon Yi, and Cormac Flanagan. 2012. Sound Predictive Race Detection in Polynomial Time. SIGPLAN Not. 47, 1 (Jan. 2012 ), 387-400. https://doi.org/10.1145/2103656.2103702 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Lorna A Smith, J Mark Bull, and J Obdrizalek. 2001. A Parallel Java Grande Benchmark Suite. In Proc. of SC'01. IEEE, 8-8. https://doi.org/10.1145/582034.582042 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Martin Sulzmann and Kai Stadtmüller. 2019. Predicting all data race pairs for a specific schedule. In Proc. of MPLR'19. ACM, New York, NY, USA, 72-84. https: //doi.org/10.1145/3357390.3361022 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. ThreadSanitizer 2020. ThreadSanitizer. https://github.com/google/sanitizers. ( 2020 ).Google ScholarGoogle Scholar
  27. Xinwei Xie, Jingling Xue, and Jie Zhang. 2013. Acculock: Accurate and eficient detection of data races. Software: Practice and Experience 43, 5 ( 2013 ), 543-576. https://doi.org/10.1109/CGO. 2011.5764688 Google ScholarGoogle ScholarCross RefCross Ref
  28. Misun Yu and Doo-Hwan Bae. 2016. SimpleLock+: fast and accurate hybrid data race detection. Comput. J. 59, 6 ( 2016 ), 793-809. https://doi.org/10.1109/PDCAT. 2013.15 Google ScholarGoogle ScholarCross RefCross Ref
  29. Misun Yu, Seung-Min Park, Ingeol Chun, and Doo-Hwan Bae. 2017a. Experimental performance comparison of dynamic data race detection techniques. ETRI Journal 39, 1 ( 2017 ), 124-134. https://doi.org/10.4218/etrij.17.0115.1027 Google ScholarGoogle ScholarCross RefCross Ref
  30. Zhen Yu, Zhen Yang, Xiaohong Su, and Peijun Ma. 2017b. Evaluation and comparison of ten data race detection techniques. International Journal of High Performance Computing and Networking 10, 4-5 ( 2017 ), 279-288. https://doi.org/ 10.1504/IJHPCN. 2017.086532 Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Efficient, near complete, and often sound hybrid dynamic data race prediction

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      MPLR '20: Proceedings of the 17th International Conference on Managed Programming Languages and Runtimes
      November 2020
      97 pages
      ISBN:9781450388535
      DOI:10.1145/3426182

      Copyright © 2020 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 4 November 2020

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader