Computer software

picture of a man's hand typing on a laptop
Innovating new techniques for designing and building robust software systems that power today’s technological advancements.

Software systems are foundational to today’s civic infrastructure, driving a wide range of technological advancements—from embedded systems to large-scale Internet platforms like Google. Research in computer software focuses on developing innovative techniques for designing and implementing robust software systems.

As part of the broader field of Information and Communication Technologies (ICT), key areas of research include operating systems, embedded systems, software engineering (with an emphasis on formal verification and static analysis), distributed systems, and computer security. The Department of Electrical and Computer Engineering at the University of Waterloo excels in these fields and continues to expand its expertise.

Given the ubiquitous role of software in modern society, our visiting researchers and graduate students engage with cutting-edge techniques that are crucial in today’s tech industry. Our graduate programs equip students with the skills necessary to contribute to large-scale industrial projects, preparing them to work on major codebases at leading companies such as Google and Microsoft.

Faculty members participating in computer software research:

William (Bill) Bishop

photo of Bill Bishop

Biography

Dr. William (Bill) Bishop is the Director of Admissions for the Faculty of Engineering at the University of Waterloo, where he leads the Engineering Admissions Team in the Engineering Undergraduate Office. In this role, he oversees the processing of all applications to undergraduate engineering programs, including transfers into first-year engineering programs.

In addition to his administrative duties, Dr. Bishop is an Associate Professor, Teaching Stream, in the Department of Electrical and Computer Engineering. He teaches undergraduate courses in engineering design, digital design, and embedded systems. His research interests span engineering education, configurable computing, parallel and distributed systems, hardware and software co-design, embedded systems, and multimedia processing.

Dr. Bishop has been recognized for his outstanding contributions to teaching, research, and service. He received the Faculty of Engineering’s Unsung Hero Award in 2024 for his exceptional service. He has earned Outstanding Performance Awards in 2009, 2013, and 2020, and has twice been honored with the James A. Field Teaching Excellence Award in 2006 and 2011. In 2019, he was awarded an Ontario Volunteer Service Award for his 15 years of service with the Waterloo Wellington Science and Engineering Fair.

Dr. Bishop is a member of several professional organizations, including the Professional Engineers of Ontario (PEO), the Ontario Society of Professional Engineers (OSPE), the Canadian Engineering Education Association (CEEA), and the Institute of Electrical and Electronics Engineers (IEEE). He is also involved with the IEEE Computer, Aerospace, and Education Societies.

Research interests

  • Engineering admissions
  • Engineering education
  • Configurable computing
  • Parallel and distributed systems
  • Hardware / software co-design
  • Embedded systems
  • Image processing
  • Multimedia systems and applications

Elliot Creager

Elliot Creager

Biography

Dr. Elliot Creager is an Assistant Professor in the Department of Electrical and Computer Engineering at the University of Waterloo. He is also a Faculty Affiliate at the Vector Institute for Artificial Intelligence and the Schwartz Reisman Institute for Technology and Society.

Dr. Creager’s research spans a range of topics within machine learning, with a focus on algorithmic fairness, representation learning, and robustness. He earned his PhD from the University of Toronto, where he also interned and conducted research at Google Brain in Toronto during his graduate studies.

Research interests

  • Artificial Intelligence
  • Machine Learning
  • Out-of-distribution Robustness
  • Algorithmic Fairness
  • Representation Learning
  • Sequential Decision Making
  • Causal Inference

Mark Crowley

Mark Crowley

Biography

Mark Crowley is an Associate Professor in the Pattern Recognition and Machine Intelligence group in the Department of Electrical and Computer Engineering at the University of Waterloo. He received his Ph.D. and M.Sc. in Computer Science from the University of British Columbia working in the Laboratory for Computational Intelligence, and a B.A. in Computer Science from York University in Toronto. He did a postdoc at Oregon State University working with Tom Dietterich’s machine learning group.

Dr. Crowley's research focusses on algorithms, tools and theory at the intersection of Machine Learning, Optimization and Probabilistic Modelling. In particular he is interested in the challenges for traditional machine learning and optimization algorithms that arise in domains with spatial dynamics and very large amounts of data. He often works in collaboration with researchers in other fields such as sustainable forest management, ecology and resource economics. He is an active part of building the interdisciplinary Computational Sustainability research community and blogs on this topic as well as democratic reform and the impact of AI technology on society.

