The Cheriton School of Computer Science’s Software Engineering Research Group is comprised of two research subgroups —

Group’s contact person: Joanne Atlee

Group members



The University of Waterloo has one of the largest software engineering research groups in North America, with nine faculty members whose primary research area is in software engineering, plus other faculty members whose research overlaps with software engineering. Together, our research activities cover a wide spectrum of problems of how to build, verify, modify, and maintain large, complex software systems.

Research interests

  • Requirements engineering
    Studying the economic impact of requirements engineering and requirements elicitation, including ambiguity in the natural-language requirements discovered during elicitation, creativity in requirements elicitation, elicitation of user interfaces, elicitation of user emotions that may affect system acceptability and usability, and the effect of domain knowledge or lack thereof on elicitation.
  • Software architecture and software evolution
    Studying large-scale designs of software systems through analysis of source code and other development artifacts; empirical study of how and why software systems change over time; extracting and synthesizing models of software systems and their development from various kinds of available evidence (see Software Architecture Group).
  • Model-development engineering (MDE)
    Investigating how to improve MDE-based software-development methodologies, including new and configurable modelling notations, domain-specific languages, automated analyses of software models, model transformations, and code generation.
  • Formal methods
    Using mathematical formalisms to model and analyze software designs (see Formal Methods Group)
  • Software tools and methodologies
    Studying industrial developers to identify problems they encounter in practice and finding new techniques to mitigate these difficulties. Past problems investigated include pragmatic reuse of code, code search, and change awareness.
  • Web-based systems
    Investigating new models, theories and methods for the web that support emergent forms of digital media and connectivity, and component-based applications that are dynamic, evolutionary, mobile, and context-aware. The research includes dynamic services for asset-based geomatics, multi-agent approaches, model-driven software development and evolution, software quality, semantic and context-aware applications, novel databases for digital media, mobile event-based systems, mediated context-aware social media, and web-based user interfaces.