Parallel architectures are the way of the future, but are notoriously difficult to program. In addition to the low-level constructs they often present (e.g., locks, DMA, and non-...
Concurrent programs are difficult to verify because the proof must consider the interactions between the threads. Fine-grained concurrency and heap allocated data structures exacer...
Cristiano Calcagno, Matthew J. Parkinson, Viktor V...
This paper presents an extension of an algebra of high-level Petri nets with operations for suspension and abortion. These operations are sound with respect to the semantics of pre...
In this paper, we present an program that enables the transformation of a nonterminating alternator into a terminating alternator. Our solution is stabilization preserving and has...
Abstract. A number of formal proposals to manage aliasing in Java-like programming languages have been advanced over the last five years. Unfortunately, it is not clear how practic...