Research interests

  • Artificial Intelligence
  • M​achine ​Learning
  • Reinforcement Learning
  • D​ecision-making ​under​ uncertainty
  • Probabilistic ​G​raphical ​M​odels
  • Causal Modeling
  • B​ig ​D​ata ​A​nalytics
  • ​O​ptimization
  • ​G​ame ​T​heory
  • Autonomous Driving
  • Medical Imaging
  • AI for Science
  • Material Design
  • AI for Video Games

Krzysztof Czarnecki

Photo of Krzysztof Czarnecki

Biography

Dr. Krzysztof Czarnecki is a Professor in the Department of Electrical and Computer Engineering at the University of Waterloo, with a cross-appointment to the School of Computer Science. He is the leader of the Waterloo Intelligent Systems Engineering Lab.

Dr. Czarnecki’s research focuses on generative software development. His expertise encompasses model-driven software engineering, including software product lines, variability modeling, consistency management, bi-directional transformations, and example-driven modeling.

He previously held the NSERC Bank of Nova Scotia Industrial Research Chair in Requirements Engineering for Service-Oriented Software Systems. Dr. Czarnecki is also the co-author of the book Generative Programming (Addison-Wesley, 2000), which explores automating software component assembly using domain-specific languages.

Throughout his career, Dr. Czarnecki has received several prestigious awards, including the Premier’s Research Excellence Award in 2004 and the British Computing Society’s Upper Canada Award for Outstanding Contributions to the IT Industry in 2008. In 2023, he was honored with a University Research Chair at the University of Waterloo.

Research interests

  • Generative programming
  • Model-based development
  • Software system families and product lines
  • Software design
  • Computer Engineering
  • Software Engineering
  • Autonomous and connected cars
  • Automotive
  • Cybersecurity
  • Infrastructure integrity

Werner Dietl

Werner Dietl

Biography

Dr. Werner Dietl is an Associate Professor in the Department of Electrical and Computer Engineering at the University of Waterloo. His research focuses on safe and productive software development, combining theoretical insights with practical tools to help developers create high-quality, trustworthy software and minimize the impact of software defects. Dr. Dietl works at the intersection of programming languages, software engineering, verification, security, and systems, collaborating with experts in these areas to address the complex challenges in modern software development.

Research interests

  • Programming languages
  • Software engineering
  • Software correctness and robustness
  • Dependability
  • Cybersecurity
  • Internet of Things

Sebastian Fischmeister

Sebastian Fischmeister

Biography

Dr. Sebastian Fischmeister is a Professor in the Department of Electrical and Computer Engineering and cross-appointed to the Cheriton School of Computer Science at the University of Waterloo.

Dr. Fischmeister performs systems research at the intersection of software technology, distributed systems, and formal methods. His preferred application area includes distributed real-time embedded systems in the domain of automotive systems, avionics, and medical devices. Key highlights of his research include a framework for scalable location-based pervasive computing systems and tree communication schedules for verifiable but flexible real-time communication. A slightly modified version of his real-time communication framework has been used for the plug-and-play demonstration of medical devices and to promote the ASTM F29.21 standard. He is now working on (a) information extraction of time-sensitive systems, (b) using data analytics of extracted information for system validation and security, (c) runtime monitoring of safety-critical systems, and (d) reliable and robust performance evaluation of embedded systems.

Research interests

  • Real-time Systems
  • Embedded Systems
  • Software Technology
  • Embedded Networking
  • Computer Engineering
  • Software Engineering
  • Autonomous Vehicles
  • Autonomous and Connected Cars
  • Big Data/Analytics
  • Sensors and Devices
  • Safety-Critical Systems
  • Automotive
  • Operational Artificial Intelligence
  • Robotics
  • Cybersecurity
  • Infrastructure Integrity
  • Network Security
  • Operational Security

Wojciech Golab

Wojciech Golab

Biography

Dr. Wojciech Golab is a Professor in the Department of Electrical and Computer Engineering at the University of Waterloo.

His research interests include parallel and distributed data structures, scalable in-memory storage and transaction processing, relaxed and eventual consistency models, synchronization algorithms for multi-core computers, distributed computing theory and cloud computing.

ACM Computing Reviews listed one of Dr. Golab's papers on shared memory algorithms among 91 others in the "notable computing items published in 2012". He has also received research sponsorship from Hewlett-Packard Labs, Google, and Cisco.

