摘要:This paper presents a simplified "fractional permission" type system for a toy imperative language with structured parallelism and synchronization. In this system, we make the permission as a kind of linear values associated with some piece of state in a program. Different permissions permit different operations and "fractions" are attached to permissions to distinguish reads from writes, with which we are able to check interference among parallel threads. The main purpose is to detect race conditions and deadlocks in a multithreaded program. Program expressions and statements are transformed into action traces, then we permission-check all possible interleavings among traces in parallel. Operational semantics as well as permission type rules are provided and a type soundness result is then established.