Many algorithms on data structures such as terms (finitely branching trees) are naturally implemented by second-order recursion: A first-order procedure f passes itself as an arg...
We show how contracts with blame fit naturally with recent work on hybrid types and gradual types. Unlike hybrid types or gradual types, we require casts in the source code, in o...
Security automata are a convenient way to describe security policies. Their typical use is to monitor the execution of an application, and to interrupt it as soon as the security p...
A modelling language can be defined by a metamodel in UML class diagram. This paper defines the semantics of such metamodels through two mappings: a signature mapping from metamod...
Formal specification languages are traditionally supported by theorem provers, but recently model checkers have proven to be useful tools. In this paper we present Eboc, an explic...