William J. Bowman
William J. Bowman is an Assistant Professor is interested in making it easier for programmers to communicate their intent to machines, and preserving that intent through compilation. His recent work examines preserving machine-checked specifications and proofs through compilation and statically enforcing those invariants in the low-level (assembly-like) code.
Ivan Beschastnikh is an Assistant Professor and works at the intersection of software engineering and systems. His particular domain of interest is distributed/concurrent systems. He is especially interested in the problems of specification inference and program comprehension. His solutions usually combine program instrumentation, program analysis, and software visualization.
More details about Ivan's research can be found on his home page.
Ronald Garcia is an Associate Professor of Computer Science at the University of British Columbia. His research investigates how fundamental concepts in the theory, implementation, and practice of programming languages can improve the software development process. His research has focused on static and dynamic type-based reasoning, metaprogramming, and generic programming.
More details about Ron's research can be found on his home page.
Reid is an Associate Professor in the lab. He is broadly interested in the problems software engineers encounter as they create and evolve software systems. His research mostly involves finding novel techniques to make it easier for software developers to quickly, and correctly, evolve their software systems.
Reid's work has spanned many different domains including recommendation systems, software reuse, source code documentation, software testing, and software development environments.
More details about Reid's research can be found on his home page.
Gail's research interests are in software engineering with a particular interest in improving the productivity of knowledge workers, including software developers. Her group develops tools to aid with the evolution of large software systems and performs empirical studies to better understand how developers work and how software is developed.
More details about Gail's research can be found on her home page.
Thomas am an Associate Professor in the Department of Informatics at the University of Zurich.
In his research, he focuses on empirically studying software developers and on using personal and biometric data to improve software developers' productivity. By better understanding what software developers need, what they experience, and how they operate on a daily basis, we will be able to provide better and more tailored support to developers as well as improve their productivity and the quality of the software they produce. In particular, Thomas is interested in three areas: developer productivity, biometric sensing and information needs. Thopmas works with over 20 international companies, including ABB, Microsoft, and IBM. This research was featured in several media, including the New Yorker, the Wall Street Journal, and the New Scientist.
Giovanni Viviani (Ph.D. student)
Giovanni is the longest serving PhD student in the lab. He is broadly interested in software engineering, particularly how developer communicate between each other and how that can be used to enhance their workflow.
His current focus is exploring the possibility of identifying when developers discuss design and extract it.
More details can be found on Giovanni's home page.
Felipe Bañados Schwerter (Ph.D. student)
Felipe's research interests include Programming Languages, Type Systems, Gradual Typing, Abstract Interpretation, Formal Verification, Human Computer Interaction, Provenance, and Social Aspects of Computing.
More details can be found on Felipe's home page.
Quinn Hanam (Ph.D. candidate)
Quinn's research is at the intersection of human factors, static program analysis and machine learning. Specifically, he helps developers gain insight into how code changes affect program behaviour by investigating (1) what information developers need and how to present that information during code review, and (2) how program analysis tools can leverage large datasets of source code changes to automatically learn relevant information.
More details can be found on Quinn's home page.
Daniel Almeida (Ph.D. student)
Daniel is a Software Developer and researcher in training (aka PhD Student). His interests include software design/evolution and empirical software engineering.
He likes to spend his days drinking the elixir of life (that would be coffee, of course), coding, and reading/writing papers. His goal is to identify, understand and solve problems that come between software developers and great work being done.
More details can be found on Daniel's home page.
Arthur Marques (Ph.D. student)
Arthur is a Ph.D. student in the lab. His research interests include software engineering, software testing, and software evolution. He is currently interested in identifying/mapping knowledge snippets spread throughout software artifacts.
More details can be found on Arthur's home page.
Nico Ritschel (Ph.D. student)
Nico is a Ph.D. student that is co-supervised by Reid Holmes and Ron Garcia, doing research that is on the brink of Software Engineering and Programming Languages like language design, static analysis and program transformations. He is interested in the theoretical aspects that lay the foundation for these topics, as well as empirically measuring the impact they have on developers.
More details can be found on Nico's home page.
Nick Bradley (Ph.D. student)
Nick is a Ph.D. student in the lab. He is interested in understanding developer workflows and how they can be made more natural to interact with. His Master's thesis examined the role of conversational agents in software engineering.
Felix Grund (M.Sc. of Science in Computer Science)
Felix is currently aiming for a Master of Computer Science at the lab. He is currently focusing on supporting software developers in the process of assessing quality of existing software modules. He has a general passion for Web technology with a few years of industry experience in the field.
Xinhong (Sam) Liu (M.Sc. of Science in Computer Science)
Sam is a graduate student in the lab.
More details can be found on Sam's home page.
Anna Scholtz (M.Sc. of Science in Computer Science)
Anna is a graduate student in the lab. She is currently working on increasing the productivity of developers by detecting patterns and workflows in their application usages.
More details can be found on Anna's home page.
Jan M. Pilzer (M.Sc. of Science in Computer Science)
Jan is a graduate student in the lab. He is working on improving the focus and concentration of knowledge workers in their typical workflow.
More details can be found on Jan's home page.
Lucas Zamprogno (M.Sc. of Science in Computer Science)
Lucas is a Master's student in the lab who is working on improving our understanding of how industrial developers actually perform code review. He is doing this by bringing biometric sensing into the code review setting to understand how developers reason about the patches they are reviewing.
Chris Satterfield (M.Sc. of Science in Computer Science)
Chris is a Master's student in the lab. His current research focuses on the automatic identification and summarization of the tasks that professionals perform throughout their day. He is also interested how biometric sensors may be used to provide insights into developer productivity.
- Joshua Dunfield (Assistant Professor, Queens University, Kingston Ontario)
- Neil Ernst (SEI)
- Thomas Fritz (Assistant Professor, University of Zurich)
- Takashi Ishio (Assistant Professor, Osaka University)
- Adrian Kuhn (Airbnb)
- Emerson Murphy-Hill (Associate Professor, NC State University)
- Petri Selonen (Principal Researcher, Nokia Research)
- David Shepherd (Tasktop -> ABB)
SPL has had many wonderful students participate in the lab. Below are some with their first affiliation after graduation when known. If you are missing from this list or want your entry updated, just drop Reid an email!
- Brian de Alwis (Post-doc, U. Saskatchwan)
- John Anvik (Assistant Professor, University of Lethbridge)
- Jennifer Baldwin (University of Victoria)
- Elisa Baniassad (Instructor, University of British Columbia)
- Alex Bradley (Coho Data)
- Brett Cannon (Google)
- Rick Chern (MDA)
- Yvonne Coady (Associate Professor, University of Victoria)
- Wesley Coelho (Tasktop)
- Davor Cubranic (SAP Business Objects)
- Sam Davis (Tasktop)
- Chris Dutchyn (Associate Professor, University of Saskatchewan)
- Andrew Eisenberg (SpringSource)
- Sara Forghanizadeh
- Thomas Fritz (Assistant Professor, U. Zurich)
- Steve Gao (Blast Radius)
- Ryan Golbeck (Science Teaching and Learning Fellow, University of British Columbia)
- Stephan Gudmundson
- Jan Hannemann (Head of System Design, German National Library)
- Lyndon Hiew
- Reid Holmes (Associate Professor, University of British Columbia)
- Terry Hon
- Doug Janzen (Indicee)
- Mik Kersten (CEO and co-founder, Tasktop Technologies)
- Albert Lai (McKesson Medical Imaging Group)
- Gene Lee (Walt Disney Animation)
- Lloyd Markle
- Chris Matthews (University of Victoria)
- Ed McCormick
- Jonatan Milewski
- Ivan Minevskiy (SAP)
- Shawn Minto (Tasktop)
- Clint Morgan (Tasktop)
- Immad Naseer
- Jingwen (Owen) Ou (Elastic Path)
- Raji Rajagopalan (Microsoft)
- Martin Robillard (Professor, McGill University)
- Evgeny Roubenchtein
- Izzet Safer (IBM Toronto Software Lab)
- Jonathan Sillito (Assistant Professor, University of Calgary -> Amazon)
- Arjun Singh
- Navjot Singh (Oblong Industries)
- Robin Salkeld
- Ducky Sherwood (Atimi Software)
- Nick Sawadsky (Software Engineer, Optemo)
- C. Albert Thompson
- Maria Tkatchenko (Ciena)
- Petcharat (Apple) Viriyakattiyaporn
- Robert Walker (Associate Professor, University of Calgary)
- Linton (Lingdong) Ye
- Annie Ying (IBM Research / Ph.D. at McGill University)
- Jun Zhang
- Trevor Young (EnStream)
SPL has also welcomed many undergraduate students for Honours Theses, undergraduate directed studies, summer research projects, cooperative work terms and more. Here are some of the students who have participated in the lab.
Victor Barua, Eric Booth, Harinder Brar, Avi Bryant, Andrew Catton, Andrew Chan, Ruiyuan (Ronnie) Chen, Danita Cheng, Denise Choi, Wesley Coelho, Alison Clark, Joseph Collins-Unruh, Mirela Cukovic, Tanya Ellchuk, Taivo Evard, Thomas Fritz, Shauna Gammon, Nathan Hapke, Thad Heinrichs, Anson Ho, Reid Holmes, Harold Hsu, Katherine Irvine, Khurram Jafery, Tom Jarecki, Mik Kersten, Dominika Lacka, Alan Lai, Albert Lai, Ciaran Llachlan Leavitt, Leo Lee, Nick Lee, Robert Lee, Cynthia Lim, Julia Litke, Lindsay Mason, Tracy Mew, Shawn Minto, Kenneth Mui, Robin Newhouse, Jerilyn Ning, Leo Ping, Winnie Poon, Tanja Radeka, Robert Rekrutiak, Ekaternia Saenko, Jeff Steinbok, Derek Shimoza, Patience Shyu, Jonathan Stiansen, Ken Sueda, Erin Takeshita, Kimberely Tee, Matthew Theobald, Cristina Teodoropol, Neil Thomas, Stephanie Van Dyk, Kaili Vesik, James Williams, Dave Wilson, Albert Wong, Annie Ying, Jason Xu
- Manabu Kamimura (Fujitsu)
- Roberto Bittencourt (Federal University of Campina Grande, Brazil)
- Antonio Terceiro (Federal University of Bahia, Brazil)