A Transactional Correctness Tool for Abstract Data Types
A Transactional Correctness Tool for Abstract Data Types
复制标题
抽象数据类型的事务正确性工具
DOI:
10.1145/3148964
复制
发表时间:
2017
影响因子:
1.6
通讯作者:
Dechev, Damian
中科院分区:
文献类型:
--
作者:
Peterson, Christina;Dechev, Damian
Transactional memory simplifies multiprocessor programming by providing the guarantee that a sequential block of code in the form of a transaction will exhibit atomicity and isolation. Transactional data structures offer the same guarantee to concurrent data structures by enabling the atomic execution of a composition of operations. The concurrency control of transactional memory systems preserves atomicity and isolation by detecting read/write conflicts among multiple concurrent transactions. State-of-the-art transactional data structures improve on this concurrency control protocol by providing explicit transaction-level synchronization for only non-commutative operations. Since read/write conflicts are handled by thread-level concurrency control, the correctness of transactional data structures cannot be evaluated according to the read/write histories. This presents a challenge for existing correctness verification techniques for transactional memory, because correctness is determined according to the transitions taken by the transactions in the presence of read/write conflicts.In this article, we present Transactional Correctness tool for Abstract Data Types (TxC-ADT), the first tool that can check the correctness of transactional data structures. TxC-ADT elevates the standard definitions of transactional correctness to be in terms of an abstract data type, an essential aspect for checking correctness of transactions that synchronize only for high-level semantic conflicts. To accommodate a diverse assortment of transactional correctness conditions, we present a technique for defining correctness as a happens-before relation. Defining a correctness condition in this manner enables an automated approach in which correctness is evaluated by generating and analyzing a transactional happens-before graph during model checking. A transactional happens-before graph is maintained on a per-thread basis, making our approach applicable to transactional correctness conditions that do not enforce a total order on a transactional execution. We demonstrate the practical applications of TxC-ADT by checking Lock Free Transactional Transformation and Transactional Data Structure Libraries for serializability, strict serializability, opacity, and causal consistency.
登录
查看更多内容
DOI:
--
发表时间:
2009
期刊:
International Conference on Computer Aided Verification
影响因子:
--
作者:
R. Guerraoui;T. Henzinger;Vasu Singh
通讯作者:
Vasu Singh
DOI:
--
发表时间:
1984
期刊:
TOCS
影响因子:
--
作者:
P. Schwarz;A. Spector
通讯作者:
A. Spector
DOI:
--
发表时间:
1993
期刊:
Proceedings of IEEE 9th International Conference on Data Engineering
影响因子:
--
作者:
Peter Muth;T. Rakow;G. Weikum;Peter Brössler;Christof Hasse
通讯作者:
Christof Hasse
DOI:
--
发表时间:
2011
期刊:
European Symposium on Programming
影响因子:
--
作者:
Annette Bieniusa;Peter Thiemann
通讯作者:
Peter Thiemann
DOI:
10.1145/1806596.1806613
发表时间:
2010
期刊:
Formal Methods in Computer Aided Design (FMCAD'07)
影响因子:
--
作者:
M. Emmi;R. Majumdar;R. Manevich
通讯作者:
R. Manevich