Atomicity is a fundamental correctness property in multithreaded programs. This paper presents an algorithm for verifying atomicity via type inference. The underlying type system ...
Cormac Flanagan, Stephen N. Freund, Marina Lifshin
Software pipelining is a loop optimization that overlaps the execution of several iterations of a loop to expose more instruction-level parallelism. It can result in first-class p...
This paper investigates how vector time can be used to set breakpoints in distributed computations for the purpose of analyzing and debugging distributed programs. A breakpoint is ...
We introduce a language and system that supports definition and composition of complex run-time security policies for Java applications. Our policies are comprised of two sorts o...
The efficacy of mutation analysis depends heavily on its capability to mutate programs in such a way that they remain executable and exhibit deviating behaviour. Whereas the forme...