Research interests

  • Algorithms
  • Big data analytics
  • Blockchain
  • Cloud computing
  • Concurrency
  • Data structures
  • Dependability
  • Distributed systems
  • Energy-efficient computing
  • Fault tolerance
  • Internet of Things
  • Multi-core systems
  • Parallelism
  • Persistent memory
  • Relaxed consistency models
  • Scalability
  • Shared memory
  • Storage systems
  • Theory and complexity
  • Transaction processing

Guang Gong

Guang Gong

Biography

Dr. Guang Gong is a Professor in the Department of Electrical and Computer Engineering at the University of Waterloo and a former University Research Chair. She is an IEEE Fellow with a distinguished research portfolio spanning multiple domains, including cryptography, security, and wireless communications.

Her research focuses on the design and implementation of lightweight cryptographic systems, cryptography and cryptanalysis, as well as the security and privacy of Internet-of-Things (IoT) devices, blockchain-based IoT security, and privacy-preserving machine learning. Dr. Gong also explores security in cloud and network environments, ad-hoc networks, RFID systems, wireless security, multimedia security, and physical layer security.

Additionally, her work extends to signal design for wireless communications, including Code Division Multiple Access (CDMA), Orthogonal Frequency-Division Multiplexing (OFDM), and Multiple-Input Multiple-Output (MIMO) systems.

In 2005, Dr. Gong, in collaboration with former Ph.D. student Yassir Nawaz, proposed the WG stream cipher family, known for its unique randomness properties that distinguish it from other ciphers. More recently, she and Professor Mark Aagaard have implemented lightweight instances of this cipher (WG-5, WG-7, WG-8) in hardware to secure RFID systems and embedded devices. In February 2019, Dr. Gong’s team submitted four lightweight cryptographic schemes—ACE, SPOC, SPIX, and WAGE—to the NIST Lightweight Cryptography (LWC) competition.

Dr. Gong’s pioneering work continues to shape the fields of cryptography, security, and wireless communications.

Research interests

  • Pseudorandom Sequence Generation
  • Implementation of Lightweight Cryptographic Systems
  • Lightweight Cryptography
  • Cryptography and Cryptanalysis
  • Security Algorithms and Protocols
  • Security and Privacy of IoT, Blockchain, and Cyber-Physical Systems
  • Privacy-Preserving Machine Learning
  • Wireless Communications/Networking
  • Cross-Layer and Physical Layer Security

Arie Gurfinkel

Professor Arie Gurfinkel

Biography

Dr. Arie Gurfinkel is a Professor in the Department of Electrical and Computer Engineering at the University of Waterloo, with a cross appointment at the Cheriton School of Computer Science. 

His research focuses on addressing the challenges associated with developing, testing, and verifying complex computer systems. As computer systems become increasingly smaller, faster, more pervasive, mobile, and interconnected, ensuring their correctness is vital. Dr. Gurfinkel’s work aims to automate and improve the process of developing reliable systems.

Research interests

  • Automated Program Analysis
  • Software Model Checking
  • Automated Reasoning
  • Abstract Interpretation

Ziqiang Patrick Huang

Ziqiang Patrick Huang

Biography

Ziqiang Patrick Huang is an Assistant Professor, Teaching Stream in the Department of Electrical and Computer Engineering at University of Waterloo. His research interest is in high-performance and power-efficient computer architecture. His work spans the area of compiler performance optimization and runtime system design for resource allocation. He received his PhD in Computer Engineering from Duke University in 2019, and he has worked as a research intern in the Architecture Research Team at Arm.

Research interests

  • Computer Architecture
  • Software\/Hardware Co-design

Amir-Hossein Karimi

Professor Amir-Hossein Karimi

Biography

Dr. Amir-Hossein Karimi is an Assistant Professor in the Department of Electrical and Computer Engineering at the University of Waterloo, and a Faculty Affiliate at the Vector Institute. Before joining Waterloo, he gained extensive industry experience at Meta, Google Brain, and DeepMind, and provided AI consulting services to various startups and incubators.

Dr. Karimi’s research aims to advance the field of artificial intelligence while fostering trustworthy human-AI collaboration. His work explores AI systems that can recover from or amend poor decisions, evaluates AI safety, factuality, and ethics to build trust, and investigates effective ways to combine human and machine strengths. His research spans the intersection of causal inference, explainable AI, and program synthesis.

