A security flow control algorithm and its denotational semantics correctness proof
- 1 November 1992
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in Formal Aspects of Computing
- Vol. 4 (Suppl 1) , 727-754
- https://doi.org/10.1007/bf03180570
Abstract
We derive a security flow control algorithm for message-based, modular systems and prove the algorithm correct. The development is noteworthy because it is completely rigorous: the flow control algorithm is derived as an abstract interpretation of the denotational semantics of the programming language for the modular system, and the correctness proof is a proof by logical relations of the congruence between the denotational semantics and its abstract interpretation. Effectiveness is also addressed: we give conditions under which an abstract interpretation can be computed as a traditional iterative data flow analysis, and we prove that our security flow control algorithm satisfies the conditions. We also show that symbolic expressions (that is, data flow values that contain unknowns) can be used in a convergent, iterative analysis. An important consequence of the latter result is that the security flow control algorithm can analyse individual modules in a system for well formedness and later can link the analyses to obtain an analysis of the entire system.Keywords
This publication has 13 references indexed in Scilit:
- Two-level semantics and abstract interpretationTheoretical Computer Science, 1989
- Strictness analysis for higher-order functionsScience of Computer Programming, 1986
- Data flow analysis of applicative programs using minimal function graphsPublished by Association for Computing Machinery (ACM) ,1986
- Program transformations in a denotational settingACM Transactions on Programming Languages and Systems, 1985
- An Axiomatic Approach to Information Flow in ProgramsACM Transactions on Programming Languages and Systems, 1980
- Universal AlgebraPublished by Springer Nature ,1979
- Certification of programs for secure information flowCommunications of the ACM, 1977
- Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpointsPublished by Association for Computing Machinery (ACM) ,1977
- Monotone data flow analysis frameworksActa Informatica, 1977
- A lattice model of secure information flowCommunications of the ACM, 1976