Summary: A Capability Calculus for Concurrency and
and Alex Aiken2
EECS Department, University of California, Berkeley
Computer Science Department, Stanford University
Abstract. We present a capability calculus for checking partial con-
fluence of channel-communicating concurrent processes. Our approach
automatically detects more programs to be partially confluent than pre-
vious approaches and is able to handle a mix of different kinds of com-
munication channels, including shared reference cells.
Deterministic programs are easier to debug and verify than non-deterministic
programs, both for testing (or simulation) and for formal methods. However,
sometimes programs are written as communicating concurrent processes, for
speed or for ease of programming, and therefore are possibly non-deterministic.
In this paper, we present a system that can automatically detect more programs
to be deterministic than previous methods [7, 10, 8, 9, 5]. Our system is able to