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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call