Transactional objects combine the performance of classical concurrent with high-level programmability transactional memory. However, verifying correctness is tricky, requiring reasoning simultaneously about objects, which guarantee atomicity individual methods—the property known as linearizability—and software-transactional-memory libraries, user-defined sequences method calls—or serializabilit...