My Research Areas
Program Comprehension and Textual Analysis
I am interested in what direct analysis of source code can tell us about the mental model created by developers during development tasks. Specifically, I am interested in how natural language used in source code is related to the behavior of source code itself. My work in this area attempts to model this this relationship with a goal of supporting stronger, developer-centric tools and techniques to support comprehension and development.
My interest in program transformation seeks to ease the burden of applying transformation and refactorings techniques automatically. Recently, there is an increased interest and reliance on systems that can support their own evolution. It is important to ensure these techniques are safe, customizable, and easily integrated with today's software development processes.
Static Source Code Analysis
A lot of my work relies on static analysis techniques, and most frequently I make use of the srcML Framework to normalize, transform, and analyze source code. On the whole, one of my favorite things to do is explore code, searching for patterns that can be used to improve and support software development using automated tools, visualization, and modeling.