Software components are increasingly assembled from other components. Each component may further depend on others, and each may have multiple active versions. The total number of ...
Il-Chul Yoon, Alan Sussman, Atif M. Memon, Adam A....
Aspect-Oriented Programming (AOP) started fifteen years ago with the remark that modularization of so-called crosscutting functionalities is a fundamental problem for the enginee...
The ideal software contract fully specifies the behavior of an operation. Often, in particular in the context of scripting languages, a full specification may be cumbersome to s...
Phillip Heidegger, Annette Bieniusa, Peter Thieman...
We show how to combine a general purpose type system for an existing language with support for programming with binders and contexts by refining the type system of ML with a rest...
Interpolation is an important technique in verification and static analysis of programs. In particular, interpolants extracted from proofs of various properties are used in invar...