I am a Computer Scientist in the Computer Science Lab (CSL) at SRI International. My research, at SRI, combines large scale program repository mining and machine learning with foundational ideas underlying data curation and program analysis in order to create hybrid human-computer systems.

At CSL, I work on leveraging big data analytics applied to code to develop radically different approaches for automatically constructing, verifying, and explaining complex programs. My research blends numerous CS subfields from software engineering, to machine learning, to source code curation, and to “big code” analytics.

At UC Santa Cruz, the focus of my research was on making code foraging less informal and more thoughtful. This research introduced the notion of Source Code Curation, as well as the tools that implements it. Source Code Curation is a blend of three activities: filtering, refinement, and validation. Source Code Curation’s goal is to improve the quality of online source code before reuse, validate its fitness for use, and assist with code understanding.

At San Jose State University, the focus of my research was on domain analysis and pattern languages. I investigated how to build software systems as a system of patterns, known as Knowledge Maps.