Who is that old guy?

Michael W. Godfrey @ UWaterloo


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

Awards and honours

  • 2014-2017 David R. Cheriton Faculty Fellow, University of Waterloo
  • 2001-2006 NSERC Associate Industrial Research Chair, with Nortel Networks





  • CS846Topics in Software Evolution and Empirical Studies
    I am teaching this course in Winter 2015
  • CS138 — Introduction to Data Abstraction and Implementation
    I am teaching this course in Winter 2015
    Course designer/co-ordinator since 2009
  • CS246 — Software Abstraction and Specification
    I last taught this course in Fall 2012.
    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

Conferences etc. I'm on the PC for
(or have some other interesting role)

Conferences I was on the PC for, but are now over

PC = Program co-chair, CO = Co-organizer, OC = Org. committee
TC = Tutorials chair, DC = PhD dissertation co-chair


Service and external relations


  • My Erdos number is no worse than 3 (Gauss is a 4)
    • Erdos → Jeff Shallit → Andrew Malton → Me

  • Anagrams of "Michael Godfrey":
    • 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, Associate 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
URL: http://www.uwaterloo.ca/~migod