[PRL] Reminder: TODAY (10/22): Stevie's torture chamber, WVH366 11:45

Aaron Turon turon at ccs.neu.edu
Wed Oct 21 09:50:40 EDT 2009


D'oh!  Subject line should have read **10/21** -- exactly the
confusion I was trying to avoid...

My apologies for the list spam.

On Wed, Oct 21, 2009 at 9:31 AM, Aaron Turon <turon at ccs.neu.edu> wrote:
> Stevie Strickland
> Wednesday, October 21, 2009
> 11:45-1:30 (Practice talk is for a 30-minute slot)
> WVH366
>
> Title: Contracts for First-Class Modules
>
> Joint work with Matthias Felleisen
>
> Abstract:
>
> Behavioral software contracts express properties concerning the flow
> of values across component (modules, classes, etc) interfaces. These
> properties are often beyond the reach of theorem provers and are
> therefore monitored at run-time. When the monitor discovers a contract
> violation, it raises an exception that simultaneously pinpoints the
> contract violator and explains the nature of the violation.
>
> Currently contract monitoring assumes static module interfaces.
> Specifically, the contract compiler partitions a contract into
> disjoint obligations for the static modules that communicate to an
> interface. At run-time, the information is used for catching and
> explaining contract violations. While static modules suffice for many
> situations, first-class modules---such as the units provided by PLT
> Scheme---support the dynamic and multiple linking that is often
> required in open software systems. The problem is, of course, that in
> such a world, it becomes impossible to tell from the source program
> alone which components have agreed to which contracts.
>
> In this paper, we develop the semantic framework of monitoring
> contracts for dynamic modules. We establish the internal consistency
> of the semantics, and we sketch an implementation based on our
> experience of equipping PLT Scheme with such contracts.
>



More information about the PRL mailing list