Selected Publications

Data provenance describes how data came to be in its present form. It includes data sources and the transformations that have been applied to them. Data provenance has many uses, from forensics and security to aiding the reproducibility of scientific experiments. We present CamFlow, a whole-system provenance capture mechanism that integrates easily into a PaaS offering. While there have been several prior whole-system provenance systems that captured a comprehensive, systemic and ubiquitous record of a system’s behavior, none have been widely adopted. They either A) impose too much overhead, B) are designed for long-outdated kernel releases and are hard to port to current systems, C) generate too much data, or D) are designed for a single system. CamFlow addresses these shortcoming by: 1) leveraging the latest kernel design advances to achieve efficiency; 2) using a self-contained, easily maintainable implementation relying on a Linux Security Module, NetFilter, and other existing kernel facilities; 3) providing a mechanism to tailor the captured provenance data to the needs of the application; and 4) making it easy to integrate provenance across distributed systems. The provenance we capture is streamed and consumed by tenant-built auditor applications. We illustrate the usability of our implementation by describing three such applications: demonstrating compliance with data regulations; performing fault/intrusion detection; and implementing data loss prevention. We also show how CamFlow can be leveraged to capture meaningful provenance without modifying existing applications.
In SoCC ‘17, 2017.

In the last few decades, data-driven methods have come to dominate many fields of scientific inquiry. Open data and open-source software have enabled the rapid implementation of novel methods to manage and analyze the growing flood of data. However, it has become apparent that many scientific fields exhibit distressingly low rates of reproducibility. Although there are many dimensions to this issue, we believe that there is a lack of formalism used when describing end-to-end published results, from the data source to the analysis to the final published results. Even when authors do their best to make their research and data accessible, this lack of formalism reduces the clarity and efficiency of reporting, which contributes to issues of reproducibility. Data provenance aids both reproducibility through systematic and formal records of the relationships among data sources, processes, datasets, publications and researchers.
In SciData, 2017.

We present FRAPpuccino (or FRAP), a provenance-based fault detection mechanism for Platform as a Service (PaaS) users, who run many instances of an application on a large cluster of machines. FRAP models, records, and analyzes the behavior of an application and its impact on the system as a directed acyclic provenance graph. It assumes that most instances behave normally and uses their behavior to construct a model of legitimate behavior. Given a model of legitimate behavior, FRAP uses a dynamic sliding window algorithm to compare a new instance’s execution to that of the model. Any instance that does not conform to the model is identified as an anomaly. We present the FRAP prototype and experimental results showing that it can accurately detect application anomalies.
In HotCloud, 2017.
. Practical Whole-System Provenance Capture. In SoCC ‘17, 2017.

PDF Code Project

. If these data could talk. In SciData, 2017.

PDF Project

. Data provenance to audit compliance with privacy policy in the Internet of Things. In Personal and Ubiquitous Computing, 2017.

PDF Project

. FRAPpuccino: Fault-detection through Runtime Analysis of Provenance. In HotCloud, 2017.

PDF Project

. PHP2Uni: Building Unikernels using Scripting Language Transpilation. In IC2E, 2017.


. Big Ideas paper:Policy-driven middleware for a legally-compliant Internet of Things. In Middleware, 2016.

PDF Project

. Data-Centric Access Control for Cloud Computing. In SACMAT, 2016.

PDF Project

. Twenty security considerations for cloud-supported Internet of Things. In IoT Journal, 2016.

PDF Project

. Information Flow Audit for PaaS clouds. In IC2E, 2016.

PDF Project

. CamFlow: Managed Data-Sharing for Cloud Services. In TCC, 2015.

PDF Project

. Data Flow Management and Compliance in Cloud Computing. In Cloud Computing Magazine, 2015.

PDF Project

. Managing Big Data with Information Flow Control. In CLOUD, 2015.

PDF Project

. Integrating Middleware with Information Flow Control. In IC2E, 2015.

PDF Project

. FlowK: Information Flow Control for the Cloud. In CloudCom, 2014.

PDF Project

. Regional clouds: technical considerations. In UCAM-CL-TR-863, 2014.

PDF Project

. FlowR: Aspect Oriented Programming for Information Flow Control in Ruby. In Modularity, 2014.

PDF Project

. Information Flow Control for Secure Cloud Computing. In TNSM, 2014.

PDF Project

Recent & Upcoming Talks

Towards practical whole-system provenance

Jan 8, 2018, Institute for Computing Systems Architecture Colloquium, University of Edinburgh

Practical Whole-System Provenance Capture

Sep 25, 2017, ACM Symposium on Cloud Computing



A practical implementation of Linux Provenance Capture.


Capture and analyze provenance to improve data science.


End-to-end application security in the cloud explores the use of Information Flow Control to achieve greater security in cloud computing.