- Formal Methods in Software Engineering
- Specification of OO software components
- Design of JML (see jmlspecs.org).
- 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 http://multijava.sourceforge.net/).
- Computer Security
- Design of information flow security policy languages
- Professor, Iowa State University 1989-2007
- Member of Technical Staff, Bell Labs, 1977-84
- 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
- Leavens, Gary T. and Naumann, David A., “Behavioral Subtyping, Specification Inheritance, and Modular Reasoning.” ACM Trans. On Programming Languages and Systems Vol. 37, Issue 4, August 2015. https://doi.org/10.1145/2766446
- For other papers see https://www.cs.ucf.edu/~leavens/main.html