Abstract
This paper presents a simplified fractional 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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have