Advertisement

A Review of Race Detection Mechanisms

  • Aoun Raza
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3967)

Abstract

This survey examines research in the area of race detection tech-niques. Diverse flavors of on-the-fly, ahead-of-time and post-mortem techniques are covered. This survey tries to present advantages and limitations exhibited by different race detection techniques.

Keywords

Race Condition Data Race Global Clock Synchronization Operation Synchronization Primitive 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Flanagan, C., Freund, S.N.: Type-Based Race Detection for Java. In: Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation, Vancouver, British Columbia, Canada, pp. 219–232 (2000)Google Scholar
  2. 2.
    Engler, D., Ashcraft, K.: RacerX: Effective, Static Detection of Race Conditions and Deadlocks. In: Proceedings of the 19th ACM Symposium on Operating Systems Principles, NY USA (October 2003)Google Scholar
  3. 3.
    Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: A Dynamic Data Race Detector for Multi-Threaded Programs. ACM Transactions on Computer Systems (1997)Google Scholar
  4. 4.
    Choi, J.D., Lee, K., Loginov, A., O’Callahan, R., Sarkar, V., Sridharan, M.: 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 2002), June 2002, pp. 258–269 (2002)Google Scholar
  5. 5.
    Helmbold, D.P., McDowell, C.E.: A taxonomy of race detection algorithms. Technical Report UCSC-CRL-94-35 (1994)Google Scholar
  6. 6.
    Lamport, L.: Time clocks and ordering of events in a distributed system. Communications of the ACM (CACM) 21(7), 558–565 (1978)CrossRefMATHGoogle Scholar
  7. 7.
    Flanagan, C., Freund, S.: Detecting race conditions in large programs. In: Workshop on Program Analysis for Software Tools and Engineering (PASTE 2001), June 2001, pp. 90–96 (2001)Google Scholar
  8. 8.
    Flanagan, C., Joshi, R., Leino, K.R.M.: Annotation inference for modular checkers. Information Processing Letters 77(2-4), 97–108 (2001)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Netzer, R.H.B., Brennan, T.W., Damodaran-Kamal, S.K.: Debugging race conditions in message-passing programs. In: Proceeding of the SIGMETRICS Symposium on Parallel and Distributed Tools (January 1996)Google Scholar
  10. 10.
    Flanagan, C., Qadeer, S.: Types for atomicity. In: Proceedings of the 2003 ACM SIGPLAN international Workshop on Types in Languages Design and Implementation, January 2003, pp. 1–12 (2003)Google Scholar
  11. 11.
    Boyapati, C., Rinard, M.: A parameterised type system for race-free java programs. In: ACM Conference on Object-Oriented Programming Systems Languages and Applications, pp. 56–69 (2001)Google Scholar
  12. 12.
    Ronse, M., De Bosschere, K.: RecPlay: A Fully Integrated Practical Record/Replay System. ACM Transactions on Computer Systems 17(2), 132–133 (1999)Google Scholar
  13. 13.
    Choi, J.D., Srinivasan, H.: Deterministic Replay of Java Multithreaded Applications. In: Proceedings of SIGMETRICS Symposium on Parallel and Distributed Tools (SPDT 1998), August 1998, pp. 48–49 (1998)Google Scholar
  14. 14.
    Sterling, N.: Warlock: A static data race analysis tool. In: Proceedings of the 1993 USENIX Winter Technical Conference, pp. 97–106 (1993)Google Scholar
  15. 15.
    Detlefs, D., Leino, K.R.M., Nelson, G., Saxe, J.: Extended static checking, COMPAQ SRC Research Report 159 (December 1998)Google Scholar
  16. 16.
    Leino, K.R.M., Nelson, G., Saxe, J.B.: ESC/Java user’s manual. Technical note 2000-002, Compaq Systems Research Center (October 2000)Google Scholar
  17. 17.
    Burrows, M., Leino, K.R.M.: Finding stale-value errors in concurrent programs. Technical Report SRC-TN-2002-004, Compaq Systems Research Center (May 2002)Google Scholar
  18. 18.
    Choi, J.D., Min, S.L.: Race Frontier: reproducing data races in parallel programs debugging. In: Proceedings of the third ACM SIGPLAN Symposium on Principles & practice of parallel programming, April 1991, pp. 145–154 (1991)Google Scholar
  19. 19.
    Dinning, A., Schonberg, E.: An empirical comparison of monitoring algorithms for access anomaly detection. In: Proceedings of the second ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming, Seattle, Washington, United States, March 14-16, 1990, pp. 1–10 (1990)Google Scholar
  20. 20.
    von Praun, C., Gross, T.: Static conflict analysis for multi-threaded object-oriented programs. In: Proceedings of the ACM Conference on Programming Language Design and Implementation, pp. 115–128 (2003)Google Scholar
  21. 21.
    Dinning, A., Schonberg, E.: Detecting access anomalies in programs with critical sections. In: Proceedings of the 1991 ACM/ONR Workshop on Parallel and Distributed Debugging, December 1991, pp. 85–96 (1991)Google Scholar
  22. 22.
    von Praun, C., Gross, T.: Object-Race Detection. In: Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) (October 2001)Google Scholar
  23. 23.
    Engler, D., Chen, D., Hallem, S., Chou, A., Chelf, B.: Bugs as deviant behavior: A general approach to inferring errors in systems code. In: Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles (2001)Google Scholar
  24. 24.
    Emrath, P., Padua, D.: Automatic detection of non-determinacy in parallel programs. In: Proceedings of the ACM Workshop on Parallel and Distributed Debugging, Madison, Wisconsin, January 1989, pp. 89–99 (1989)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Aoun Raza
    • 1
  1. 1.Institute of Software TechnologyUniversity of StuttgartStuttgartGermany

Personalised recommendations