I am a Professor in the Software Practices Lab, part of the Department of Computer Science at the University of British Columbia. I am broadly interested in the problems software engineers encounter as they create and evolve software systems and finding novel techniques to improve their effectiveness at these tasks.
Software is a human product; as systems scale in size and complexity, the challenges that developers must overcome rapidly increase. I believe that by better understanding how people create, explore, evolve, and reason about software systems, we can enhance developers' effectiveness and improve the quality of their systems.
My past research projects have investigated a range of problems surrounding software testing and validation, source code reuse, code search, context-sensitive example location, API understanding, speculative analysis, code review and team awareness. A mostly current version of my CV can always be found here.
Past Affiliations
I was fortunate to spend the first half of 2022 on sabbatical with the School of Computer and Communication Sciences at EPFL in Lausanne, Switzerland.
Between 2010 and 2015 I was a member of the Software Engineering group in the School of Computer Science at the University of Waterloo.
Brief History
- Professor. 2022-present. University of British Columbia Department of Computer Science.
- Associate Professor. 2015-2022. University of British Columbia Department of Computer Science.
- Assistant Professor. 2010-2015. University of Waterloo School of Computer Science.
-
Postdoc. 2008-2010. University of Washington CSE. Hosted by David
Notkin.
Projects: Inconsistency detection and speculative analysis. -
Ph.D. 2004-2008. University of Calgary CS. Advised by Rob Walker.
Thesis title: Pragmatic Software Reuse. -
M.Sc. 2002-2004. University of British Columbia CS. Advised by Gail Murphy.
Thesis title: Using Structural Context to Recommend Source Code Examples. - B.Sc. Computer Science. 1997-2002. University of British Columbia.
Students
The best part of my job is working with students and I have been fortunate to work with a large number of exceptional people. Their ideas, enthusiasm, and drive are what make projects successful and fun to work on.
Current Students
- Gauransh Tandon (PhD student)
- Jessica Wong (PhD student; primary supervisor: Elisa Baniassad)
- Kyle Chin (MSc student)
- Phoebe Xu (MSc Student)
Past Postdocs
- Shaiful Chowdhury (Assistant Professor, University of Manitoba)
- Xin Xia (Huawei, formerly Monash University)
- Haroon Malik (Associate Professor, Marshall University)
- Cheng Zhang (Industry)
- Hadi Hemmanti (Associate Professor, York University)
Graduated Students
- Nick Bradley [PhD Thesis]
- Nico Ritschel [PhD Thesis]
- Tarcísio Teixeira [MSc Thesis]
- Katharine Kerr (Startup) [MSc Thesis]
- Shizuko Akamoto (CoPilot.AI) [MSc Thesis]
- Braxton Hall (TetraScience) [MSc Thesis]
- Noa Heyl (Stripe) [MSc Thesis]
- Syed Ishtiaque Ahmad (Royal Bank) [MSc Thesis]
- Lucas Zamprogno (Alloy) [MSc Thesis]
- Anna Scholtz (Mozilla) [MSc Thesis]
- Jan Pilzer (Microsoft) [MSc Thesis]
- Felix Grund (Lively Apps) [MSc Thesis]
- Xinhong (Sam) Liu (Amazon) [MSc Thesis]
- Rodrigo Araújo (CTO.ai) [MSc Thesis]
- Nick Bradley (PhD in progress) [MSc Thesis]
- Laura Inozemtseva (Karius) [PhD Thesis]
- Adriaan Labuschagne (RewardOps) [MMath Thesis]
- Quinn Hanam (Amazon) [MEng Thesis]
- Siddharth Subramanian (Stripe) [MMath Thesis]
- Ashar Ghani (Bentley Systems)
- Ravi Chandra Malleboina (BlackBerry)
- Olga Baysal (Faculty @ Carleton) [PhD Thesis]
- Divam Jain (Google) [MMath Thesis]
- Laura Inozemtseva (PhD) [MMath Thesis]
- Abdullah El-Sayed (Waveline Media) [MMath Thesis]
- Kimiisa Oshikoji (Symantec) [MMath Thesis]