An increasing number of systems rely on programming language technology to ensure safety and security of low-level code. Unfortunately, these systems typically rely on a complex, ...
An ambient is a named cluster of processes and subambients, which moves as a group. We describe type systems able to guarantee that certain ambients will remain immobile, and that ...
Notions of program dependency arise in many settings: security, partial evaluation, program slicing, and call-tracking. We argue that there is a central notion of dependency commo...
This paper presents a novel interprocedural, ow-sensitive, and context-sensitive pointer analysis algorithm for multithreaded programs that may concurrently update shared pointers...
Java class files are often distributed as jar files, which are collections of individually compressed class files (and possibility other files). Jar files are typically about...
Whole program paths (WPP) are a new approach to capturing and representing a program’s dynamic—actually executed—control flow. Unlike other path profiling techniques, which ...
Previous selective dynamic compilation systems have demonstrated that dynamic compilation can achieve performance improvements at low cost on small kernels, but they have had diff...
Brian Grant, Matthai Philipose, Markus Mock, Craig...
This paper explores compiler techniques for reducing the memory needed to load and run program executables. In embedded systems, where economic incentives to reduce both ram and r...