Davida: A Decentralization Approach to Localizing Transaction Sequences for Debugging Transactional Atomicity Violations

Xiaoxue Ma, Imran Ashraf, W. K. Chan

Research output: Contribution to journalArticlepeer-review

2 Citations (Scopus)

Abstract

Atomicity is a desirable property for multithreaded programs. In such programs, a transaction is an execution of an atomic code region that may contain memory accesses on an arbitrary number of shared variables. When transactions are not conflicting with one another in a trace, they greatly simplify the reasoning of the program correctness. If a transaction incurs an atomicity violation in a trace, developers have to debug the code, but this is challenging. To achieve practical runtime performances, existing dynamic techniques for detecting such atomicity violations face a challenge: They are designed for either detecting all such atomicity violations without the capability of localizing the corresponding cross-thread transaction sequences or deliberately missing some atomicity violations in the trade of localizing some of them to support their atomicity violation detection. In this article, we propose Davida, a novel technique to address this problem. Davida efficiently tracks selective transactions and cross-thread dependency sequences over transactions reachable from the currently active transactions of all the threads in a decentralized manner. We prove that Davida precisely accomplishes every atomicity violation in a trace with an actual sequence of transactions triggering the violation. The experimental results on 15 subjects showed that Davida outperformed Velodrome, the previous graph-based state-of-the-art technique, in both performance and completeness.

Original languageEnglish
Pages (from-to)808-826
Number of pages19
JournalIEEE Transactions on Reliability
Volume72
Issue number2
DOIs
Publication statusPublished - 1 Jun 2023
Externally publishedYes

Keywords

  • Atomicity violation detection
  • decentralized app-roach
  • dynamic analysis
  • localization of transaction sequences

Fingerprint

Dive into the research topics of 'Davida: A Decentralization Approach to Localizing Transaction Sequences for Debugging Transactional Atomicity Violations'. Together they form a unique fingerprint.

Cite this