Since Findler and Felleisen [2002] introduced higher-order contracts, many variants have been proposed. Broadly, these fall into two groups: some follow Findler and Felleisen in u...
Benjamin C. Pierce, Michael Greenberg, Stephanie W...
The method of logical relations is a classic technique for proving the equivalence of higher-order programs that implement the same observable behavior but employ different intern...
Derek Dreyer, Georg Neis, Andreas Rossberg, Lars B...
In this paper we propose a communication-centric approach to specifying and checking how multithreaded programs use shared memory to perform inter-thread communication. Our approa...
Benjamin P. Wood, Adrian Sampson, Luis Ceze, Dan G...
It is widely believed that program analysis can be more closely targeted to the needs of programmers if the program is accompanied by further redundant documentation. This may inc...
While a typical software component has a clearly specified (static) interface in terms of the methods and the input/output types they support, information about the correct sequen...