Hostname: page-component-77c78cf97d-57qhb Total loading time: 0 Render date: 2026-04-23T10:31:27.402Z Has data issue: false hasContentIssue false

Roles, stacks, histories: A triple for Hoare

Published online by Cambridge University Press:  22 September 2010

JOHANNES BORGSTRÖM
Affiliation:
Microsoft Research, Cambridge, United Kingdom (e-mail: adg@microsoft.com)
ANDREW D. GORDON
Affiliation:
Microsoft Research, Cambridge, United Kingdom (e-mail: adg@microsoft.com)
RICCARDO PUCELLA
Affiliation:
Northeastern University, College of Computer and Information Science, Boston, Massachusetts, USA
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Behavioral type and effect systems regulate properties such as adherence to object and communication protocols, dynamic security policies, avoidance of race conditions, and many others. Typically, each system is based on some specific syntax of constraints, and is checked with an ad hoc solver. Instead, we advocate types refined with first-order logic formulas as a basis for behavioral type systems, and general purpose automated theorem provers as an effective means of checking programs. To illustrate this approach, we define a triple of security-related type systems: for role-based access control, for stack inspection, and for history-based access control. The three are all instances of a refined state monad. Our semantics allows a precise comparison of the similarities and differences of these mechanisms. In our examples, the benefit of behavioral type-checking is to rule out the possibility of unexpected security exceptions, a common problem with code-based access control.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2010
Submit a response

Discussions

No Discussions have been published for this article.