Computational contracts

نویسندگان

  • Christophe Scholliers
  • Éric Tanter
  • Wolfgang De Meuter
چکیده

Pre/post contracts for higher-order functions, as proposed by Findler and Felleisen and provided in Racket, allow run-time verification and blame assignment of higher-order functions. However these contracts treat contracted functions as black boxes, allowing verification of only input and output. It turns out that many interesting concerns about the behaviour of a function require going beyond that black-box approach, in order to control the actual computation that follows from a function. Examples are prohibiting or verifying that certain functions are called, checking access permissions, time or memory constraints, interaction protocols, etc. To address this need for grey-box verification, while preserving support for higher-order programming and blame assignment, we introduce the notion of computational contracts. A computational contract is a contract over the execution of a contracted entity. We show various applications of computational contracts, and explain how to assign blame in case of a violation. Computational contracts have been integrated with the existing contract system of Racket. Computational contracts is the first contract model with blame assignment in a higher-order setting that provides a systematic way to perform grey box verification.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

BitML: a calculus for Bitcoin smart contracts

We propose a domain-specific language for smart contracts, which allows participants to transfer cryptocurrency according to agreed contract terms. We define a symbolic and a computational model for reasoning about their security. In the symbolic model, participants act according to the semantics of the domain-specific language. Instead, in the computational model they exchange bitstrings, and ...

متن کامل

Using an Annealing Mediator to Solve the Prisoners' Dilemma in the Negotiation of Complex Contracts

Research on computational models of negotiation has focused almost exclusively on defining simple contracts consisting of one or a few independent issues, implying tractable contract spaces as well as single-optima utility functions for the agents involved. Many real-world contracts, by contrast, are much more complex, consisting of multiple inter-dependent issues, resulting in intractably larg...

متن کامل

Unifying Theories of Reactive Design Contracts

Design-by-contract is an important technique for model-based design in which a composite system is specified by a collection of contracts that specify the behavioural assumptions and guarantees of each component. In this paper, we describe a unifying theory for reactive design contracts that provides the basis for modelling and verification of reactive systems. We provide a language for express...

متن کامل

A Computational Approach to the Real Option Management of Network Contracts for Natural Gas Pipeline Transport Capacity

Commodity merchants use real option models to manage their operations. A central element of such a model is its underlying operating policy. We focus on network contracts for the transport capacity of natural gas pipelines, specific energy conversion assets. Practitioners commonly manage these contracts as portfolios of spread options. Although computationally fast, we show that this approach i...

متن کامل

Protocols for Negotiating Complex Contracts

Work to date on negotiation protocols has focused on defining contracts consisting of one or a few independent issues. Many real-world contracts, by contrast, are much more complex, consisting of multiple inter-dependent issues and intractably large contract spaces. This paper describes a simulated annealing based approach appropriate for negotiating such complex contracts that achieves near-op...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Sci. Comput. Program.

دوره 98  شماره 

صفحات  -

تاریخ انتشار 2015