Publication:
Goldilocks: a race-aware Java runtime

dc.contributor.coauthorQadeer, Shaz
dc.contributor.departmentN/A
dc.contributor.departmentDepartment of Computer Engineering
dc.contributor.kuauthorElmas, Tayfun
dc.contributor.kuauthorTaşıran, Serdar
dc.contributor.kuprofilePhD Student
dc.contributor.kuprofileFaculty Member
dc.contributor.otherDepartment of Computer Engineering
dc.contributor.schoolcollegeinstituteGraduate School of Sciences and Engineering
dc.contributor.schoolcollegeinstituteCollege of Engineering
dc.contributor.yokidN/A
dc.contributor.yokidN/A
dc.date.accessioned2024-11-09T22:59:44Z
dc.date.issued2010
dc.description.abstractWe present GOLDILOCKS, a Java runtime that monitors program executions and throws a DataRaceException when a data race is about to occur This prevents racy accesses from taking place, and allows race conditions to be handled before they cause errors that may be difficult to diagnose later The DataRaceException is a valuable debugging tool, and, if supported with reasonable computational overhead, can be an important safety feature for deployed programs Experiments by us and others on race aware Java runtimes indicate that the DataRaceException may be a viable mechanism to enforce the safety of executions of multithreaded Java programs An important benefit of DataRaceException is that executions in our runtime are guaranteed to be race free and thus sequentially consistent as per the Java Memory Model This strong guarantee provides an easy to-use, clean semantics to programmers, and helps to rule out many concurrency-related possibilities as the cause of errors To support the DataRaceException, our runtime incorporates the novel Goldilocks algorithm for precise dynamic race detection The Goldilocks algorithm is general, intuitive, and can handle different synchronization patterns uniformly.
dc.description.indexedbyWoS
dc.description.indexedbyScopus
dc.description.issue11
dc.description.openaccessNO
dc.description.publisherscopeInternational
dc.description.sponsoredbyTubitakEuN/A
dc.description.sponsorshipSoftware Reliability Research Group at Microsoft Research, Redmond, WA
dc.description.sponsorshipScientific and Technical Research Council of Turkey (TUBITAK) [104E058]
dc.description.sponsorshipTurkish Academy of Sciences (TUBA) We would like to thank Hans Boehm, Cormac Flanagan, Steve Freund, and Madan Musuvathi for their critique of this paper This research was supported by the Software Reliability Research Group at Microsoft Research, Redmond, WA, by the Scientific and Technical Research Council of Turkey (TUBITAK) under grant 104E058, and by the Turkish Academy of Sciences (TUBA)
dc.description.volume53
dc.identifier.doi10.1145/1839676.1839698
dc.identifier.eissn1557-7317
dc.identifier.issn0001-0782
dc.identifier.quartileQ1
dc.identifier.scopus2-s2.0-78149249092
dc.identifier.urihttp://dx.doi.org/10.1145/1839676.1839698
dc.identifier.urihttps://hdl.handle.net/20.500.14288/7946
dc.identifier.wos284522200027
dc.keywordsData-race detection
dc.keywordsJava runtime
dc.keywordsRuntime monitoring
dc.keywordsSoftware transactions
dc.languageEnglish
dc.publisherAssociation for Computing Machinery (ACM)
dc.sourceCommunications of the ACM
dc.subjectComputer science, hardware and architecture
dc.subjectComputer science, software engineering
dc.subjectComputer science, theory and methods
dc.titleGoldilocks: a race-aware Java runtime
dc.typeJournal Article
dspace.entity.typePublication
local.contributor.authoridN/A
local.contributor.authoridN/A
local.contributor.kuauthorElmas, Tayfun
local.contributor.kuauthorTaşıran, Serdar
relation.isOrgUnitOfPublication89352e43-bf09-4ef4-82f6-6f9d0174ebae
relation.isOrgUnitOfPublication.latestForDiscovery89352e43-bf09-4ef4-82f6-6f9d0174ebae

Files