Static Object Race Detection

  • Ana Milanova
  • Wei Huang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7078)

Abstract

We present a novel static object race detection analysis. Our analysis is data-centric in the sense that dominance and ownership, as well as object-based reasoning about control, play a crucial role. Our empirical results show that the analysis scales well and has relatively low false-positive rate. In some cases, our analysis outperforms the leading static race detector Chord.

Keywords

Concrete Object Object Graph Call Graph Data Race Programme Language Design 
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.
    Boyapati, C., Lee, R., Rinard, M.: Ownership types for safe programming: preventing data races and deadlocks. In: Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 211–230 (2002)Google Scholar
  2. 2.
    Choi, J., Lee, K., Loginov, A., O’Callahan, R., Sarkar, V., Sridharan, M.: Efficient and precise datarace detection for multithreaded object-oriented programs. In: Conference on Programming Language Design and Implementation, pp. 252–269 (2002)Google Scholar
  3. 3.
    Clarke, D., Potter, J., Noble, J.: Ownership types for flexible alias protection. In: Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 48–64 (1998)Google Scholar
  4. 4.
    Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixed points. In: Symposium on Principles of Programming Languages, pp. 238–252 (1977)Google Scholar
  5. 5.
    Lhoták, O., Hendren, L.: Scaling Java Points-to Analysis Using SPARK. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 153–169. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  6. 6.
    Milanova, A.: Light context-sensitive points-to analysis for java. In: Workshop on Program Analysis for Software Tools and Engineering, pp. 25–30 (2007)Google Scholar
  7. 7.
    Milanova, A., Vitek, J.: Static Dominance Inference. In: Bishop, J., Vallecillo, A. (eds.) TOOLS 2011. LNCS, vol. 6705, pp. 211–227. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Naik, M., Aiken, A.: Conditional must not aliasing for static race detection. In: Symposium on Principles of Programming Languages, pp. 327–338 (2007)Google Scholar
  9. 9.
    Naik, M., Aiken, A., Whaley, J.: Effective static race detection for Java. In: Conference on Programming Language Design and Implementation, pp. 308–319 (2006)Google Scholar
  10. 10.
    Pratikakis, P., Foster, J., Hicks, M.: LOCKSMITH: context-sensitive correlation analysis for race detection. In: Conference on Programming Language Design and Implementation, pp. 320–331 (2006)Google Scholar
  11. 11.
    Rountev, A., Milanova, A., Ryder, B.G.: Points-to analysis for Java using annotated constraints. In: Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 43–55 (October 2001)Google Scholar
  12. 12.
    Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: A dynamic data race detector for multithreaded programs. In: Symposium on Operating Systems Principles, pp. 27–37 (1997)Google Scholar
  13. 13.
    Vallée-Rai, R., Gagnon, E.M., Hendren, L., Lam, P., Pominville, P., Sundaresan, V.: Optimizing Java Bytecode Using the Soot Framework: Is It Feasible? In: Watt, D.A. (ed.) CC 2000. LNCS, vol. 1781, pp. 18–34. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  14. 14.
    Vaziri, M., Tip, F., Dolby, J., Hammer, C., Vitek, J.: A Type System for Data-Centric Synchronization. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 304–328. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  15. 15.
    von Praun, C., Gross, T.: Object race detection. In: Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 70–82 (2001)Google Scholar
  16. 16.
    von Praun, C., Gross, T.: Static conflict analysis for multithreaded object-oriented programs. In: Conference on Programming Language Design and Implementation, pp. 115–128 (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Ana Milanova
    • 1
  • Wei Huang
    • 1
  1. 1.Rensselaer Polytechnic InstituteUSA

Personalised recommendations