Abstract
In a previous paper of mine, the notion of termination-sensitive information flow security with
respect to a level-based interference relation, as studied by Volpano, Smith, and Irvine and
formalized in Nipkow and Klein's book on formal programming language semantics (in the version of
February 2023), is generalized to the notion of termination-sensitive information flow correctness
with respect to an interference function mapping program states to (generally) intransitive
interference relations.
This paper extends both the aforesaid information flow correctness criterion and the related static
type system to the case of an imperative programming language supporting inputs, outputs, and
nondeterminism. Regarding inputs and nondeterminism, Volpano, Smith, and Irvine observe that their
soundness theorem no longer holds if their core language is extended with these features. This paper
shows that the difficulty can be solved by extending the inductive definition of the language's
operational semantics, which enables to apply a suitably extended information flow correctness
criterion based on stateful intransitive noninterference, as well as an extended static type system
enforcing this criterion, to such an extended programming language. Although an extension with
inputs, outputs, and nondeterminism of the didactic programming language IMP employed in the book is
used for this purpose, the introduced concepts apply to larger, real-world imperative programming
languages as well.
License
Topics
- Computer science/Programming languages/Type systems
- Computer science/Programming languages/Static analysis
- Computer science/Security
- Computer science/Semantics and reasoning