The Computer and Software Engineering research group is actively engaged in cutting-edge research from computer architecture and systems to software engineering.

Our Research
Our Team

About our research

The Computer and Software Engineering research group is actively engaged in cutting-edge research from computer architecture and systems to software engineering. Research areas in computer architecture and systems include system-on-chip design, multiprocessor architectures and applications, high-performance computing and data center clusters, high-performance interconnects and network protocol stacks, workload characterization, and power-aware computing. Research areas in software engineering include software re-engineering & maintenance, program comprehension, reverse engineering, software transformations, business-driven software development, service-oriented architecture, security penetration testing, intrusion detection, software reliability, security engineering, and software transformation.

The Computer and Software Engineering research group has been supported in part by research grants and donations from the Natural Sciences and Engineering Research Council of Canada (NSERC), Canada Foundation for Innovation (CFI), Ontario Innovation Trust (OIT), Ontario Centres of Excellence (OCE), Ministry of Research and Innovation (MRI), Communications and Information Technology Ontario (CITO), the Consortium for Software Engineering Research (CSER), the IBM Centers for Advanced Studies (CAS), Queen's University, Research In Motion (RIM), Bell University Labs, Altera Corporation, Mellanox Technologies, and NetEffect, Inc.

Research Interests

  • Parallel and distributed processing
  • Network-based high-performance computing, cluster computing
  • High-performance networking, high-speed interconnects and communication subsystems
  • Messaging layers, runtime systems, systems software
  • Hybrid high-end systems with accelerators (GPU, Phi)
  • Parallel programming paradigms (MPI, PGAS, OpenSHMEM, OpenMP, CUDA/OpenCL, etc.)
  • Power-aware high-performance computing
  • Workload characterization
  • Advanced computer architecture
  • Benchmarking and performance evaluation