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

At CSL, I work on leveraging the hundreds of billions of lines of open source code available today to develop radically different approaches for automatically constructing, and explaining complex programs. My research is deeply interdisciplinary, consisting primarily of source code curation, human computer interaction, and “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.