Object invariants define the consistency of objects. They have subtle semantics, mainly because of call-backs, multi-object invariants, and subclassing. Several verification techniques for object invariants have been proposed. It is difficult to compare these techniques, and to ascertain their soundness, because of their differences in restrictions on programs and invariants, in the use of advanced type systems (e.g., ownership types), in the meaning of invariants, and in proof obligations. We develop a unified framework for such techniques. We distil seven parameters that characterise a verification technique, and identify sufficient conditions on these parameters which guarantee soundness. We instantiate our framework with three verification techniques from the literature, and use it to assess soundness and compare expressiveness.
@InProceedings{drossopoulou_et_al:DagSemProc.08061.3, author = {Drossopoulou, Sophia and Francalanza, Adrian and M\"{u}ller, P. and Summers, Alexander J.}, title = {{A Unified Framework for Verification Techniques for Object Invariants}}, booktitle = {Types, Logics and Semantics for State}, pages = {1--25}, series = {Dagstuhl Seminar Proceedings (DagSemProc)}, ISSN = {1862-4405}, year = {2008}, volume = {8061}, editor = {Amal Ahmed and Nick Benton and Martin Hofmann and Greg Morrisett}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/DagSemProc.08061.3}, URN = {urn:nbn:de:0030-drops-14278}, doi = {10.4230/DagSemProc.08061.3}, annote = {Keywords: Object invariants, visible states semantics, verification, sound} }
Feedback for Dagstuhl Publishing