Traditional techniques for implementing polymorphism use a universal representation for objects of unknown type. Often, this forces a compiler to use universal representations eve...
Abstract. Many algorithms use concrete data types with some additional invariants. The set of values satisfying the invariants is often a set of representatives for the equivalence...
Modern functional languages offer several attractive features to support development of reliable and secure software. However, in our efforts to use Haskell for systems programmin...
We present the first type and effect system for proving authenticity properties of security protocols based on asymmetric cryptography. The most significant new features of our ...
Java is typically compiled into an intermediate language, JVML, that is interpreted by the Java Virtual Machine. Because mobile JVML code is not always trusted, a bytecode verifi...