We explore the logical underpinnings of higher-order, security-typed languages with mutable state. Our analysis is based on a logic of information flow derived from lax logic and the monadic metalanguage. Thus, our logic deals with mutation explicitly, with impurity reflected in the types, in contrast to most higher-order security-typed languages, which deal with mutation implicitly via side-effects. More importantly, we also take a store-oriented view of security, wherein security levels are associated with elements of the mutable store. This view matches closely with the operational semantics of low-level imperative languages where information flow is expressed by operations on the store. An interesting feature of our analysis lies in its treatment of upcalls (low-security computations that include high-security ones), employing an "informativeness" judgment indicating under what circumstances a type carries useful information. © 2005 Cambridge University Press.
CITATION STYLE
Crary, K., Kliger, A., & Pfenning, F. (2005). A monadic analysis of information flow security with mutable state. Journal of Functional Programming, 15(2), 249–291. https://doi.org/10.1017/S0956796804005441
Mendeley helps you to discover research relevant for your work.