Expert in: Software analysis
- Software analysis
- Software design
- Empirical software engineering
- Model-driven engineering
- Software Product Line Engineering
- Formal methods
I work to create formal but practical techniques and methods for engineering software. To do this, I draw from disciplines such as formal verification, model-based engineering, and empirical methods. I study the context of software development and create novel techniques that use domain-specific abstractions that are supported by rigorous automation.