Research in a nutshell
The central theme of my research is the design and application of source code analysis and transformation techniques. These form the foundation of tool support for quality assurance problems as pressing as bug detection, validation of an implementation with respect to its design, and program repair.
- In program transformation, I'm investigating techniques for repeating changes to similar, but non-identical source code. This is often needed by developers after having repaired one of several occurrences of a bug (i.e., semantic patching) or after having updated one of several clients of an API to a functionally equivalent one (i.e., API migration).
- In program analysis, I'm investigating techniques for analyzing source code that is neither known at compile-time nor invariant at run-time. This is increasingly common in distributed (e.g., third party web services), polyglot (e.g., domain- specific languages), and dynamic (e.g., reflection for run-time variability) software.
Current research interests
- quality assurance tools
- program transformation, change analysis
- program analysis, points-to analysis, abstract interpretation
- design of meta-programming languages
Other interests related to computer science
- dynamic programming languages
- integrated development environments
- physical computing and embedded systems in education; see: