Abstract
We present an expressive information-flow control type system with recursive types, existential types, label polymorphism, and impredicative type polymorphism for a higher-order programming language with higher-order state. We give a novel semantic model of this type system and show that well-typed programs satisfy termination-insensitive noninterference. Our semantic approach supports compositional integration of syntactically well-typed and syntactically ill-typed---but semantically sound---components, which we demonstrate through several interesting examples. We define our model using logical relations on top of the Iris program logic framework; to capture termination-insensitivity, we develop a novel language-agnostic theory of Modal Weakest Preconditions. We formalize all of our theory and examples in the Coq proof assistant.
Highlights
Systems for information-flow control put restrictions on how a program’s outputs are related to its inputs
The main high-level goal of our work is to prove that the type system satisfies termination-insensitive noninterference using a semantic model
What is new and challenging about our semantic model? In summary, we address three major challenges: (1) combining unary and binary logical-relations models in the presence of impredicative polymorphism, and (2) constructing łlogicalž [Dreyer et al 2009] logical-relations models for termination-insensitive reasoning while (3) soundly allowing syntactically ill-typed but semantically secure programs to be composed with syntactically well-typed programs
Summary
Systems for information-flow control put restrictions on how a program’s outputs are related to its inputs. The interaction between different instantiations of MWP’s (which is proven generally and not for our programming language) allows us to strengthen this definition, in order to combine unary and binary logical relations (see Lemma 3.7) and to prove certain examples that require stronger reasoning principles (see ğ5). Another challenge worth noting is the modeling of reference types. The Coq formalization can be found online at https://github.com/logsem/iris-tini
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.