Graduate Supervision

Current graduate student / post doc advisees (listed alphabetically; current as of June 2023)

Echo Xiang Chen (PhD; to start Sept 2023)

Albert Guoshuai Shi (MMath)

Zitao Wang (MMath; to start in Sept 2023)

Current PhD students on whose committee I sit, but whom I do not supervise (alphabetically)

Farshad Kazemi (Supervisor: Shane McIntosh)

PhD theses supervised at University of Waterloo (reverse chronologically)

Wenhan Cosmos Zhu, Using Crowd-Based Software Repositories to Better Understand Developer-User Interactions, David R. Cheriton School of Computer Science, 2023.

Oleksii Kononenko, Towards Understanding and Improving Code Review Quality, David R. Cheriton School of Computer Science, 2017 [co-supervised with Olga Baysal, Carleton University]

Laura Inozemtseva, Data Science for Software Maintenance, David R. Cheriton School of Computer Science, 2017 ["co-supervised" with Reid Holmes, UBC; note that I am officially listed as Laura's co-supervisor for administrative reasons, but Reid was her true, sole PhD supervisor].

Olga Baysal, Supporting Development Decisions with Software Analytics, David R. Cheriton School of Computer Science, 2014 [co-supervised with Reid Holmes].

Lijie Zou, Understanding Programmers' Working Context by Mining Interaction Histories, David R. Cheriton School of Computer Science, 2013.

Abram J. Hindle, Evidence-based Software Process Recovery, David R. Cheriton School of Computer Science, 2010 [co-supervised with Ric Holt].

Cory J. Kapser, Toward an Understanding of Software Code Cloning as a Development Practice, David R. Cheriton School of Computer Science, 2009.

Xinyi Dong, A Hybrid Model for Object-Oriented Software Maintenance, David R. Cheriton School of Computer Science, 2008.

Seyyed Vahid Hashemian, Automatic Signature Matching in Component Composition, David R. Cheriton School of Computer Science, 2008 [co-supervised with Farhad Mavaddat].

Davor Svetinovic, Increasing the Semantic Similarity of Object-Oriented Domain Models by Performing Behavioral Analysis First, David R. Cheriton School of Computer Science, 2006 [co-supervised with Dan Berry].

Master's theses supervised at University of Waterloo (reverse chronologically)

Eve Xueyao Yu, Studying the Impact of Risk Assessment Analytics on Risk Awareness and Code Review Performance, David R. Cheriton School of Computer Science, 2023 [co-supervised with Shane McIntosh].

Yitong Li, Documentation-Guided Fuzzing for Testing Deep Learning API Functions, David R. Cheriton School of Computer Science, 2020 [co-supervised with Lin Tan, Dept. of ECE].

Kilby Baron, Evaluating the Effectiveness of Code2Vec for Bug Prediction When Considering That Not All Bugs Are the Same, David R. Cheriton School of Computer Science, 2020 [co-supervised with Mei Nagappan].

Davood Anbarnam, On the Effectiveness of Incremental Fact Extraction and Analysis, David R. Cheriton School of Computer Science, 2020.

Yuan Xi, API Parameter Recommendation Based on Documentation Analysis, David R. Cheriton School of Computer Science, 2020, [co-supervised with Lin Tan, Dept. of ECE and Mei Nagappan].

Daniel J. Watson, Source Code Stylometry and Authorship Attribution for Open Source, David R. Cheriton School of Computer Science, 2019.

Ten Bradley, A Study on the Effects of Exception Usage in Open-Source C++ Systems, David R. Cheriton School of Computer Science, 2019.

Sahba Ezami, Extracting Non-Functional Requirements from Unstructured Text, David R. Cheriton School of Computer Science, 2018.

Danika Peng Zhao, Case Studies of a Machine Learning Process for Improving the Accuracy of Static Analysis Tool, David R. Cheriton School of Computer Science, 2016.

Wei Wang, Toward Improved Understanding and Management of Software Clones, David R. Cheriton School of Computer Science, 2012.

Walid Koleilat (MMath essay on run-time automated architecture conformance checking), David R. Cheriton School of Computer Science, 2008.

Alan Grosskurth, Purely Top-Down Software Rebuilding, David R. Cheriton School of Computer Science, 2006.

Lijie Zou, Toward an Improved Understanding of Software Change, School of Computer Science, 2003.

Igor Ivkovic, Enhancing Domain-Specific Software Architecture Recovery, School of Computer Science, 2002.

Davor Svetinovic, Agile Architecture Recovery, School of Computer Science, 2002.

Qiang Tu, On Navigation and Analysis of Software Architecture Evolution, School of Computer Science, 2002.

John B. Tran, Software Architecture Repair as a Form of Preventive Maintenance, Dept. of Computer Science, 1999 [co-supervised with R. C. Holt].

Ivan T. Bowman, Architecture Recovery for Object-Oriented Systems, Dept. of Computer Science, 1999 [co-supervised with R. C. Holt].

Post-doctoral fellows supervised

Cheng Zhang, 2013-2015 (now at Google Canada).

Haroon Malik, 2013-2015 (now at Marshall University, WV, USA).

Hadi Hemmati, 2012-2013 (now at University of Calgary).

Nori Yoshida, 2009 (now at Ritsumeikan University, Japan).

PhD external examiner (reverse chronologically)

William Flageol, Improving Object-Oriented Programming by Integrating Language Features to Support Immutability, Concordia University, Supervisors: Yann-Gaël Guéhéneuc, Stefan Monnier (Univ. de Montréal), Mourad Badri (UQTR), 2023.

Mariam El Mezouar, Leveraging the Social Knowledge of Software Systems to Improve the Development Process, Queen's University (Kingston, ON), Supervisor: Jenny Ying Zou, 2019.

Ştefan Stănciulescu, Systematic Reuse and Ad Hoc Forking to Develop Software Variants, IT University of Copenhagen, Supervisors: Andrzej Wąsowsi and Kasper Østerbye, 2017.

Davy Landman, Reverse Engineering Source Code: Empirical Studies of Limitations and Opportunities, Universiteit van Amsterdam, Supervisors: Paul Klint and Jurgen Vinju, 2017.

Manishankar Mondal, Analyzing Clone Evolution for Identifying the Important Clones for Management, University of Saskatchewan, Supervisors: Chanchal Roy and Kevin Schneider, 2017.

Ye Deheng, On Domain Knowledge Organization and Extraction in Software Engineering, Nanyang Technological University, Singapore, Supervisors: Nachiket Ganesh Kapre and Zhenchnag Xing, 2016.

Mona Erfani Joorabchi, Mobile App Development: Challenges and Opportunities for Automated Support, University of British Columbia (ECE), Supervisor: Ali Mesbah, 2016.

Yida Tao, Improving the Quality of Software Code Changes: Expert Knowledge Recovery and Tool Support, Hong Kong University of Science and Technology, Supervisor: Sung Kim, 2015.

Niko Schwarz, Scalable Clone Detection, University of Bern, Switzerland, Supervisor: Oscar Nierstrasz, 2014.

Sandro Schulze, Analysis and Removal of Code Clones in Software Product Lines, University of Magdeburg, Germany, Supervisor: Ina Schaefer, 2013.

Yinxing Xue, Reengineering Legacy Software Products Into Software Product Lines, National University of Singapore, Supervisor: Stan Jarzabek, 2012.

Sander Vermolen, Software Language Evolution, Delft Technical University, Netherlands, Supervisors: Arie van Deursen and Eelco Visser, 2012.

Syed Shariyar Murtaza, Finding Faulty Functions From the Traces of Field Failures, University of Western Ontario, Supervisor: Nazim Madhavji, 2011.

Rajesh Vasa, Growth and Change Dynamics in Open Source Software Systems, Swinburne University of Technology (Melbourne, Australia), Supervisor: Jean-Guy Schneider, 2010.

Chanchal Roy, Detection and Analysis of Near-Miss Software Clones, Queen's University (Kingston), Supervisor: James R. Cordy, 2009.

Coen De Roover, A Logic Meta Programming Foundation for Example-Driven Pattern Detection in Object-Oriented Programs, Free University of Brussels, Supervisor: Wolfgang De Meuter, 2009.

Hamid Abdul Basit, Analysis and Semi-Automated Detection of Design-Level Similarity Patterns in Software, National University of Singapore, Supervisor: Stan Jarzabek, 2006.

PhD committee member (non-supervisor) at University of Waterloo (reverse chronologically)

Bushra Aloraini, Towards Better Static Analysis Security Testing Methodologies, David R. Cheriton School of Computer Science, Supervisor: Mei Nagappan, 2020.

Leonardo Passos, Towards Better Understanding Variability Evolution, Dept. of ECE, Supervisor: Krzysztof Czarnecki, 2016.

Sarah Nadi, Variability Anomalies in Software Product Lines, David R. Cheriton School of Computer Science, Supervisor: Ric Holt, 2014.

Rafael Lutufo, Towards Next Generation Bug Tracking Systems, Dept. of ECE, Supervisor: Krzysztof Czarnecki, 2013.

Hamzeh Zawawy, Requirement-based Root Cause Analysis Using Log Data, Dept. of ECE, Supervisors: Kostas Kontogiannis and Paul Ward, 2012.

Thiago Bartolomei, Migration of Applications Across Object-Oriented APIs, Dept. of ECE, Supervisor: Krzysztof Czarnecki, 2012.

Mehdi Amoui Kalareh, Evolving Software Systems for Self-Adaptation, Dept. of ECE, Supervisor: Ladan Tahvildari, 2012.

Vahid Reza Karimi, Access Control Models and Policies for Pattern-based Business Processes, David R. Cheriton School of Computer Science, Supervisor: Don Cowan, 2011.

Jason Selby, Unconventional Applications of Compiler Analysis, David R. Cheriton School of Computer Science, Supervisor: Mark Giesbrecht, 2011.

Abbas Heydarnoori, Supporting Framework Use via Automatically Extracted Concept-Implementation , David R. Cheriton School of Computer Science, Supervisor: Krzysztof Czarnecki, 2009.

Michal Antkiewicz, Framework-Specific Modeling , Dept. of Electrical and Computer Engineering, Supervisor: Krzysztof Czarnecki, 2008.

P. Anne Meade Zimmer, Prioritizing Features Through Categorization: An Approach to Resolving Feature Interactions, David R. Cheriton School of Computer Science, Supervisor: Jo Atlee, 2007.

Jingwei Wu, Open Source Software Evolution and Its Dynamics, David R. Cheriton School of Computer Science, Supervisor: R. C. Holt, 2006.

Mohammad Zulkernine, Toward a Compositional Approach for Automatic Monitoring of Software Systems, Dept. of ECE, Supervisor: R. Seviora, 2003.

Ying (Jenny) Zou, Techniques and Methodologies for the Migration of Legacy Systems to Object-Oriented Platforms, Dept. of Electrical and Computer Engineering, Supervisor: K. Kontogiannis, 2003.

Kamran Sartipi, Software Architecture Recovery based on Pattern Matching, School of Computer Science, Supervisors: K. Kontogiannis and F. Mavaddat, 2003.

Bachelor's thesis supervised at University of Waterloo

Jose Segundo Muñoz, On Java Security, 2001. [Exchange student from Universidad Policnica de Valencia, Spain.]

Master of Engineering projects supervised at Cornell University

Geoffrey Hoffman, Beautify — A Configurable Java Source Code Formatter, 1998.

Eric Vitrano, Abstur — An Implementation of Abstract Data Structures in Java , 1997.

Andrew Chew, A Distributed Game Server Engine, 1997.

Undergraduate Projects Supervised at Cornell University

Aric Shafran, WASTE — A Secure Communication System in Java, 1998.


Michael W. Godfrey PhD, Professor
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
email:
URL: http://www.cs.uwaterloo.ca/~migod

Last modification: Wednesday September 13, 2006 at 17:44:24 (EDT)