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...
The definition of a data structure may permit many different concrete representations of the same logical content. A (client) program that accepts such a data structure as input i...
Aditya Kanade, Rajeev Alur, Sriram K. Rajamani, Ga...
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...
Building semantic models that account for various kinds of indirect reference has traditionally been a difficult problem. Indirect reference can appear in many guises, such as hea...
OptimixJ is a graph rewrite tool that can be embedded easily into the standard software process. Applications and models can be developed in Java or UML and extended by graph rewri...