Temporal Resource Typing: Enriching Substructural Typing for Liveness Reasoning
Resources are stateful objects that must be used according to specific protocols during program execution. These protocols can be formally expressed as temporal properties over event traces that represent resource usage, incorporating both safety and liveness. Existing approaches to resource usage analysis focus on the safety aspects of resource usage while ignoring liveness requirements.
To address this gap, we propose temporal resource typing to support liveness reasoning of resource usage. A main novelty is that it enriches the types of resources with a resettable timer mechanism that provides a progressivity guarantee for infinite resource usage in divergent program executions. We demonstrate the usefulness of our type system by examples and prove soundness.
Tue 14 OctDisplayed time zone: Perth change
13:40 - 15:20 | |||
13:40 35mKeynote | Against Borrowing: Own the forest, not the trees! IWACO James Noble Independent. Wellington, NZ | ||
14:15 25mTalk | A Verified Thread-Safe Array in Rust IWACO Sasha Pak Australian National University, Fabian Muehlboeck Australian National University, Alex Potanin Australian National University | ||
14:40 25mTalk | Temporal Resource Typing: Enriching Substructural Typing for Liveness Reasoning IWACO | ||
15:05 25mTalk | Bringing Fearless Concurrency to Swift IWACO Mae Milano Princeton University | ||