Abstract
Compositional reasoning must be better understood if non-trivial concurrent programs are to be verified. Chandy and Sanders [2000] have proposed a new approach to reasoning about composition, which Charpentier and Chandy [1999] have illustrated by developing a large example in the UNITY formalism. The present paper describes extensive experiments on mechanizing the compositionality theory and the example, using the proof tool Isabelle. Broader issues are discussed, in particular, the formalization of program states. The usual representation based upon maps from variables to values is contrasted with the alternatives, such as a signature of typed variables. Properties need to be transferred from one program component's signature to the common signature of the system. Safety properties can be so transferred, but progress properties cannot be. Using polymorphism, this problem can be circumvented by making signatures sufficiently flexible. Finally the proof of the example itself is outlined. Categories and Subject Descriptors: F.3.1 [Logics and Meanings of Programs]: Specifying and Verifying and Reasoning about Programs - Logics of programs; Mechanical verification General Terms: Theory, Verification.
Author supplied keywords
Cite
CITATION STYLE
Paulson, L. C. (2001). Mechanizing a theory of program composition for UNITY. ACM Transactions on Programming Languages and Systems, 23(5), 626–656. https://doi.org/10.1145/504709.504711
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.