I’m a computer scientist working on the reliability of software and AI systems. Over the years the object of study has shifted, from source code to large language models, but the underlying question hasn’t: how do you tell whether a complex, machine-produced artifact is any good, and how do you build tooling that makes it better before someone has to trust it?
That question started at San Jose State University, where my research on domain analysis and pattern languages led to the idea of Knowledge Maps: treating software systems as systems of patterns. My PhD at UC Santa Cruz took a different direction but asked the same question: I introduced Source Code Curation: filtering, refining, and validating code before reuse, so that “found” code could be trusted rather than just borrowed.
At SRI International’s Computer Science Laboratory, that work grew into a decade of DARPA-funded research, applying large-scale program analysis, graph mining, and machine learning to code search, program repair, formal verification, and open-source supply-chain security. I was a key contributor to CSFV, SoSITE, MUSE, and ARCOS, and led SocialCyber as PI.
Today, at Charles Schwab’s AI.x group, the same question is aimed at LLMs instead of source code: how multiple models can collaborate reliably, how to measure and improve their consensus, and how to evaluate agentic systems rigorously enough to trust them in high-stakes settings.
For the full research summary and employment history, see my CV.