Michael W. Godfrey @ UWaterloo


                  is that old guy?

[Contact information is at the bottom of the page.]

Awards and honours

  • Senior Member of the ACM and IEEE
  • David R. Cheriton Faculty Fellow, Univ. of Waterloo, 2014-2017
  • NSERC Assoc. Industrial Research Chair (Nortel Networks), 2001-2006
  • Best/Distinguished Paper Awards: WCRE 2006, WCRE 2011, WCRE 2013
  • Most Influential Paper Award: SANER 2016 (for the WCRE 2006 paper)
  • Distinguished Reviewer Awards: ICSME 2019, 2020


  • CS846 Topics in Software Evolution and Empirical Studies
    I am teaching this course in Winter 2023
    See this video for an overview of what to expect
  • CS138 Introduction to Data Abstraction and Implementation
    I am teaching this course in Winter 2023
    Course designer/co-ordinator since 2009
  • CS246 Software Abstraction and Specification
    I am teaching this course in Fall 2021
    Course co-ordinator 2000-2004
  • CS445 Software Requirements and Specification
    (aka SE463 / CS645 / ECE451)
    I last taught this course in Fall 2010
  • JDuck (old but it was fun)Quack

Upcoming conferences etc. I'm on the Program Committee for (or have some other interesting role)

Conferences I was on the Program Committee for, but are now over

PC = Program co-chair, GC = General chair, CO = Co-organizer, OC = Org. committe, TC = Tutorials chair, DC = PhD dissertation/symposium co-chair

Service and external relations


  • Since August 2016, I have chaired the CS Undergraduate Recruiting Committee (UGREC) on and off (currently, "on")
  • From July 2013 to July 2015, I was the SCS Director of Student Engagement
  • Between 2006 and 2011 I served on the SCS Undergraduate Academic Plans Committee (UAPC, formerly known as the Curriculum Committee)
  • I have served on the Software Engineering Curriculum Committee 2009-11, 2012-13, 2022-23
  • My Erdos number is no worse than 3 (Gauss is a 4)
    • Erdos → Jeff Shallit → Andrew Malton → Me

  • Anagrams of "Michael Godfrey":
    • Feel my dog chair! [thx MCB]
    • Fierce, godly ham
    • Chiefly, mad ogre
    • Hey! decimal frog
    • Grey, modal chief

The past

During the 2011-12 academic year, I was on sabbatical at CWI in Amsterdam, with the RASCAL group (aka SEN-1, aka SWAT), led by Jurgen Vinju and Paul Klint. I learned a lot about programming, practical language design, DSLs, and the sheer joy of building something that works. I really enjoyed my time there, and the great people I got to work with, including Mark Hills, Davy Landman, Atze van der Ploeg, Tijs van der Storm, Jeroen van den Bos, Anastasia Izmaylova, and Vadim Zaytsev.

During the 2003-04 academic year, I was on sabbatical at Sun Microsystems Research Lab in Mountain View, CA. I worked on two research projects involving static analysis tools, Jackpot and Salsa, and I got to work with a number of really sharp tool developers, including Michael Van De Vanter, Tom Ball, Tim Prinzing, and James Gosling (all Jackpot), as well as John Crupi, Deepak Alur, Yury Kamen, and Syed Ali (all Salsa).

I was a faculty member at Cornell University between 1996 and 1998; I taught the software engineering course and some others, and I was the associate director of their M.Eng. program. I also did some work with the Predator / Jaguar object-relational database project, which led to a paper at SIGMOD-98. Before that, I was a graduate student and occasional full-time lecturer at the University of Toronto.

Michael W. Godfrey PhD, Professor
David R. Cheriton School of Computer Science, University of Waterloo
Waterloo, Ontario, N2L 3G1, CANADA
Tel. +1 (519) 888-4567 ext. 34437, FAX +1 (519) 885-1208
Office: DC2340
Twitter: @migod, Mastodon: @migod@mstdn.ca
URL: http://plg.uwaterloo.ca/~migod