Future contracts

Christos Dimoulas*, Riccardo Pucella, Matthias Felleisen

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

8 Scopus citations

Abstract

Many recent research projects focus on language support for behavioral software contracts, that is, assertions that govern the boundaries between software building blocks such as procedures, classes, or modules. Contracts primarily help locate bugs in programs, but they also tend to affect the performance of the program, especially as they become complex. In this paper, we introduce future contracts and parallel contract checking: software contracts annotated with future are checked in parallel with the main program, exploiting the now-common multiple-core architecture. We present both a model and a prototype implementation of our language design. Our model comprises a higher-order imperative language and we use it to prove the correctness of our design. Our implementation is robust enough to measure the performance of reasonably large benchmarks, demonstrating that the use of future contracts can lead to significant performance improvements.

Original languageEnglish (US)
Title of host publicationPPDP'09 - Proceedings of the 11th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming
Pages195-206
Number of pages12
DOIs
StatePublished - Nov 30 2009
Event11th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, PPDP'09 - Coimbra, Portugal
Duration: Sep 7 2009Sep 9 2009

Publication series

NamePPDP'09 - Proceedings of the 11th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming

Other

Other11th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, PPDP'09
CountryPortugal
CityCoimbra
Period9/7/099/9/09

Keywords

  • Behavioral specifications
  • Contracts
  • Higher-order functions
  • Software reliability

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Software

Cite this