On contract satisfaction in a higher-order world

Christos Dimoulas*, Matthias Felleisen

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

29 Scopus citations

Abstract

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 article, we define various notions of contract satisfaction in terms of observational equivalence and compare them with each other and notions in the literature. Specifically, we 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.

Original languageEnglish (US)
Article number16
JournalACM Transactions on Programming Languages and Systems
Volume33
Issue number5
DOIs
StatePublished - Nov 1 2011

Keywords

  • Contract satisfaction
  • Higher-order contracts

ASJC Scopus subject areas

  • Software

Cite this