Abstract :
[en] This paper addresses the problem of verifying programs for the relaxed memory
models implemented in modern processors. Specifically, it considers the TSO
(Total Store Order) relaxation, which corresponds to the use of store buffers.
The proposed approach proceeds by using finite automata to symbolically
represent the possible contents of the store buffers. Store, load and commit
operations then correspond to operations on these finite automata.
The advantage of this approach is that it operates on (potentially infinite)
sets of buffer contents, rather than on individual buffer configurations. This
provides a way to tame the explosion of the number of possible buffer
configurations, while preserving the full generality of the analysis. It is thus
possible to check even designs that exploit the relaxed memory model in unusual
ways. An experimental implementation has been used to validate the feasibility
of the approach.
Scopus citations®
without self-citations
28