kirancodes.me
To Proof Maintenance & Beyond!

Contracts for first-class modules

T. Stephen Strickland, 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.

Related papers