ChatsYapsForumsTopicsWatchFeedsDecksChartsChatsYapsForumsTopicsWatchFeedsDecksCharts
Log inRegister

Log in to follow channels.

Log in to follow topics.

Log in to see your friends.

rustlang

Forum post

Modular Responsiveness Verification of Rust Async Runtimes

·1d

arXiv.org

Modular Responsiveness Verification of Rust Async Runtimes

Asynchronous (async) programming is a popular paradigm for managing concurrency. Languages that provide async support typically have a runtime to manage asynchronous executions. These runtimes are critical infrastructure, yet verifying them has received little attention. One reason is that a property that users care most about from an async runtime is a liveness property: tasks submitted to the runtime eventually make progress. Verifying liveness is challenging for libraries that are both concurrent and highly optimized. We present a lightweight and modular proof technique for verifying eventual progression guarantees for Rust async runtimes. We describe this technique in the context of a simple language based on Rust and Rust's async model. We then realize this proof technique as a set of static analyses for Rust and use these to verify eventual progression of several key components of multiple Rust async runtime implementations.

1

0 comments