vix.ing · top · new · best · stats · spec

First-order Gradual Information Flow Types with Gradual Guarantees

2020/03/28 by Abhishek Bichhawat, Bichhawat, Abhishek, McKenna McCall +3
Computer Science · Engineering · #Advanced Memory and Neural Computing #Blockchain Technology Applications and Security #FOS: Computer and information sciences #Programming Languages (cs.PL) #Security and Verification in Computing

paper · pdf · doi:10.48550/arxiv.2003.12819

openalex publication_date 2020/03/28 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

Information flow type systems enforce the security property of noninterference by detecting unauthorized data flows at compile-time. However, they require precise type annotations, making them difficult to use in practice as much of the legacy infrastructure is written in untyped or dynamically-typed languages. Gradual typing seamlessly integrates static and dynamic typing, providing the best of both approaches, and has been applied to information flow control, where information flow monitors are derived from gradual security types. Prior work on gradual information flow typing uncovered tensions between noninterference and the dynamic gradual guarantee -- the property that less precise security type annotations in a program should not cause more runtime errors. This paper re-examines the connection between gradual information flow types and information flow monitors to identify the root cause of the tension between the gradual guarantees and noninterference. We develop runtime semantics for a simple imperative language with gradual information flow types that provides both noninterference and gradual guarantees. We leverage a proof technique developed for FlowML and reduce noninterference proofs to preservation proofs.

Related