Distributed applications can be structured using sessions that specify flows of messages between roles. We design a small specific language to declare sessions. We then build a c...
Type systems for secure information flow are useful for efficiently checking that programs have secure information flow. They are, however, conservative, so that they often rej...
Abstract. We introduce XMLVM, a Turing complete XML-based programming language based on a stack-based, virtual machine. We show how XMLVM can automatically be created from Java cla...
Multithreaded programs are notoriously prone to race conditions, a problem exacerbated by the widespread adoption of multi-core processors with complex memory models and cache coh...
Hardware compilation techniques which use highlevel programming languages to describe and synthesize hardware are gaining popularity. They are especially useful for reconfigurable...