His work has been featured at leading AI and ML conferences such as NeurIPS, ICML, AAAI, AISTATS, ACM-FAccT, and ACM-AIES. Dr. Karimi has received recognition for his contributions to algorithmic recourse through spotlight and oral presentations, a book chapter, and a well-regarded survey paper published in ACM Computing Surveys.

Research interests

  • Artificial intelligence
  • Machine learning
  • Explainable AI
  • Causal inference
  • Algorithmic Recourse
  • Counterfactual Explanations
  • Program Synthesis
  • Human-Machine Teaming
  • Human-Machine Collaboration

Patrick Lam

Patrick Lam

Biography

Dr. Patrick Lam is an Associate Professor in the Department of Electrical and Computer Engineering at the University of Waterloo, with a cross-appointment to the Cheriton School of Computer Science.

Dr. Lam’s research spans several areas, including static program analysis, verifiable software specifications, data mining, renewable energy, and software engineering. His work aims to help developers link high-level designs to low-level implementations, primarily through the use of programming language extensions (patricklam.ca).

He has received multiple research grants from the Natural Sciences and Engineering Research Council of Canada (NSERC), including the NSERC Engage Grant in 2013, worth $25,000, and an ongoing NSERC Discovery Grant (2013–2018), valued at $20,000 per year.

Dr. Lam has been recognized for his influential paper, "Soot – A Java Optimization Framework", which was awarded the First Decade High Impact Paper recognition at the Centre for Advanced Studies Conference hosted by IBM in 2010. In addition, he has published numerous other works across various sources.

Research interests

  • Program Verification
  • Static Analysis
  • Specification Languages
  • Program Understanding
  • Pointer Analysis
  • Compilers
  • Lightweight Specifications
  • Verifiable Domain-Specific Languages
  • Software Engineering
  • Verifiable Software Specifications
  • Infrastructure Integrity

Sagar Naik

Professor Sagar Naik

Biography

Dr. Kshirasagar (Sagar) Naik is a Professor in the Department of Electrical and Computer Engineering at the University of Waterloo. He has been a member of IEEE since 1994.

Dr. Naik’s research interests include computer network protocols, wireless and mobile communication systems, sensor networks, peer-to-peer networks, cognitive radio systems and energy efficiency in handheld devices and data centers. His work also covers delay-tolerant networks, body-area networks, mHealth (mobile health) and eHealth applications, vehicular networks, and intelligent transportation systems.

Research interests

  • Mobile and Ad Hoc Networks
  • Low Power Software
  • Optical Networks
  • Communication & Information Systems
  • Mobile Communication and Computing
  • Sensor Networks / AMR
  • Energy-Cost Modeling of Wireless Applications
  • Green Applications of Information Technology
  • Intelligent Transportation Systems
  • Distributed and Network Computing
  • Multimedia Synchronization
  • Testing Communication Protocols
  • Connectivity and Internet of Things (IoT)
  • Cybersecurity
  • Infrastructure and Integrity
  • IoT Devices
  • Application Domains
  • Networking and Data
  • Dependability and Security

Chrystopher Nehaniv

Chrystopher Nehaniv

Biography

Dr. Chrystopher Nehaniv is a full professor in the Departments of Systems Design Engineering and Electrical and Computer Engineering at the University of Waterloo, a position he has held since August 2018. A mathematician, computer scientist, and complex adaptive systems researcher, Dr. Nehaniv is also affiliated with the University of Hertfordshire in the United Kingdom, where he previously served as Director of the Centre for Computer Science & Informatics Research. There, he led research in the Algorithms, Adaptive Systems, and Wolfson Royal Society Biocomputation Research Groups as a Professor of Mathematical and Evolutionary Computer Sciences.

Before moving to Canada, Dr. Nehaniv was a full professor at the University of Aizu in Japan and held visiting professorships in Mathematics at Ibaraki National University, Japan, and the Institute for Mathematics & Informatics at the University of Debrecen, Hungary. He was also a post-doctoral research fellow and lecturer in Mathematics at the University of California, Berkeley.

Dr. Nehaniv is the founder of the Waterloo Algebraic Intelligence & Computation Laboratory (WAICL) and, alongside Dr. Kerstin Dautenhahn, co-founded the University of Waterloo's Social and Intelligent Robotics Research Laboratory (SIRRL). He is a member of the Waterloo AI Institute and serves on the steering committee of the Waterloo Institute for Complexity and Innovation (WICI).

