Research

A single principle runs through our research: modular reasoning, the ability to understand and change one part of a system without grappling with the whole. We design the languages and interfaces that make modular reasoning possible, and we reframe software-analysis tasks so that this reasoning scales to millions of programs. Today the principle matters most for AI-enabled systems: we decompose learned models into modules and bring software-engineering rigor to the AI that society increasingly depends on, so it can be built, debugged, and trusted.

View our work on Google Scholar →

Complete publication record: Google Scholar, DBLP, and our lab.

Modularity & Modular Reasoning

We design languages, interfaces, and contracts that let engineers reason about complex software one module at a time, from aspect-oriented design and Classpects to Ptolemy's quantified, typed events, capsule-oriented Panini, and translucid contracts for modular verification.

More publications

Selected funding: NSF CAREER: On Mutualism of Modularity and Concurrency Goals (2009–2016) · NSF SHF Small: Capsule-oriented Programming (2014–2018).

Software at Scale, with Boa

The hard question behind Boa was not how to store hundreds of thousands of repositories, but how to express software-analysis tasks modularly so they can be decomposed and run across a massive collection of programs. Boa is the language and infrastructure that answers it, and the result is large-scale empirical software engineering the whole community can use.

More publications

Selected funding: NSF CCRI: Boa 2.0 (2021–2024) · NSF CI-EN: Boa (2015–2018).

Modular & Dependable AI

Modular reasoning extended to AI-enabled systems. We decompose learned models such as deep neural networks into reusable, replaceable modules, and we work to make AI software dependable through the first comprehensive study of deep-learning bugs, fault localization and repair for neural networks, and fairness across machine-learning pipelines.

More publications

Selected funding: NSF SHF Small: More Modular Deep Learning (2022–2025) · NSF SHF Small (Collaborative): Fault Localization for Deep Learning (2026–2029).

The bridge. Modular deep learning, decomposing trained networks into modules that can be reused and replaced, carries modular reasoning directly from classical software into AI-enabled systems.

Joining the lab

We recruit undergraduate students, graduate students, postdoctoral fellows, and in some cases research scientists across all three thrusts. If these questions resonate with you, I would like to hear from you.