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...
Constructing correct concurrent garbage collection algorithms is notoriously hard. Numerous such algorithms have been proposed, implemented, and deployed – and yet the relations...
Procedures have long been the basic units of compilation in conventional optimization frameworks. However, procedures are typically formed to serve software engineering rather tha...
Spyridon Triantafyllis, Matthew J. Bridges, Easwar...
On-line transducers are an important class of computational agent; we construct and compose together many software systems using them, such as stream processors, layered network p...
The widespread presence of SIMD devices in today’s microprocessors has made compiler techniques for these devices tremendously important. One of the most important and difficul...
One common technique for preventing data races in multi-threaded programs is to ensure that all accesses to shared locations are consistently protected by a lock. We present a too...
Polyvios Pratikakis, Jeffrey S. Foster, Michael W....
In this paper we propose a novel microkernel-based virtual machine (µKVM), a new code-based security framework with a simple and declarative security architecture. The main desig...
Software updates typically require stopping and restarting an application, but many systems cannot afford to halt service, or would prefer not to. Dynamic software updating (DSU) ...
Iulian Neamtiu, Michael W. Hicks, Gareth Stoyle, M...