Eiffel: the language
Reasoning about programs in continuation-passing style
Lisp and Symbolic Computation - Special issue on continuations—part I
A Practical Approach to Programming With Assertions
IEEE Transactions on Software Engineering
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Behavioral contracts and behavioral subtyping
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Object-Oriented Software Construction
Object-Oriented Software Construction
Algebraic Theory of Processes
Contracts for higher-order functions
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Computer
Making Components Contract Aware
Computer
Sound and complete models of contracts
Journal of Functional Programming
A theory of contracts for web services
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lazy Contract Checking for Immutable Data Structures
Implementation and Application of Functional Languages
Static contract checking for Haskell
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reasoning about imperative and higher-order programs
Reasoning about imperative and higher-order programs
Contracts for Mobile Processes
CONCUR 2009 Proceedings of the 20th International Conference on Concurrency Theory
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Towards a unifying theory for choreography conformance and contract compliance
SC'07 Proceedings of the 6th international conference on Software composition
Semantics Engineering with PLT Redex
Semantics Engineering with PLT Redex
Typed contracts for functional programming
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Contracts as pairs of projections
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
A formal account of contracts for web services
WS-FM'06 Proceedings of the Third international conference on Web Services and Formal Methods
Step-Indexed syntactic logical relations for recursive and quantified types
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Correct blame for contracts: no more scapegoating
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Complete monitors for behavioral contracts
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Higher-order symbolic execution via contracts
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Constraining delimited control with contracts
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Contracts for First-Class Classes
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
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.