Gias Uddin

Dr. Gias Uddin

Pronouns: He/Him


Assistant Professor

Schulich School of Engineering, Department of Electrical and Software Engineering

Contact information


Educational Background

PhD Computer Science, McGill University, 2018

MSc Computer Science, Queen's University, 2008

BSc Computer Science, Bangladesh University of Engineering and Technology (BUET), 2004


Areas of Research


Artificial Intelligence for Quality-Aware Software Engineering


Software Engineering for Machine Learning System Engineering


Course number Course title Semester
ENSF 612 LEC 01 01 Engg Lrg Scale Data Analy Sys 2020 - Present
SENG 401 LAB 01 B01 Software Architecture 2020 - Present


Autonomous and Intelligent Software Systems

SE4AI (MLSys). I study how we can efficiently design ML based software systems and operationalize those within real-world industrial needs (e.g., using low code approaches, following responsible AI principles like fairness, explainability, etc.)

AI4SE (RecSys). My research designs data-driven recommender and assistance tools for software engineering to assist in two types of software development tasks:

  • Quality Software Reuse (SR) and
  • Software Quality Maintenance (SM)

The tools aim to improve developer productivity and software quality. Emphasis is given on designing practical and usable tools for end users (developers, managers, etc.) with innovative design of user interfaces and the application of new techniques (e.g., large language models). Particular areas for which the tools are currently developed are as follows:

  • Software Library Reuse. Usage of online reviews and source code analysis to support the efficient and secure selection and reuse of software libraries like APIs (SR)
  • AIOpsUsing ML and Natural Language Processing (NLP) to automate operational workflows in software/IT teams, e.g., log data management (SM)
  • Software Documentation Management. Automatic quality assurance and creation of software library and process documentation and the on-demand usage of library documentation to support programming tasks and software quality checks (SM)
  • Modernizing Bug Management. Using ML to automate and manage bug/issue processing in modern often ultra large-scale software systems (SM)