skip to main content
research-article
Free access

Goldilocks: a race-aware Java runtime

Published: 01 November 2010 Publication History
First page of PDF

References

[1]
Abadi, M, Flanagan, C., Freund, S.N. Types for safe locking: Static race detection for Java. ACM Trans. Program. Lang. Syst. (2006).
[2]
Boehm, H.-J., Adve, S.V. Foundations of the C++ concurrency memory model. In Proceedings of the 2008 ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI 2008)
[3]
Cheng, G.-I., Feng, M., Leiserson, C.E., Randall, K.H., Stark, A.F. Detecting data races in Cilk programs that use locks. In ACM Symposium on Parallel Algorithms and Architectures (SPAA 1998).
[4]
Christiaens, M. De Bosschere, K. TRaDe: Data race detection for Java. Proc. Intl. Conference on Computational Science. V. Alexandrov, J. Dongarra, B. Juliano, R. Renner, and C. Tan, eds. (ICCS 2001).
[5]
Elmas, T., Qadeer, S., Tasiran, S. Goldilocks: Efficiently computing the happens-before relation using locksets. Technical Report MSR-TR-2006--163, Microsoft Research (2006).
[6]
Elmas, T., Qadeer, S., Tasiran, S. Goldilocks: A race and transaction-aware java runtime. In Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2007).
[7]
Flanagan, C., Freund, S.N. FASTTRACK: Efficient and precise dynamic race detection. In Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2009).
[8]
Flanagan, C., Freund, S.N. The ROADRUNNER dynamic analysis framework for concurrent programs, In ACM Workshop on Program Analysis for Software Tools and Engineering (PASTE 2010).
[9]
Lucia, B., Ceze, L., Strauss, K., Qadeer, S., Boehm H.-J. Conflict exceptions: Simplifying concurrent language semantics with precise hardware exceptions for data-races. In Proceedings of the 37th International Symposium on Computer Architecture (ISCA 2010).
[10]
Manson, J., Pugh, W., Adve, S.V. The Java memory model. In Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2005).
[11]
Marino, D., Singh, A., Millstein, T., Musuvathi, M., Narayanasamy, S. DRFx: A simple and efficient memory model for concurrent programming languages. In Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2010).
[12]
Mattern, F. Virtual time and global states of distributed systems. In Proceedings of the International Workshop on Parallel and Distributed Algorithms (1988).
[13]
Naik, M., Aiken, A., Whaley, J. Effective static race detection for Java. In Proceedings 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2006).
[14]
Pozniansky, E., Schuster, A. Multirace: Efficient on-the-fly data race detection in multithreaded C++ programs: Research articles. Concurr. Comput. Pract. Exp. (2007).
[15]
Ronsse, M., Bosschere, K.D. RecPlay: A fully integrated practical record/replay system. ACM Trans. Comput. Syst. (1999).
[16]
Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T. Eraser: A dynamic data race detector for multithreaded programs. ACM Trans. Comput. Syst. (1997).
[17]
Schonberg, E. On-the-fly detection of access anomalies. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 1989).
[18]
Shavit, N., Touitou, D. Software transactional memory. In Symposium on Principles of Distributed Computing (1995).
[19]
Wilkinson, T. Kaffe: A JIT and interpreting virtual machine to run Java code. http://www.transvirtual.com (1998).
[20]
Yu, Y., Rodeheffer, T., Chen, W. RaceTrack: Efficient detection of data race conditions via adaptive tracking. In Proceedings of the 20th ACM Symposium on Operating Systems Principles (SOSP 2005).

Cited By

View all
  • (2023)An Experimental Evaluation of Tools for Grading Concurrent Programming ExercisesFormal Techniques for Distributed Objects, Components, and Systems10.1007/978-3-031-35355-0_1(3-20)Online publication date: 10-Jun-2023
  • (2019)Rapid Identification of Shared Memory in Multithreaded Embedded Systems with Static SchedulingWorkshop Proceedings of the 48th International Conference on Parallel Processing10.1145/3339186.3339195(1-8)Online publication date: 5-Aug-2019
  • (2017)Dynamic race detection for C++11ACM SIGPLAN Notices10.1145/3093333.300985752:1(443-457)Online publication date: 1-Jan-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 53, Issue 11
November 2010
112 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/1839676
Issue’s Table of Contents
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: 01 November 2010
Published in CACM Volume 53, Issue 11

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Popular
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)316
  • Downloads (Last 6 weeks)47
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)An Experimental Evaluation of Tools for Grading Concurrent Programming ExercisesFormal Techniques for Distributed Objects, Components, and Systems10.1007/978-3-031-35355-0_1(3-20)Online publication date: 10-Jun-2023
  • (2019)Rapid Identification of Shared Memory in Multithreaded Embedded Systems with Static SchedulingWorkshop Proceedings of the 48th International Conference on Parallel Processing10.1145/3339186.3339195(1-8)Online publication date: 5-Aug-2019
  • (2017)Dynamic race detection for C++11ACM SIGPLAN Notices10.1145/3093333.300985752:1(443-457)Online publication date: 1-Jan-2017
  • (2017)Dynamic race detection for C++11Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages10.1145/3009837.3009857(443-457)Online publication date: 1-Jan-2017
  • (2017)Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming LanguagesundefinedOnline publication date: 1-Jan-2017
  • (2016)A Scala library for testing student assignments on concurrent programmingProceedings of the 2016 7th ACM SIGPLAN Symposium on Scala10.1145/2998392.2998395(1-10)Online publication date: 30-Oct-2016
  • (2016)Abstraction and mining of traces to explain concurrency bugsFormal Methods in System Design10.1007/s10703-015-0240-549:1-2(1-32)Online publication date: 1-Oct-2016
  • (2014)Abstraction and Mining of Traces to Explain Concurrency BugsRuntime Verification10.1007/978-3-319-11164-3_14(162-177)Online publication date: 2014
  • (2012)Runtime verification of concurrency-specific correctness criteriaInternational Journal on Software Tools for Technology Transfer (STTT)10.5555/3115971.311616614:3(291-305)Online publication date: 1-Jun-2012
  • (2012)You don't know jack about shared variables or memory modelsCommunications of the ACM10.1145/2076450.207646555:2(48-54)Online publication date: 1-Feb-2012
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Digital Edition

View this article in digital edition.

Digital Edition

Magazine Site

View this article on the magazine site (external)

Magazine Site

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media