Software components promise easy reuse, dependability, and simplified development. Problems arise when implicit assumptions about the use of the component are encoded in the imple...
We define a core language combining computational and architectural primitives, and study how static typing may be used to ensure safety properties of component composition and dyn...
Developers using statically typed languages such as C and Java are increasingly having to interoperate with APIs and object models defined in dynamic languages. This impedance mis...
By shifting the burden of proofs to the user, a proof-carrying authorization (PCA) system can automatically enforce complex access control policies. Unfortunately, managing those p...
Access control mechanisms are widely used with the intent of enforcing confidentiality and other policies, but few formal connections have been made between information flow and...