An active contributor to the academic community, Dr. Nehaniv is an Associate Editor for BioSystems, IEEE Transactions on Cognitive and Developmental Systems, Interaction Studies, and Complexity. He previously served as Topic Editor-in-Chief for The International Journal of Advanced Robotic Systems in the areas of AI Robotics and Human-Machine/Robot Interaction. He has been involved with the IEEE Task Force for Artificial Life and Complex Adaptive Systems since its inception in 2003, serving as Chair from 2012 to 2018 and as Vice Chair since 2018. He is also a member of the IEEE Cognitive and Developmental Systems Technical Committee (2019-present) of the IEEE Computational Intelligence Society.

Research interests

  • Algebraic Methods in Algorithms & Applications
  • Artificial Intelligence
  • Artificial Life & Complex Adaptive Systems
  • Algebra & Discrete-Event Dynamical Systems:
  • Automata, Permutation Groups, Transformation Semigroups, Interaction Machines, Models of Time
  • Systems Biology & Neuroscience: Mathematical & Computational Methods
  • Gene-Regulatory Networks & Differentiated Multicellularity
  • Interactive Systems Design
  • Cognitive Architectures for AI Robotics
  • Enactive Experiential & Temporally Extended Intelligence
  • Evolvability
  • Cognitive\/Social\/ Skill & Linguistic Development in Animals & Artifacts
  • Dynamic Networks
  • Whole-Part Relations\/Natural Subsystems
  • Global Hierarchical Coordinate Systems for Understanding\/Prediction\/Manipulation in STEM

Rodolfo Pellizzoni

Rodolfo Pellizzoni

Biography

Rodolfo Pellizzoni is a Professor in the Department of Electrical and Computer Engineering at the University of Waterloo.

His main research focus is the development of new hardware and software architectures for Cyber-Physical Systems - the next generation of high-performance, safety-critical embedded systems. Due to the requirements imposed by these systems in term of performance, safety and timing predictability; it is a multidisciplinary effort involving embedded system architecture and hardware/software co-design, real-time resource management, timing analysis and operating systems.

In addition to his research work, Dr. Pellizzoni has published over 50 refereed journal articles, refereed conference proceedings, workshop publications and technical reports.

Research interests

  • Embedded Systems Architectures
  • Cyber-Physical Systems
  • Real-Time Operating Systems and Resource Management
  • Autonomous and Connected Car
  • Connectivity and Internet of Things (IoT)
  • Automotive
  • Cybersecurity
  • Infrastructure Integrity
  • IoT Devices
  • Dependability and Security

Derek Rayside

Derek Rayside

Biography

Derek Rayside is an Associate Professor in the Department of Electrical and Computer Engineering and is cross-appointed to the School of Computer Science at the University of Waterloo. He is the Faculty Advisor for Watonomous, the autonomous vehicle student design team in the SAE AutoDrive Challenge. Professor Rayside also taught the inaugural SE Ideas Clinic Activity in the Fall 2018 term.

His research interests include software engineering, lightweight formal methods, visualization, verification, specification, programming languages, static and dynamic program analysis, and software design extraction or reverse engineering. Additionally, Professor Rayside’s interests also include: engineering design – comprised of decision support, design evolution and multi-objective optimization, autonomous vehicles, and blockchain, specifically verification of Smart Contracts.

He has published in venues such as the ACM/IEEE International Conference on Software Engineering (ICSE), the ACM/IEEE International Conference on Automated Software Engineering (ASE), the International Conference on Abstract State Machines, Alloy, B, TLA, VDM, and Z (ABZ), and the ACM International Conference on Generative Programming: Concepts & Experience (GPCE).

Research interests

  • Software engineering
  • debugging
  • lightweight formal methods
  • visualization
  • verification
  • specification
  • programming languages
  • static and dynamic program analysis
  • software design
  • extraction\/reverse engineering
  • Engineering Design
  • decision support
  • design evolution
  • multi-objective optimization
  • Cybersecurity
  • Infrastructure integrity
  • autonomous vehicles
  • blockchain, specifically verification of Smart Contracts

Tahsin Reza

Professor Tahsin Reza

Biography

Dr. Tahsin Reza is an Assistant Professor in the Department of Electrical and Computer Engineering at the University of Waterloo. Before joining Waterloo, he was a member of the research staff at the Center for Applied Scientific Computing at Lawrence Livermore National Laboratory in California.

