Light
code header

About

Current interests

My work centers on tooling for identifying issues in code — using "issue" broadly to include not just bugs but performance pathologies, design anti-patterns, and runtime anomalies that only surface under real workloads. The approach I find most compelling is dynamic analysis: observing programs as they actually run, rather than reasoning about them statically.

At MathWorks, my primary role is as a tool builder. The interesting challenges aren't just algorithmic — they're about the full pipeline from a dynamic execution to a developer's inbox. That means deciding what constitutes a high-signal issue worth surfacing, routing it to the developer most likely to understand and act on it, and building feedback mechanisms so the system can improve based on whether a given triage was actually valuable. The goal is to reduce friction between "the program did something unexpected" and "the right person knows about it."

Research background

This builds on doctoral research at Tufts University, where I developed formal methods for debugging garbage collectors — highly stateful, concurrent runtime systems where the gap between a specification and a live execution is exactly where bugs live. The techniques were specific to memory managers, but the underlying question has stayed with me: how do you make the invisible visible at scale?

Past academic interests and projects →

This website

I use this site to host technical writing and document projects — primarily as a record for my future self, and as a window into my thinking for anyone who finds it useful. If something here is interesting to you, I'd enjoy hearing about it.