The McGill Software Technology Lab is jointly led by Profs. Jin Guo and Martin Robillard.
We investigate how to facilitate the discovery and acquisition of crucial technical, design, and domain knowledge to support the development of complex software systems. Our research areas include automated documentation generation, software traceability, API usability, advanced programming tools, and computer science education. We work at the intersection of software engineering, artificial intelligence, and human-computer interaction.
Mathieu Nassif • Ph.D. Student I am a Ph.D. student in Computer Science at McGill University. My research focuses on the extraction, representation, and manipulation of knowledge in software systems to optimize the contribution of developers. I received my M.Sc. in Computer Science from McGill University and my B.Sc. in Mathematics from Université de Montréal. |
Deeksha Arya • Ph.D. Student Co-supervised with Jin Guo I am a PhD Student in Computer Science at McGill University (and a professional dancer!). I am interested in software documentation and its role in CS education. I'm also curious about the application of natural language processing and machine learning in software engineering research. Keep w(a/o)ndering! |
Bhagya Chembakottu • Ph.D. Student I'm currently pursuing a Ph.D. in Computer Science at McGill University, where my studies revolve around software engineering and its optimization, alongside in relation to its intersection with machine learning. I hold an M.Sc. in Computer and Software Engineering from Polytechnique Montréal. |
Ziming Wang • Master's Student I received my B.A.Sc. in Computer Engineering at University of Ottawa. My research interests are in the fields of Software Engineering and Machine Learning. |
Linh Nguyen • Master's Student I am a Master's student in Computer Science, and I received my Bachelor in Computer Science from Eindhoven University of Technology in the Netherlands. I am interested in the field of Software Engineering and Human-Computer Interaction, and I am also curious about the applications of Artificial Engineering in the research of the two mentioned fields. |
Lanese Trimmigham • Master's Student I am a Computer Science Master's student with a Bachelor's degree from the University of the West Indies, Cave Hill. During my studies, I participated in exchange programs at Queen's University and the University of Merced, California. My research interest center around software engineering and human-computer interaction. |
Artem Buyalo •
Undergraduate Research Project I am a U3 B.Sc. student at McGill (Honours Physics and Computer Science). My main interests are data analysis and software engineering. |
Jun Soo Kim •
Undergraduate Research Project I am a third year B.A. student at McGill studying Computer Science. My interest lies in Software Engineering, and I'm keen to learn about all aspects of the Software Development process. |
Vivian Li •
Undergraduate Research Project I'm a U3 undergraduate student at McGill majoring in Computer Science and minoring in Psychology. I'm interested in the field of Software Engineering. |
Tristan Stevens •
Undergraduate Research Project I am a 4th years B.Sc. student studying honours Computer Science at McGill. My research interests are in software systems and software engineering. |
Name | Period | Main Contribution | Current Position |
---|---|---|---|
Mohamed Boussaa* | 2017-2018 | Automatic Failure Localization and Diagnosis for Cloud Computing Applications | R&D Engineer at ActiveEon, France |
Christoph Treude | 2012-2015 | Extracting Development Tasks to Navigate Software Documentation | Senior Lecturer at the University of Melbourne |
Bradley Cossette | 2014-2015 | Eliciting User Interests in Reviews of Complex Products | Advanced Data Analytics and Insights Manager at General Motors |
Peter C. Rigby | 2011-2012 | Discovering Essential Code Elements in Informal Documentation | Associate Professor at Concordia University |
Name | Year | Thesis | Current Position |
---|---|---|---|
Annie Ying | 2016 | Code Fragment Summarization | Lead Data Scientist at startup EquitySim |
Barthélémy Dagenais | 2012 | Analysis and Recommendations for Developer Learning Resources | CTO & Partner at Power Go |
Ekwa Duala-Ekoko | 2012 | Using Structure-Based Recommendations to Facilitate API Learnability. | Senior Director of Engineering at Fuze |
Name | Year | Project Title |
---|---|---|
Louis-Bertrand Varin | 2022 | A Study of Language-Independent Package Management With Flatpak |
Paul Husek | 2017 | Automated Processing of Stack Overflow Posts |
Senjuti Kundu | 2017 | Relating Stereotypes and Documentation Patterns in API Documentation: A Case Study |
Mangala Gowri Krishnamoorthy | 2015 | R Helper - a Learning Resource for the R Language |
Imran Majid | 2006 | NaCIN - Tool Support for Program Navigation-Based Concern Inference |
Name | Period | Project Title |
---|---|---|
Alex Armenciu | 2023 (S) | User Tracking on Health Information Portals |
Emily Shannon | 2023 (S) | Casdoc 3.1 |
Lawrence Berardelli | 2022 (S) | Correspondence between Software Documentation Resources |
Zara Horlacher | 2021 (WSF) | Dynamic Developer Documentation |
Elby MacKenzie | 2021 (S) | Test Suite Quality Analysis |
Olivier Grenier-Leboeuf | 2020 (S) | Commenting Practices in Open Source Java Software |
Madonna Huang | 2020 (S) | Advanced Sequence Diagram Features for JetUML |
Alison Li | 2019 (SF) | Opportunistic Concept Acquisition in Programming |
Jiajun Chen | 2016-2018 | Reverse Engineering Unit Tests. "Debugging Support for Cloud Applications" |
Caroline Berger | 2017 | Programming Environment for Children |
Bejal Lewis | 2016-2017 | Tool Support for API Documentation |
Xiaoye Ding | 2016 | Reverse Engineering Unit Tests |
Sahas Leelodharry | 2016 | Comment Mining Infrastructure |
Paul Husek | 2016 | Recovering Traceability Links Between Test and Project Methods |
Devon Ochman | 2015 | TaskNav: A Search Engine Specialized for API Documentation |
Mathieu Nassif | 2013-2015 | Automatically Categorizing Software Technologies |
Kelley Zhao | 2015 | TaskNav: A Search Engine Specialized for API Documentation |
Mathieu Sicard | 2014 | TaskNav: Task-based Navigation of Software Documentation |
Marc Klocke | 2014 | TaskNav: Task-based Navigation of Software Documentation |
Joshua Liben | 2013 | Infrastructure for API Documentation Analysis |
Dwijesh Bhageerutty | 2012 | NLP Tooling for API Documentation Analysis |
Borui Zhang | 2011 | Qualyzer: A Transcript Coding Tool for Qualitative Analysis |
Luke Bayly | 2010 | Data Mining API Usage |
Jean-Benoit Chasles | 2010 | Sweviz: Software Evolution Vizualization |
Jonathan Faubert | 2010 | Qualyzer: A Transcript Coding Tool for Qualitative Analysis |
David Kawrykow | 2008-2009 | Improving API Usage through Detection of Redundant Code |
Tristan Ratchford | 2007-2009 | Automatically Recommending Triage Decisions for Pragmatic Reuse Tasks |
Jean-Rémi Desjardins | 2008 | Refactoring Awareness for ConcernMapper |
David Marple | 2008 | Tool support for Code Traceability |
Putra Manggala | 2007 | Reusing Program Investigation Knowledge for Code Understanding |
Silvia Breu | 2007 | Inferring Structural Patterns for Concern Traceability in Evolving Software |
Frédéric Weigand Warr | 2005-2006 | ConcernMapper, Suade, Inferring Structural Patterns for Concern Traceability in Evolving Software |
Ekwa Duala-Ekoko | 2006 | Tracking Code Clones in Evolving Software |
Jean-Sébastien Boulanger | 2006 | Managing Concern Interfaces |
Name | Period | Project Title |
---|---|---|
Muhammad Sohail | Fall 2023 | Investigating Test Quality: A Revision of Test Convention Consistency |
Arthus Wauquiez | Fall 2023 | Semantic Validation Based Feedback for Software Design Modeling |
Ruoyu Deng | Winter 2023 | Semantic Validation in JetUML |
Laurie Prince | Fall 2022 | Redesigning the persistence feature of JetUML with explicit validation support |
Madelyn Lecsek | Winter 2022 | Adding a Path-Planning Feature to JetUML |
Lawrence Berardelli | Winter 2022 | Testing the DScribe Test Generator |
Delphine Pilon | Fall 2021 | JetUML Performance-Oriented Design Improvements |
Yingjie Xu | Winter 2021 | JetUML 3.2 Diagram Layout Enhancements |
Yann Sartori | Winter 2021 | Label Rendering Improvements in JetUML 3.2 |
Fariha Anika | Winter 2021 | Status Bar Proof of Concept for JetUML 3.2 |
Olivier Grenier-Leboeuf | Fall 2020 | Tip of the Day Feature For JetUML 3.1 |
Madonna Huang | Winter 2020 | JetUML 2.6 |
Alexa Hernandez | Winter 2020 | Generating Unit Tests for Documentation |
Emma Guthrie | Winter 2020 | TutorialBuilder |
Asvitha Sridharan | Fall 2019 | Generating Unit Tests for Documentation |
Alison Li | Fall 2019 | Opportunistic Concept Acquisition in Programming |
Nima Adibpour | Fall 2018 | Docco: Documentation-Code Traceability Tool |
Mitchell Bears | Fall 2018 | Docco: Documentation-Code Traceability Tool |
Kaylee Kutschera | Winter 2018 | JetUML 2.0; Lessons Learned While Migrating From Swing to JavaFX |
Huanyu Zhao | Winter 2018 | Design prototype for JetUML |
Caroline Berger | Winter 2017 | JTutor: A programming tool for children |
Alexander C. | Winter 2017 | API Documentation with natural language processing |
Joel Cheverie | Winter 2015 | JetUML |
Eric Quinn | Winter 2015 | JetUML |
Dominic Charley-Roy | Fall 2014 | Reverse engineering AngularJS applications |
Ben Fisher | Winter 2014 | Design prototype for TaskNav |
Meki Cherkaoui | Fall 2010 | Preliminary study of documentation patterns |
Sevan Hanssian | Fall 2008 | Automatic analysis of software documentation |
David Kawrykow | Winter 2008 | Improving API Usage through Detection of Redundant Code |
Mohammad Usman Ahmed | Winter 2007 | Extensible Architecture for ConcernMapper |
Ph.D. Students: To do a Ph.D. under my supervision you will need a strong background and a research track record in software engineering or a related field, including a research degree (such as M.Sc.), and ideally at least one publication. To indicate your interest to work under my supervision, please fill in this form.
M.Sc. Students: First apply to the M.Sc. program and optionally send me an email to let me know you have applied (please include your application number and do not attach any document). If you plan to hold an NSERC or equivalent Canadian scholarship, please contact me before your application.
Undergraduates: The best way to inquire about opportunities for a research assistant position or self-directed project course is to enroll in one of my courses and talk to me in person. I do not currently offer internships to non-McGill students.
Postdocs:I do not have an open funded postdoc position open at the moment. If you plan to have independent funding for postdoctoral research and are interested in conducting it in my group, please contact me.