log in  |  register  |  feedback?  |  help  |  web accessibility
Logo
Temporal Higher-Order Contracts
Friday, April 20, 2012, 3:00-4:00 pm Calendar
  • You are subscribed to this talk through .
  • You are watching this talk through .
  • You are subscribed to this talk. (unsubscribe, watch)
  • You are watching this talk. (unwatch, subscribe)
  • You are not subscribed to this talk. (watch, subscribe)
Abstract

Temporal Higher-Order Contracts, Tim Disney, Cormac Flanagan, and Jay McCarthy, In ICFP '11.

Behavioral contracts are embraced by software engineers because they document module interfaces, detect interface violations, and help identify faulty modules (packages, classes, functions, etc).  This paper extends prior higher-order contract systems to also express and enforce temporal properties, which are common in software systems with imperative state, but which are mostly left implicit or are at best informally speciï¬�ed. The paper presents both a programmatic contract API as well as a temporal contract language, and reports on experience and performance results from implementing these contracts in Racket.
 
Our development formalizes module behavior as a trace of events such as function calls and returns. Our contract system provides both non-interference (where contracts cannot influence correct executions) and also a notion of completeness (where contracts can enforce any decidable, preï¬�x-closed predicate on event traces).

 

This talk is organized by Jinseong Jeon