Cheriton School of Computer Science at the University of Waterloo (Canada), where he is also a member of SWAG, the Software Architecture Group. Between 2001 and 2006, he held an Associate Industrial Research Chair in telecommunications software engineering sponsored by Nortel Networks and NSERC. He holds a PhD in Computer Science from the University of Toronto (1997) and was previously a faculty member at Cornell University. His main research area is software evolution: understanding how and why software changes over time. His research interests include evidence-based software engineering, software clone analysis, software tool design, reverse engineering, and program comprehension.