Research Overview
Software is a human product. Developers are intrinsic to software development; as systems scale in size and complexity, the challenges that developers must overcome rapidly increase. I believe that by better understanding how people create, explore, evolve, and reason about software systems, we can enhance developers' effectiveness and improve the quality of their systems.
My past projects have investigated a range of problems surrounding software reuse, software search, context-sensitive example location, and API understanding. I am currently focusing on awareness in large teams and extending traditional source code editors.
I believe that including developers of all ranges of experience is essential to effectively investigating how people think about software; I inform and evaluate my research by engaging these developers through surveys, controlled experiments, design sessions, and case studies.
Current Status
I am currently at the University of Washington in the Computer Science and Engineering Department doing a postdoc with David Notkin. During this time I will be looking at a variety of issues related to helping developers better work with source code in large, evolving systems.
Brief History
- Postdoc. Computer Science. 2008-Present. University of Washington.
- Ph.D. Computer Science. 2004-2008. University of Calgary. Advised by Rob Walker. Thesis title: Pragmatic Software Reuse.
- M.Sc. Computer Science. 2002-2004. University of British Columbia. Advised by Gail Murphy. Thesis title: Using Structural Context to Recommend Source Code Examples.
- B.Sc. Computer Science. 1997-2002. University of British Columbia.