I am interested broadly in the fields of programming languages and software engineering, especially where they intersect. Specifically, my research focuses on program analysis and programming language semantics, with applications in areas such as refactoring, program comprehension, and program verification. My goal is to provide developers with powerful new tools for understanding, creating, analyzing, and improving software. As part of this, I am a continuing contributor to Rascal, a meta-programming language for program analysis, program transformation, and programming language implementation. I’m also still an active user of the Maude system, focusing on uses of Maude for language specification and analysis.

  • Programming Languages
  • Program Analysis
  • Software Engineering
  • PhD in Computer Science, 2009

    University of Illinois Urbana-Champaign

  • BS in Computer Science, 1995

    Western Illinois University

Recent Publications

To see all publications, click here.
A Comparison of Machine Learning Code Quality in Python Scripts and Jupyter Notebooks
Enabling Go Program Analysis in Rascal
Composing Model-Based Analysis Tools, Chapter 2: Foundations
Composing Model-Based Analysis Tools, Chapter 4: Composition of Languages, Models, and Analyses
Planning a Conceptual Framework Approach for Teaching Cloud Fundamentals

Recent & Upcoming Talks


  • [email protected]
  • +1 828 262 7159
  • 224 Joyce Lawrence Lane, ASU Box 32133, Boone, NC 28608
  • I’m on the third floor of Anne Belk Hall, room 312L.
  • Monday 2:00pm to 4:00pm
    Wednesday 3:00pm to 4:00pm
    Thursday 10:00am to 11:00am
    Friday 11:00am to 12:00pm