Verification of semantic commutativity conditions and inverse operations on linked data structures
Author(s)
Kim, Deokhwan; Rinard, Martin C.
DownloadRinard_Verification of semantic.pdf (240.7Kb)
OPEN_ACCESS_POLICY
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
We present a new technique for verifying commutativity conditions, which are logical formulas that characterize when operations commute. Because our technique reasons with the abstract state of verified linked data structure implementations, it can verify commuting operations that produce semantically equivalent (but not necessarily identical) data structure states in different execution orders. We have used this technique to verify sound and complete commutativity conditions for all pairs of operations on a collection of linked data structure implementations, including data structures that export a set interface (ListSet and HashSet) as well as data structures that export a map interface (AssociationList, HashTable, and ArrayList). This effort involved the specification and verification of 765 commutativity conditions.
Many speculative parallel systems need to undo the effects of speculatively executed operations. Inverse operations, which undo these effects, are often more efficient than alternate approaches (such as saving and restoring data structure state). We present a new technique for verifying such inverse operations. We have specified and verified, for all of our linked data structure implementations, an inverse operation for every operation that changes the data structure state.
Together, the commutativity conditions and inverse operations provide a key resource that language designers, developers of program analysis systems, and implementors of software systems can draw on to build languages, program analyses, and systems with strong correctness guarantees.
Date issued
2011-06Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer ScienceJournal
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation (PLDI '11)
Publisher
Association for Computing Machinery (ACM)
Citation
Kim, Deokhwan, and Martin C. Rinard. “Verification of Semantic Commutativity Conditions and Inverse Operations on Linked Data Structures.” ACM Press, 2011. 528.
Version: Author's final manuscript
ISBN
978-1-4503-0663-8