Dr. Reza’s research interests lie broadly in the area of parallel and distributed software systems. He focuses on developing systems techniques at both the application and middleware levels to address contemporary and emerging data-intensive challenges that require scalable and timely solutions. His work aims to build performant and scalable, yet sustainable systems, that leverage cutting-edge distributed platforms, hardware accelerators, distributed communication and memory technologies. Dr. Reza’s research has been published in prestigious computer science journals, including ACM Transactions on Computing (TOPC), IEEE Transactions on Parallel and Distributed Systems (TPDS), and Elsevier Journal of Parallel and Distributed Computing (JPDC), and showcased at competitive venues such as ACM SIGMOD, IEEE/ACM SC, IEEE IPDPS, IEEE BigData, and IEEE Cluster.

Research interests

  • Parallel and Distributed Computing
  • Multi-core and GPU Computing
  • Distributed Middleware
  • High-Performance Network Protocols
  • Large-scale Data Systems
  • Big Data Analytics
  • Graphs and Unstructured Data
  • Systems Solutions for Scalable Machine Learning

Weiyi (Ian) Shang

Biography

Dr. Weiyi (Ian) Shang is an Associate Professor in the Department of Electrical and Computer Engineering at the University of Waterloo.

Dr. Shang’s research focuses on software engineering, with particular interest in: ultra-large-scale systems., software log mining, empirical software engineering, mining software repositories, and performance engineering.

Research interests

  • Software Engineering for Ultra-Large-Scale Systems
  • Software Log Mining
  • Empirical Software Engineering
  • Mining Software Repositories
  • Performance Engineering

Ladan Tahvildari

Professor Ladan Tahvildari

Biography

Dr. Ladan Tahvildari is a Professor in the Department of Electrical and Computer Engineering at the University of Waterloo. She is also a Visiting Scientist at the Centre for Advanced Studies at the IBM Toronto Laboratory and a member of CSER, the Canadian Consortium for Software Engineering Research.

Dr. Tahvildari’s research focuses on software engineering, with particular emphasis on software architecture, autonomic computing, security, and software analysis and testing. Her work aims to develop techniques and tools that facilitate the construction, analysis, and maintenance of large-scale software systems. In 2004, she founded the Software Technologies Applied Research Laboratory at the University of Waterloo. Through her research, she has published widely and collaborated with high-tech companies and non-profit organizations to ensure the real-world impact of her contributions. Her accomplishments have been recognized with several awards, including the prestigious Ontario Early Researcher Award.

Dr. Tahvildari is an active member of the Association for Computing Machinery (ACM), the IEEE, and the ACM Special Interest Group on Software Engineering (SIGSOFT). She has served in various leadership roles, including as an elected Member-at-Large for the IEEE Technical Council of Software Engineering (TCSE) from 2016 to 2018, and as the TCSE Awards Chair in 2018. She is currently a Member-at-Large of the IEEE Technical Activities Committee (TAC). Dr. Tahvildari has contributed to numerous international conferences, serving as Publications Chair for ICSE’19 in Montreal and Co-Chair for the ICSME’17 Most Influential Paper Awards in Shanghai. She also has over 10 years of experience as Chair of the IEEE Women in Engineering (WIE) Affinity Group, Kitchener-Waterloo Section. In recognition of her leadership in the field, Dr. Tahvildari was recently elected to the IEEE Computer Society's Board of Governors. Dr. Tahvildari is a Fellow of the Canadian Academy of Engineering.

Research interests

  • Software Architecture
  • Autonomic Computing
  • Security
  • Software Analysis and Testing

John Thistle

Biography

Dr. John Thistle is an Associate Professor in the Department of Electrical and Computer Engineering at the University of Waterloo. He is a member of the Waterloo Formal Methods (WatForm) research group, which focuses on applying formal methods to hardware design and software engineering.

Dr. Thistle’s research interests include the control of discrete event systems, as well as the formal synthesis and verification of such systems, and applications to software development. He is particularly focused on the decidability and complexity of synthesizing both centralized and distributed controllers. His work has applications in traditional control engineering as well as in the design of distributed software systems.

Research interests

  • Control of Discrete Event Systems
  • Formal Synthesis and Verification of Discrete Event Systems
  • Software Development
  • Communication & Information Systems
  • Cybersecurity
  • Infrastructure Integrity

Mahesh Tripunitara

