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

Read more

Summary

INTRODUCTION

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

Syntax and Semantics
Information-Flow Control Type System
SEMANTIC MODEL
Value Relations
Modal Weakest Precondition
Expression Relations
THE FUNDAMENTAL THEOREMS AND SOUNDNESS
EXAMPLES OF SEMANTIC TYPING
Static Semantic Typing Instead of Dynamic Enforcement
Value-Dependent Classification and Modularity
Higher-order Functions and Dynamicly Allocated References
Parametricity and Free Theorems
RELATED WORK
CONCLUSION
Full Text
Paper version not known

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