[Pl-seminar] PL seminar schedule

Aaron Turon turon at ccs.neu.edu
Tue Jan 18 09:17:17 EST 2011


NEU Programming Languages Seminar presents

Two POPL practice talks:

Christos Dimoulas
Northeastern University

Aaron Turon
Northeastern University

Wednesday, 1/19

11:45am - 1:30pm
Room 366 WVH (http://www.ccs.neu.edu/home/wand/directions.html)

Each talk will run for ~25 minutes, followed by ~45 minutes of
questions and feedback.

**

Correct Blame for Contracts: No More Scapegoating

Christos Dimoulas, Robert Bruce Findler, Cormac Flanagan, Matthias Felleisen

Behavioral software contracts supplement interface
information with logical assertions.  A rigorous enforcement of contracts
provides useful feedback to developers if it signals contract violations
as soon as they occur and if it assigns blame to violators with precise
explanations. Correct blame assignment gets programmers started with the
debugging process and can significantly decrease the time needed to
discover and fix bugs.

Sadly the literature on contracts lacks a framework for making statements
about the correctness of blame assignment and for validating such
statements. This paper fills the gap and uses the framework to
demonstrate how one of the proposed semantics for higher-order contracts
satisfies this criteria and another semantics occasionally assigns blame
to the wrong module.

Concretely, the paper applies the framework to the {\em lax\/}
enforcement of dependent higher-order contracts and the {\em picky\/}
one. A higher-order dependent contract specifies constraints for the
domain and range of higher-order functions and also relates arguments and
Abstract

results in auxiliary assertions. The picky semantics ensures that the use
of arguments in the auxiliary assertion satisfies the domain contracts and
the lax one does not. While the picky semantics discovers more contract
violations than the lax one, it occasionally blames the wrong module.
Hence the paper also introduces a third semantics, dubbed {\em indy\/},
which fixes the problems of the picky semantics without giving up its
advantages.

**

A separation logic for refining concurrent objects

Aaron Turon, Mitchell Wand

Fine-grained concurrent data structures are crucial for gaining
performance from multiprocessing, but their design is a subtle art.
Recent literature has made large strides in verifying these data
structures, using either atomicity refinement or separation logic with
rely-guarantee reasoning. In this paper we show how the ownership
discipline of separation logic can be used to enable atomicity
refinement, and we develop a new rely-guarantee method that is
localized to the definition of a data structure. The result is a
comprehensive and tidy account of concurrent data refinement that
clarifies and consolidates the existing approaches.



More information about the pl-seminar mailing list