The following faculty members participate in research related to computer software:
- Gordon Agnew
- William Bishop
- Mark Crowley
- Krzysztof Czarnecki
- Werner Dietl
- Sebastian Fischmeister
- Vijay Ganesh
- Wojciech Golab
- Guang Gong
- Arie Gurfinkel
- Patrick Lam
- Sagar Naik
- Rodolfo Pellizzoni
- Derek Rayside
- Rudolph Seviora (adjunct)
- Ajit Singh (adjunct)
- Ladan Tahvildari
- Lin Tan
- John Thistle
- Mahesh Tripunitara
- Paul Ward
Software systems are increasingly critical in today's civic infrastructure: software is responsible for a great number of recent technological advances, ranging from embedded systems up to Google-scale Internet infrastructure. Research in computer software aims to develop new techniques for designing and implementing software systems. Computer software makes up of part of information and communication technologies (ICT), which are widely acknowledged as an important area; Ontario's Innovation Agenda includes ICT, and ICT has consistently been a focus area for NSERC's Strategic Project Grants. Key sub-areas include operating systems, embedded systems, software engineering (particularly formal verification and static analysis), distributed systems, and computer security. The ECE department at the University of Waterloo has strength in all of these areas and continues to grow. Because of the ubiquity of computer software, visiting researchers and graduate students gain experience with cutting-edge techniques which are indispensable to today's industry. Our graduate students develop skills that enable them to work on industrial codebases at places like Google and Microsoft.