Publication:
T-rex: a dynamic race detection tool for C/C++ transactional memory applications

dc.contributor.coauthorKestor, Gökçen
dc.contributor.coauthorÜnsal, Osman S.
dc.contributor.coauthorCristal, Adrian
dc.contributor.departmentDepartment of Computer Engineering
dc.contributor.kuauthorTaşıran, Serdar
dc.contributor.schoolcollegeinstituteCollege of Engineering
dc.date.accessioned2024-11-09T23:01:23Z
dc.date.issued2014
dc.description.abstractTransactional memory (TM) has reached a maturity level and programmers have started using this programming model to parallelize their applications. However, although much effort has been put into the development of TM systems, there is still lack of debugging and development tools for TM applications, such as race detection tools. Previous definitions of transactional data race often impose constraints on the TM implementation or the programming language and cannot be widely applied to current STM designs. We propose a new definition of transactional data race that follows the programmer's intuition of racy accesses, is independent of thread interleaving, can accommodate popular STM systems, and allows common programming idioms. Based on this definition, we design and implement TRex, a precise dynamic race detection tool for C/C++ TM programs. Using T-Rex we discover transactional data races in STAMP applications that, to the best of our knowledge, have not been previously reported. Our experiments also show that T-Rex runtime overhead is comparable to stateof- The-art lock-based race detection tools, despite the extra work required to handle transactional memory semantics.
dc.description.indexedbyScopus
dc.description.openaccessYES
dc.description.publisherscopeInternational
dc.description.sponsoredbyTubitakEuN/A
dc.description.sponsorshipCISCO
dc.description.sponsorshipFacebook
dc.description.sponsorshipGoogle
dc.description.sponsorshipMicrosoft Research
dc.description.sponsorshipOracle Labs
dc.description.sponsorshipvmware
dc.identifier.doi10.1145/2592798.2592809
dc.identifier.scopus2-s2.0-84900402589
dc.identifier.urihttps://doi.org/10.1145/2592798.2592809
dc.identifier.urihttps://hdl.handle.net/20.500.14288/8228
dc.keywordsClouds
dc.keywordsInspection equipment
dc.keywordsSemantics
dc.keywordsStorage allocation (computer)
dc.keywordsDesign and implements
dc.keywordsDevelopment tools
dc.keywordsMaturity levels
dc.keywordsProgramming idioms
dc.keywordsProgramming models
dc.keywordsRuntime overheads
dc.keywordsTransactional data
dc.keywordsTransactional memory
dc.keywordsProgram debugging
dc.language.isoeng
dc.publisherAssociation for Computing Machinery
dc.relation.ispartofProceedings of the 9th European Conference on Computer Systems, EuroSys 2014
dc.subjectComputer engineering
dc.titleT-rex: a dynamic race detection tool for C/C++ transactional memory applications
dc.typeConference Proceeding
dspace.entity.typePublication
local.contributor.kuauthorTaşıran, Serdar
local.publication.orgunit1College of Engineering
local.publication.orgunit2Department of Computer Engineering
relation.isOrgUnitOfPublication89352e43-bf09-4ef4-82f6-6f9d0174ebae
relation.isOrgUnitOfPublication.latestForDiscovery89352e43-bf09-4ef4-82f6-6f9d0174ebae
relation.isParentOrgUnitOfPublication8e756b23-2d4a-4ce8-b1b3-62c794a8c164
relation.isParentOrgUnitOfPublication.latestForDiscovery8e756b23-2d4a-4ce8-b1b3-62c794a8c164

Files