skip to main content
article

Efficient and precise datarace detection for multithreaded object-oriented programs

Published:17 May 2002Publication History
Skip Abstract Section

Abstract

We present a novel approach to dynamic datarace detection for multithreaded object-oriented programs. Past techniques for on-the-fly datarace detection either sacrificed precision for performance, leading to many false positive datarace reports, or maintained precision but incurred significant overheads in the range of 3x to 30x. In contrast, our approach results in very few false positives and runtime overhead in the 13% to 42% range, making it both efficient and precise. This performance improvement is the result of a unique combination of complementary static and dynamic optimization techniques.

References

  1. A. Aiken and D. Gay. Barrier inference. In Proceedings of the 25th Symposium on Principles of Programming Languages (POPL), pages 342--354, January 1998 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. B. Alpern, et.al. The Jalapeño virtual machine. IBM Systems Journal, 39(1), 2000 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of java without data races. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, 2000 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. B. Blanchet. Escape analysis for object oriented languages: Application to Java. In Proceedings of ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, Denver, Colorado, November 1999 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Bodga and U. Hölzle. Removing unnecessay synchronization in Java. In Proceedings of ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, Denver, Colorado, November 1999 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. Boyapati and M. Rinard. A parameterized type system for race-free java programs. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, 2001 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Burke, P. Carini, J.-D. Choi, and M. Hind. Flow-insensitive interprocedural alias analysis in the presence of pointers. In 7th International Workshop on Languages and Compilers for Parallel Computing, 1994. Extended version published as Research Report RC 19546, IBM T. J. Watson Research Center, September, 1994 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. G.-I. Cheng, M. Feng, C. E. Leiserson, K. H. Randall, and A. F. Stark. Detecting data races in Cilk programs that use locks. Proceedings of the Tenth Annual ACM Symposium on Parallel Algorithms and Architectures, 1998 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J.-D. Choi, B. Alpern, T. Ngo, M. Sridharan, and J. Vlissides. A perturbation-free replay platform for cross-optimized multithreaded applications. In Proceedings of the 15th IEEE International Parallel & Distributed Processing Symposium, April 2001 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J.-D. Choi, M. Gupta, M. Serrano, V. C. Sreedhar, and S. Midkiff. Escape analysis for Java. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 1--19, 1999 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J.-D. Choi, A. Loginov, and V. Sarkar. Static datarace analysis for multithreaded object-oriented programs. Technical report, IBM Research, 2001. Report RC22146; www.research.ibm.com/jalapeno/dejavu/Google ScholarGoogle Scholar
  12. J.-D. Choi and S. L. Min. Race frontier: Reproducing data races in parallel-program debugging. In Proceedings of Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, April 1991 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Christiaens and K. De Bosschere. TRaDe, a topological approach to on-the-fly race detection in java programs. Proceedings of the Java Virtual Machine Rsearch and Technology Symposium (JVM'01), April 2001 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Dinning and E. Schonberg. Detecting access anomalies in programs with critical sections. Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging, published in ACM SIGPLAN Notices, 26(12):85--96, 1991 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C. Flanagan and S. N. Freund. Type-based race detection for java. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 219--232, June 2000 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. E. Fredkin. Trie memory. Communications of the ACM, 3(9):490--499, September 1960 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. KL Group, 260 King Street East, Toronto, Ontario, Canada. Getting Started with JProbeGoogle ScholarGoogle Scholar
  18. Kuck & Associates, Inc., 1906 Fox Drive, Champaign, IL 61820-7345, USA. AssureJ User's Manual, 2.0 Edition, March 1999Google ScholarGoogle Scholar
  19. S. L. Min and J.-D. Choi. An efficient cache-based access anomaly detection scheme. In Proceedings of 4th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), April 1991 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. R. H. Netzer and B. P. Miller. What are race conditions? some issues and formalizations. ACM Letters on Programming Languages and Systems, 1(1):74--88, Mar. 1992 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. C. v. Praun and T. Gross. Object race detection. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, 2001 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. B. Richards and J. R. Larus. Protocol-based data-race detection. In Proceedings of the ACM SIGMETRICS Symposium on Parallel and Distributed Tools, pages 40--47, August 1998 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. E. Ruf. Effective synchronzation removal for Java. In SIGPLAN 2000 Conference on Programming Language Design and Implementation, pages 208--218, 2000 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and T. E. Anderson. Eraser: A dynamic data race detector for multi-threaded programs. ACM Transactions on Computer Systems, 15(4):391--411, 1997 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. E. Schonberg. On-The-Fly detection of access anomalies. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 285--297, June 1989 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. B. Steensgaard. Points-to analysis in almost linear time. In In Proceedings of the Twentythird Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pages 32--41, January 1996 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. N. Sterling. Warlock: A static data race analysis tool. In USENIX Winter Technical Conference, pages 97--106, 1993Google ScholarGoogle Scholar

Index Terms

  1. Efficient and precise datarace detection for multithreaded object-oriented programs

          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

          Full Access

          • Published in

            cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 37, Issue 5
            May 2002
            326 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/543552
            Issue’s Table of Contents
            • cover image ACM Conferences
              PLDI '02: Proceedings of the ACM SIGPLAN 2002 conference on Programming language design and implementation
              June 2002
              338 pages
              ISBN:1581134630
              DOI:10.1145/512529

            Copyright © 2002 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: 17 May 2002

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader