Andrew Quinn

University of Michigan —

I use data-intensive techniques to improve software reliability.

I'm going to UC Santa Cruz!
If you're interested in building more reliable software systems, let's talk!

I'm a sixth year Ph.d candidate working with Baris Kasikci at the University of Michigan. I worked with Jason Flinn for many years. I'm supported by a Microsoft Research Fellowship and a National Science Foundation Fellowship.

I'm broadly interested in improving software reliability. Specifically, I'm investigating data-intensive software reliability: how can we apply data-intensive techniques to prevent, detect, and resolve software errors? My thesis proposes a fundamentally more powerful model for observing program executions to perform tasks such as security forensics, debugging and data provenance. This work treats a program execution as a massive data object consisting of all the program states (i.e., memory and register values) reached by the execution and uses cluster-scale parallelization and declarative languages to accelerate and simplify observations over these objects. In the future, I'm interested in using similar techniques to provide run-time safety properties with minimal developer effort.

I am currently mentoring a number of students in Baris Kasikci's lab. We're working on a number of projects in the software reliability space, including improving the reliability of persistent memory applications, understanding how heterogeneous deployments impact the reliability of our systems, and building better tools for failure reproduction.

I'm an avid reader, political junkie, and casual sports fan. If I'm not working, then I'm probably wrestling with my dogs, Huckleberry and Harley; cooking an elaborate meal with my wife, Tully; baking something sweet from Bravetart; or enjoing a long run around Ann Arbor.


Reproducing Production Failures with Execution Reconstruction.
Gefei Zuo, Jiacheng Ma, Andrew Quinn, Pramod Bhatotia, Pedro Fonseca, and Baris Kasikci To appear In Proceedings of the Fourty-Second ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 2021.

HIPPOCRATES: Healing Persistent Memory Bugs Without Doing Any Harm.
Ian Neal, Andrew Quinn, and Baris Kasikci To appear In Proceedings of the Twenty-Sixth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), April 2021. [PDF]

AGAMOTTO: How Persistent is your Persistent Memory application?
Ian Neal, Ben Reeves, Ben Stoler, Andrew Quinn, Youngjin Kwon, Simon Peter and Baris Kasikci In Proceedings of the 2020 USENIX Symposium on Operating Systems Design and Implementation (OSDI), November 2020. [PDF] [Presentation]

The Case for Determinism on the Edge
Matt Furlong, Andrew Quinn, and Jason Flinn 2nd USENIX Workshop on Hot Topics in Edge Computing (HotEdge), July 2019. [PDF][Slides]

You can't debug what you can't see: Expanding observability with the OmniTable
Andrew Quinn, Jason Flinn, and Mike Cafarella Proceedings of the Workshop on Hot Topics in Operating Systems (HotOS), May 2019. [PDF][Slides]

Sledgehammer: Cluster-Fueled Debugging
Andrew Quinn, Jason Flinn, and Mike Cafarella Proceedings of the 2018 USENIX Symposium on Operating Systems Design and Implementation (OSDI), October 2018. [PDF][Slides]

JetStream: Cluster-scale Parallelization of Information Flow Queries
Andrew Quinn, David Devecsery, Peter M Chen and Jason Flinn Proceedings of the 2016 USENIX Symposium on Operating Systems Design and Implementation (OSDI), November 2016. [PDF][Slides]


ASPLOS External Review Committee Member (2021)
EuroSys Shadow Program Committee Member (2020)
SOSP Artifact Evaluation Committee Member (2019)
University of Michigan CSE Ph.D. Admissions Committee Member (2018)
Discover Engineering Volunteer (2019)
Techie Club Volunteer (2015)
A Call to College Volunteer (2013)