Professor Mahesh Tripunitara

Biography

Dr. Mahesh V. Tripunitara is a Professor in the Department of Electrical and Computer Engineering at the University of Waterloo. He has had previous industry experience, including four years in software development in Silicon Valley, and three years in research with the Security and Privacy Technology Lab at Motorola's corporate R&D Labs.

Since 2013, Dr. Tripunitara has been a Program Committee member at conferences such as the ACM Conference on Computer and Communications Security (CCS), the ACM Conference on Data and Application Security and Privacy (CODASPY), and the ACM Symposium on Access Control Models and Technologies (SACMAT).

Dr. Tripunitara’s main research area of interest is information security, and his projects involve both fundamental and applied aspects. He has completed work in authorization and access control, cryptographic key transport, secure payments, usable security, and security and reliability of computer hardware.

Dr. Tripunitara has written and published many papers, including Securing Computer Hardware Using 3D Integrated Circuit (IC) Technology and Split Manufacturing for Obfuscation, which won the Best Student Paper award at the 22nd Usenix Security Symposium, and Least-Restrictive Enforcement of the Chinese Wall Security Policy, co-written with his Ph.D. graduate Alireza Sharifi, which won the Best Paper Award at the 18th ACM SACMAT.

Research interests

  • Computer & Software Engineering
  • Information Security
  • Authorization and Access Control
  • Cryptographic Key Transport
  • Secure Payments
  • Usable Security
  • Security and Reliability of Computer Hardware
  • Connectivity and Internet of Things (IoT)
  • Cybersecurity
  • Application Security
  • Privacy and Cryptography
  • Information Security
  • IoT
  • Dependability and Security

Kami Vaniea

Professor Kami Vaniea

Biography

Dr. Kami Vaniea is an Associate Professor in the Department of Electrical and Computer Engineering at the University of Waterloo. Her research focuses on the human factors related to security and privacy. The aim of her work is to improve the accessibility of security and privacy technologies for a diverse group of users, including end users, developers, and system administrators. Dr. Vaniea's recent projects include developer-centered privacy, dynamic phishing advice, bystander privacy in smart speakers, understanding barriers to software update installations, and addressing misconceptions about Twitter's privacy settings.

Research interests

  • Usable Security and Privacy
  • Cybersecurity
  • Human-Computer Interaction
  • Information Security
  • Authorization and Access Control
  • Internet of Things
  • System Administration

Paul Ward

Professor Paul Ward

Biography

Paul Ward is an Associate Professor in the Department of Electrical and Computer Engineering at the University of Waterloo. He is also a faculty fellow at the IBM Centre for Advanced Studies.

Professor Ward’s expertise lies in the area of distributed systems and computer networks. In distributed computing, his work focuses on distributed-application management, and more generally on dependable and self-managing distributed systems, with a recent focus on fault detection and diagnosis in Web Services. Professor Ward’s work in networks focuses on raising the abstraction level of the network from one of packet delivery to a service-oriented network, specifically concentrating on problems of service discovery, and the problem of semantic coupling, both of functional and non-functional attributes. He has also studied problems of capacity and fairness in wireless mesh networks and routing in delay-tolerant networks.

Professor Ward co-holds two patents; ‘Brokering Web Mobile Services’ which provides a novel mobile web services discovery method that is capable of fulfilling the requirements from both the clients and providers. His second patent is a ‘Method for Solving Application Failures using Social Collaboration’ in which a computer-implemented method, system and computer usable program code for solving an application failure using social collaboration are provided.

Research interests

  • Distributed Systems Management
  • Dependable Distributed Systems
  • Autonomic Computing
  • Peer-to-Peer Computing
  • Wireless Mesh Networks
  • Mobile Ad Hoc Networks
  • Communication Systems
  • Information Systems
  • Computer Engineering
  • Software Engineering
  • Connectivity and Internet of Things (IoT)
  • IoT Devices
  • Application Domains
  • Communications and Access
  • Networking and Data
  • Dependability and Security

Seyed Majid Zahedi

Seyed Majid Zahedi

Biography

Dr. Seyed Zahedi is an Assistant Professor in the Department of Electrical and Computer Engineering at the University of Waterloo. His research focuses on the intersection of computer architecture, computer systems, and theoretical computer science.

Research interests

  • computer architecture
  • computer systems
  • theoretical computer science

Jialu Zhang

Jialu Zhang

Biography

