Publication: T-rex: a dynamic race detection tool for C/C++ transactional memory applications
dc.contributor.coauthor | Kestor, Gökçen | |
dc.contributor.coauthor | Ünsal, Osman S. | |
dc.contributor.coauthor | Cristal, Adrian | |
dc.contributor.department | Department of Computer Engineering | |
dc.contributor.kuauthor | Taşıran, Serdar | |
dc.contributor.schoolcollegeinstitute | College of Engineering | |
dc.date.accessioned | 2024-11-09T23:01:23Z | |
dc.date.issued | 2014 | |
dc.description.abstract | Transactional 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.indexedby | Scopus | |
dc.description.openaccess | YES | |
dc.description.publisherscope | International | |
dc.description.sponsoredbyTubitakEu | N/A | |
dc.description.sponsorship | CISCO | |
dc.description.sponsorship | ||
dc.description.sponsorship | ||
dc.description.sponsorship | Microsoft Research | |
dc.description.sponsorship | Oracle Labs | |
dc.description.sponsorship | vmware | |
dc.identifier.doi | 10.1145/2592798.2592809 | |
dc.identifier.scopus | 2-s2.0-84900402589 | |
dc.identifier.uri | https://doi.org/10.1145/2592798.2592809 | |
dc.identifier.uri | https://hdl.handle.net/20.500.14288/8228 | |
dc.keywords | Clouds | |
dc.keywords | Inspection equipment | |
dc.keywords | Semantics | |
dc.keywords | Storage allocation (computer) | |
dc.keywords | Design and implements | |
dc.keywords | Development tools | |
dc.keywords | Maturity levels | |
dc.keywords | Programming idioms | |
dc.keywords | Programming models | |
dc.keywords | Runtime overheads | |
dc.keywords | Transactional data | |
dc.keywords | Transactional memory | |
dc.keywords | Program debugging | |
dc.language.iso | eng | |
dc.publisher | Association for Computing Machinery | |
dc.relation.ispartof | Proceedings of the 9th European Conference on Computer Systems, EuroSys 2014 | |
dc.subject | Computer engineering | |
dc.title | T-rex: a dynamic race detection tool for C/C++ transactional memory applications | |
dc.type | Conference Proceeding | |
dspace.entity.type | Publication | |
local.contributor.kuauthor | Taşıran, Serdar | |
local.publication.orgunit1 | College of Engineering | |
local.publication.orgunit2 | Department of Computer Engineering | |
relation.isOrgUnitOfPublication | 89352e43-bf09-4ef4-82f6-6f9d0174ebae | |
relation.isOrgUnitOfPublication.latestForDiscovery | 89352e43-bf09-4ef4-82f6-6f9d0174ebae | |
relation.isParentOrgUnitOfPublication | 8e756b23-2d4a-4ce8-b1b3-62c794a8c164 | |
relation.isParentOrgUnitOfPublication.latestForDiscovery | 8e756b23-2d4a-4ce8-b1b3-62c794a8c164 |