A Simple Permission Checking for Structural Parallel Programs

Yang Zhao · 2008

This paper presents a simplified "fractional permission'" type system for an imperative language with structured parallelism and synchronization. A permission is a linear value associated with some piece of state in a program and "fractions'' are used to distinguish reads from writes, with which we are able to check interference among parallel threads. In order to detect race conditions and deadlocks in a multithreaded program, we transform expressions and statements into action traces, then permission check all possible interleavings among traces in parallel. We show the operational semantics as well as some selected permission type rules.

Read the paper · More papers on PaperTik