Memory safety and race freedom in concurrent programming languages with linear capabilities
Niki Vazou, Michalis A. Papakyriakou, Nikolaos Papaspyrou · DSpace - NTUA (National Technical University of Athens) · 2011
In this paper we show how to statically detect memory violations and data races in a concurrent language, using a substructural type system based on linear capabilities. However, in contrast to many similar type-based approaches, our capabilities are not only linear, providing full access to a memory location but unshareable; they can also be read-only, thread-exclusive, and unrestricted, all providing restricted access to memory but extended shareability in the program source. Our language features two new operators, let! and lock, which convert between the various types of capabilities. © 2011 Polish Info Processing Soc.