Michael Hicks

Learn More
Applications that manipulate sensitive information should ensure end-to-end security by satisfying two properties: sound execution and some form of noninterference. By the former, we mean the program should always perform actions in keeping with its current policy, and by the latter we mean that these actions should never cause high-security information to(More)
Software evolves to fix bugs and add features, but stopping and restarting existing programs to take advantage of these changes can be inconvenient and costly. Dynamic software updating (DSU) addresses these problems by updating programs while they run. The challenge is to develop DSU infrastructure that is flexible, safe, and efficient—DSU should enable(More)
— In disaster and combat situations, mobile cameras and other sensors transmit real-time data, used by many operators or analysis tools. Unfortunately, in the face of limited, unreliable resources, and varying demands, not all users may be able to get the fidelity they require. This paper describes MediaNet, a distributed stream processing system designed(More)
We present the load-calculus, used to model dynamic loading, and prove it sound. The calculus extends the polymorphic λ-calculus with a load primitive that dynamically loads terms that are closed, with respect to values. The calculus is meant to approximate the process of dynamic loading in TAL/Load [4], an version of Typed Assembly Language [7] extending(More)
—Dynamic branch predictors account for between 10% and 40% of a processor's dynamic power consumption. This power cost is proportional to the number of accesses made to that dynamic predictor during a program's execution. In this paper we propose the combined use of local delay region scheduling and profiling with an original adaptive branch bias(More)
• Applications need to monitor end-to-end path – Due to the design of the Internet network routers do not provide any feedback about network conditions – Applications need to adapt based on path conditions • Application Layer Overlays need to select paths – Based on capacity, available bandwidth, delay, loss – Needed for construction and maintenance of(More)
Humeans are often accused of accounting for natural laws in such a way that the fundamental entities that are supposed to explain the laws circle back and explain themselves. Loewer (Philos Stud 160(1):115–137, 2012) contends this is only the appearance of circularity. When it comes to the laws of nature, the Humean posits two kinds of explanation:(More)