Research Projects

I am proud to release all of the software that accompanies my publications. My publications page lists GitHub repositories and/or artifacts along with the citation; this page highlights the titles of those articles and their respective artifacts. Unless otherwise specified on the project page, all of my software is released under an MIT license.

  • 230,439 Test Failures Later: An Empirical Evaluation of Flaky Failure Classifiers (2024). [artifact].

    Details
  • Automatically Reproducing Timing-Dependent Flaky-Test Failures (2024). [artifact].

    Details
  • Crossover in Parametric Fuzzing (2024). [artifact].

    Details
  • Thirty-Three Years of Mathematicians and Software Engineers: A Case Study of Domain Expertise and Participation in Proof Assistant Ecosystems (2024). [artifact].

    Details
  • Flexible and Optimal Dependency Management via Max-SMT (2023). [artifact].

    Details
  • A Large Scale Analysis of Semantic Versioning in NPM (2023). [artifact].

    Details
  • npm-follower: A Complete Dataset Tracking the NPM Ecosystem (2023). [artifact].

    Details
  • A Tool for Mutation Analysis in Racket (2023). [artifact].

    Details
  • A Retrospective Study of one Decade of Artifact Evaluations (2022). [artifact].

    Details
  • On the Use of Mutation Analysis for Evaluating Student Test Suite Quality (2022). [artifact].

    Details
  • CONFETTI: Amplifying Concolic Guidance for Fuzzers (2022). [artifact]. [code/git].

    Details
  • A Practical Approach for Dynamic Taint Tracking with Control-flow Relationships (2021). [code/git].

    Details
  • FlakeFlagger: Predicting Flakiness Without Rerunning Tests (2021). [artifact]. [code/git].

    Details
  • A Large-Scale Longitudinal Study of Flaky Tests (2020). [artifact].

    Details
  • Revealing Injection Vulnerabilities by Leveraging Existing Tests (2020). [artifact]. [code/git].

    Details
  • Experience Report: Debugging the Performance of Maven’s Test Isolation (2020). [code/git].

    Details
  • Mitigating the Effects of Flaky Tests on Mutation Testing (2019). [artifact].

    Details
  • CROCHET: Checkpoint and Rollback via Lightweight Heap Traversal on Stock JVMs (2018). [code/git].

    Details
  • Obfuscation Resilient Search through Executable Classification (2018). [code/git].

    Details
  • Practical Test Dependency Detection (2018). [code/git].

    Details
  • DeFlaker: Automatically Detecting Flaky Tests (2018). [code/git].

    Details
  • A Large-Scale, Longitudinal Study of Test Coverage Evolution (2018). [artifact].

    Details
  • Replay without Recording of Production Bugs for Service Oriented Applications (2018). [code/git].

    Details
  • Code Relatives: Detecting Similarly Behaving Software (2016). [code/git].

    Details
  • Identifying Functionally Similar Code in Complex Codebases (2016). [code/git].

    Details
  • Dynamic Taint Tracking for Java with Phosphor (Demo) (2015). [code/git].

    Details
  • Synapse: A Microservices Architecture for Heterogeneous-Database Web Applications (2015). [code/git].

    Details
  • Pebbles: Fine-Grained Data Management Abstractions for Modern Operating Systems (2014). [code/git].

    Details
  • Phosphor: Illuminating Dynamic Data Flow in Off-The Shelf JVMs (2014). [artifact]. [code/git].

    Details
  • Unit Test Virtualization with VMVM (2014). [code/git].

    Details
  • Chronicler: Lightweight Recording to Reproduce Field Failures (2013). [code/git].

    Details

Other research-related software that does not directly tie to a publication:

Infrastructure for Research

Infrastructure for Teaching

Personal Projects

Other projects that I have contributed to

If you have any questions about these or any other of my projects, please email me directly. I am interested in making sure that these projects can continue to be used and built upon by other researchers and practitioners.