摘要 |
A transactional memory implementation is tested using an automatically generated test program and a locking memory model implementation which defines atomicity semantics. Schedules of the test program specify different interleavings of read operations and write operations of the test program threads. Executing the schedules under the locking memory model implementation provides legal final states of the shared variable(s). Executing the schedules under the transactional memory implementation produces candidate final states of the shared variable(s). If the candidate final states are also legal final states, then the transactional memory implementation passes the test.
|