Jialu Zhang is an Assistant Professor in the Department of Electrical and Computer Engineering at the University of Waterloo.

His research combines Large Language Models (LLM), Programming Languages and Software Engineering to develop practical tools for automatically preventing, detecting, and repairing crucial errors in programs, with minimum to no human effort.

Research interests

  • Machine-Aided Programming
  • Automated Feedback Generation for CS Education
  • Programming Languages
  • Software Engineering

Adjunct faculty members participating in computer software research:

Vijay Ganesh (Adjunct)

Biography

Dr. Vijay Ganesh is a Professor of Computer Science at the Georgia Institute of Technology. Prior to joining Georgia Tech in 2023, he was an Associate Professor at the University of Waterloo from 2012 to 2023 and a Research Scientist at the Massachusetts Institute of Technology from 2007 to 2012. He completed his PhD in Computer Science at Stanford University in 2007.

Dr. Ganesh’s primary research focuses on the theory and practice of SAT/SMT solvers and their applications in artificial intelligence, software engineering, security, mathematics, and physics. He has played a key role in developing several influential SAT/SMT solvers, including STP, Z3str4, AlphaZ3, MapleSAT, and MathCheck. In addition to his work on solvers, Dr. Ganesh has made significant contributions to decidability and complexity results in first-order theories. More recently, his research has expanded to explore the intersection of learning and reasoning, particularly using machine learning to enhance solver efficiency and leveraging solvers to improve the trustworthiness, security, and robustness of AI systems.

Dr. Ganesh has received over 30 awards, honors, and medals for his research, including an ACM Impact Paper Award at ISSTA 2019, an ACM Test of Time Award at CCS 2016, and a Ten-Year Most Influential Paper citation at DATE 2008.

Research interests

  • SAT/SMT solvers and higher-order provers
  • Software engineering
  • Formal methods
  • Automated testing
  • Program analysis
  • Computer security
  • Mathematical logic
  • Foundations of mathematics

Ajit Singh (Adjunct)

Ajit Singh

Biography

Dr. Ajit Singh is an Adjunct Associate Professor in the Department of Electrical and Computer Engineering at the University of Waterloo.

Dr. Singh's expertise lies in network-centric computing, parallel processing, and distributed systems. His research focuses on topics such as parallel computing with workstation clusters, simulating networks of superscalar processors, and debugging for parallel and distributed systems. He also specializes in performance debugging and visualization for parallel applications, as well as creating programming environments for developing large, fault-tolerant distributed systems.

Dr. Singh is the co-founder of Slipstream™, a technology company that is now a subsidiary of Research In Motion (RIM). Slipstream™ delivers high-performance acceleration, compression, and network optimization technologies for dial-up, fixed wireless, and broadband networks.

In addition to his academic and entrepreneurial work, Dr. Singh has provided consulting services to prominent companies, including IBM Canada, ISOPIA (acquired by Sun Microsystems), Bell Canada, Nortel, and Research In Motion.

Research interests

  • Parallel and Distributed Programming Models
  • Multiprocessor Architectures
  • Debugging in Parallel and Distributed Systems
  • Parallelism in I/O and Databases
  • Computer & Software Engineering
  • Database Systems
  • Network-Centric Computing
  • Software Architecture and Design

Lin Tan (Adjunct)

Professor Lin Tan

Biography

Lin Tan is an Adjunct Associate Professor in the Department of Electrical and Computer Engineering at the University of Waterloo. She earned her Ph.D. from the University of Illinois at Urbana-Champaign.

Dr. Tan serves as an Associate Editor for IEEE Transactions on Software Engineering (2017-present) and as an Editor for the Springer Empirical Software Engineering Journal (2015-present). She has also been the program co-chair for MSR 2017, ICSE-NIER 2017, and ICSME-ERA 2015. Her co-authored papers have earned notable accolades, including the ACM SIGSOFT Distinguished Paper Award at MSR 2018, FSE 2016, and IEEE Micro's Top Picks in 2006.

Dr. Tan has received several prestigious awards, including the NSERC Discovery Accelerator Supplement Award, the Ontario Early Researcher Award, the Ontario Professional Engineers Award — Engineering Medal for Young Engineer, the University of Waterloo Outstanding Performance Award, two Google Faculty Research Awards, and the IBM CAS Research Project of the Year Award.

Research interests

  • Software engineering
  • Software reliability
  • Defect detection and repair