Most shared memory systems maximize performance by unpredictably resolving memory races. Unpredictable memory races can lead to nondeterminism in parallel programs, which can suff...
Derek Hower, Polina Dudnik, Mark D. Hill, David A....
Objects often define usage protocols that clients must follow in order for these objects to work properly. Aliasing makes it notoriously difficult to check whether clients and i...
Design patterns are a standard means to create large software systems. However, with standard object-oriented techniques, typical implementations of such patterns are not themselv...
Abstract. In this paper, we show how the concepts of objects, components, features and agents are used today in the Agent Building Center (ABC) environment in order to marry the mo...
Program specifications are important in many phases of the software development process, but they are often omitted or incomplete. An important class of specifications takes the f...