On Contract Satisfaction in a Higher-Order World

Behavioral software contracts have become a popular mechanism for specifying and ensuring logical claims about a program's flow of values. While contracts for first-order functions come with a natural interpretation and are well understood, the various incarnations of higher-order contracts adopt, implicitly or explicitly, different views concerning the meaning of contract satisfaction. In this paper, the authors define various notions of contract satisfaction in terms of observational equivalence and compare them with each other and notions in the literature. Specifically, they introduce a small model language with higher-order contracts and use it to formalize different notions of contract satisfaction. Each of them demands that the contract parties satisfy certain observational equivalences

Provided by: Association for Computing Machinery Topic: Software Date Added: Jul 2011 Format: PDF

Find By Topic