A Graph Transformation System formalism for correctness of Transactional Memory algorithms
Resumo
With the constant research and development of Transactional Memory (TM) systems, various algorithms have been proposed, and their correctness is always an important aspect to take into account. When analyzing TM algorithms, one of the most commonly used correctness criterion is opacity, which infers that the algorithm only generates executions that observe consistent states of the shared memory. In this work we present a formal definition to demonstrate that a given TM algorithm only generates opaque histories using a Graph Transformation System (GTS). We achieve that by introducing a methodology of translating an algorithm into production rules that manipulate the state of a graph. With a set initial state of transactions, the result of this method consists of a state space that includes every possible order of execution of transactional operations that are automatically checked for opacity, therefore all possible histories the algorithm can generate are checked for the safety property. As a case study we demonstrate our approach using the algorithm CaPR+.
Publicado
30/09/2021
Como Citar
CARDOSO, Diogo; FOSS, Luciana; DU BOIS, Andre.
A Graph Transformation System formalism for correctness of Transactional Memory algorithms. In: SIMPÓSIO BRASILEIRO DE LINGUAGENS DE PROGRAMAÇÃO (SBLP), 25. , 2021, Joinville.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2021
.
p. 49–57.