Abstract. We introduce a calculus with mobile names, distributed principals and primitives for secure remote communication, without any reference to explicit cryptography. The calc...
In this paper, we present type systems for flow-sensitive pointer analysis, live stack-heap (variables) analysis, and program optimization. The type system for live stack-heap ana...
Abstract. Intermediate languages are a paradigm to separate concerns in software verification systems when bridging the gap between programming languages and the logics understood ...
Abstract. The λ-calculus with de Bruijn indices, called λdB, assembles each α-class of λ-terms into a unique term, using indices instead of variable names. Intersection types p...
program constraints are defined over a program’s abstract syntax tree. The JAVACOP compiler automatically enforces these constraints on programs during compilation. The JAVACOP ...
Shane Markstrum, Daniel Marino, Matthew Esquivel, ...
We introduce a type system based on intervals, objects representing the time in which a block of code will execute. The type system can verify time-based properties such as when a...
O'Haskell is a programming language derived from Haskell by the addition of concurrent reactive objects and subtyping. Because Haskell already encompasses an advanced type sy...
ABSTRACT. As informal methods do little to help their use for concurrent and distributed programming, one of the most challenging current tasks is to build tools based on formal me...
Fabien Dagnat, Marc Pantel, Matthias Colin, Patric...
A program analysis is compositional when the analysis result for a particular program fragment is obtained solely from the results for its immediate subfragments via some composit...
We lift Cardelli, Ghelli and Gordon's secrecy group creation operator [1] to a relative of the spicalculus that supports symmetric key cryptography, and show a natural extens...