Skip to main content


Research Interests

  • Formal Methods in Software Engineering
    • Specification of OO software components
    • Design of JML (see
    • Theory of behavioral subtyping and specification inheritance.
  • Programming Languages
    • Design and semantics of aspect-oriented programming languages.
    • Theory and design of multiple dispatch languages, including MultiJava (see
  • Computer Security
    • Design of information flow security policy languages

Other Experience

  • Professor, Iowa State University 1989-2007
  • Member of Technical Staff, Bell Labs, 1977-84

Professional Activities

  • Member of IFIP Working Group 1.9/2.15 (Verified Software) and IFIP WG 2.3 (Programming Methodology)
  • General Chair, Foundations of Software Engineering 2018
  • General Chair, SPLASH 2012 conference
  • Program Co-chair, VSTTE 2010 conference
  • Research Program Chair, OOPSLA 2009 Conference
  • Co-editor-in-chief: Transactions on Aspect-Oriented Software Development (Springer), 2011-2013, now on editorial board
  • Associate Editor: Journal of Object Technology
  • Assistant Editor, Software and Systems Modeling
  • Co-organizer of two international workshop series

Honors & Awards

  • Upsilon Pi Epsilon honor society, 2011
  • “Memorable Teacher”, College of LAS, Iowa State Univ., 2007
  • Senior Member of the ACM, 2007
  • Senior Member of the IEEE Computer Society, 2000
  • IEEE Distinguished Visitor Program Speaker 2003-2005

Selected Publications