Skip to main content

Static Data Race Detection for Java Programs with Dynamic Class Loading

  • Conference paper
Internet and Distributed Computing Systems (IDCS 2014)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 8729))

Included in the following conference series:

Abstract

Multi-thread programs are likely to have bugs in mutual exclusion among threads. Data race is one of the problems that occur in wrong mutual exclusion. There are two kinds of methods of data race detection: dynamic analysis detection and static analysis detection. Dynamic analysis detection is to detect data race by analyzing the results or processes of program executions. Static analysis detection is to detect data race by analyzing source codes of programs. A method of static analysis detection of data race for Java programs has been proposed, but this method cannot handle dynamic class loading. This paper proposes a method of static analysis detection of data race for dynamic class loading and implements this method. This paper also evaluates the implementation by experiments using Java programs that have dynamic class loading. This experiment shows that the proposed method detects data races that cannot be found by the previous data race detection method. The result of experiment shows advantages of the proposed method.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agarwal, R., Sasturkar, A., Wang, L., Stoller, S.: Optimized run-time race detection and atomicity checking using partial discovered types. In: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), pp. 233–242 (2005)

    Google Scholar 

  2. Chord: A Versatile Program Analysis Plathome for Java, http://pag.gatech.edu/chord/ (October 01, 2011)

  3. Engler, D., Ashcraft, K.: RacerX: Effective, static detection of race conditions and deadlocks. In: Proceedings of the 19th ACM Symposium on Operating Systems Principles, pp. 237–252 (2003)

    Google Scholar 

  4. Grove, D., DeFouw, G., Dean, J., Chambers, C.: Call graph construction in object-oriented languages. In: Proceedings of the ACM Conference on Object-oriented Programming, Systems, Languages, and Applications, pp. 108–124 (1997)

    Google Scholar 

  5. Liang, S., Bracha, G.: Dynamic Class Loading in the Java Virtual Machine. In: Proceedings of the 13th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, pp. 36–44 (1998)

    Google Scholar 

  6. Milanova, A., Rountev, A., Ryder, B.: Parameterized object sensitivity for points-to analysis for Java. ACM Transactions on Software Engineering Methodology 14(1), 1–41 (2005)

    Article  Google Scholar 

  7. Naik, M., Aiken, A., Whaley, J.: Effective Static Race Detection for Java. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2006), pp. 20–29 (2006)

    Google Scholar 

  8. Pratikakis, P., Foster, J., Hicks, M.: LOCKSMITH: Context-sensitive correlation analysis for race detection. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2006), pp. 320–331 (2006)

    Google Scholar 

  9. Praun, C., Gross, T.: Static conflict analysis for multi-threaded object-oriented programs. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2003), pp. 115–128 (2003)

    Google Scholar 

  10. Praun, C., Gross, T.: Object race detection. In: Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications, pp. 70–82 (2003)

    Google Scholar 

  11. Ronsse, M., Bosschere, K.: RecPlay: A fully integrated practical record/replay system. ACM Transactions on Computer Systems 17(2), 133–152 (1999)

    Article  Google Scholar 

  12. Schonberg, E.: On-the-fly detection of access anomalies. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 1989), pp. 285–297 (1989)

    Google Scholar 

  13. Vallee-Rai, R., Co, P., Gargnon, E., Hendren, L., Lam, P., Sundaresan, Y.: Soot - a Java optimization framework. In: Proceedings of the 1999 Conference of the Centre for Advanced Studies on Collaboratives Research, pp. 125–135 (1999)

    Google Scholar 

  14. Sawin, J., Rountev, A.: Improved Static Resolution of Dynamic Class Loading in Java. Automated Software Engineering 16(2), 357–381 (2009)

    Article  Google Scholar 

  15. Christensen, A.S., Moller, A., Schwartzbach, M.: Precise Analysis of String Expressions. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 1–18. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  16. Chugh, R., Voung, W.J., Jhala, R., Lerner, S.: Dataflow analysis for concurrent programs using datarace detection. In: Proceedings of the 2008 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 316–326 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Yoshiura, N., Wei, W. (2014). Static Data Race Detection for Java Programs with Dynamic Class Loading. In: Fortino, G., Di Fatta, G., Li, W., Ochoa, S., Cuzzocrea, A., Pathan, M. (eds) Internet and Distributed Computing Systems. IDCS 2014. Lecture Notes in Computer Science, vol 8729. Springer, Cham. https://doi.org/10.1007/978-3-319-11692-1_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-11692-1_14

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-11691-4

  • Online ISBN: 978-3-319-11692-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics