DOI:10.2298/CSIS110110007L
Detecting Concurrency Anomalies in Transactional Memory Programs
- CITI / Departamento de Informática, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa
2829-516 Caparica, Portugal
{joao.lourenco, rjfd}@di.fct.unl.pt, {dm.sousa, bct18897}@fct.unl.pt
Abstract
Concurrent programs may suffer from concurrency anomalies that may lead to erroneous and unpredictable program behaviors. To ensure program correctness, these anomalies must be diagnosed and corrected. This paper addresses the detection of both low- and high-level anomalies in the Transactional Memory setting. We propose a static analysis procedure and a framework to address Transactional Memory anomalies. We start by dealing with the classic case of low-level dataraces, identifying concurrent accesses to shared memory cells that are not protected within the scope of a memory transaction. Then, we address the case of high-level dataraces, bringing the programmer’s attention to pairs of memory transactions that were misspecified and should have been combined into a single transaction. Our framework was applied to a set of programs, collected form different sources, containing well known low- and high-level anomalies. The framework demonstrated to be accurate, confirming the effectiveness of using static analysis techniques to precisely identify concurrency anomalies in Transactional Memory programs.
Key words
Testing, Verification, Concurrency, Software Transactional Memory, Static Analysis.
Digital Object Identifier (DOI)
https://doi.org/10.2298/CSIS110110007L
Publication information
Volume 8, Issue 2 (May 2011)
Advances in Formal Languages, Modeling and Applications
Year of Publication: 2011
ISSN: 2406-1018 (Online)
Publisher: ComSIS Consortium
Full text
Available in PDF
Portable Document Format
How to cite
Lourenço, J., Dias, R.: Detecting Concurrency Anomalies in Transactional Memory Programs. Computer Science and Information Systems, Vol. 8, No. 2, 533-548. (2011), https://doi.org/10.2298/CSIS110110007L