• Prospective
    • General Info
    • Why CS?
    • CEGEP
    • Freshman
    • Choosing a Major
    • Transfer
    • Internship
    • Admission
    • Undergraduate
    • Graduate
  • Academic
    • Undergraduate
    • Graduate
    • Courses
    • Funding
  • Research
    • Areas
    • Labs
    • Tech Reports
    • Publications
  • People
    • Faculty
    • Staff
    • Community
  • News
    • Academic Positions
    • Achievements
    • Events
    • Colloquia
    • Seminars
    • Notices
    • Alerts
    • Job Postings
    • Research Postings
  • About
    • Contacts
    • Facilities
    • Academic Positions
    • Quick Links
    • Visitor Form
    • Room Reservation
    • Webmail
    • Old Website
    • Add Content
    • Internal
    • Docs
    • Admin Info
    • Tech Support
  • Prospective
    • General Info
    • Why CS?
    • CEGEP
    • Freshman
    • Choosing a Major
    • Transfer
    • Internship
    • Admission
    • Undergraduate
    • Graduate
  • Academic
    • Undergraduate
    • Graduate
    • Courses
    • Funding
  • Research
    • Areas
    • Labs
    • Tech Reports
    • Publications
  • People
    • Faculty
    • Staff
    • Community
  • News
    • Academic Positions
    • Achievements
    • Events
    • Colloquia
    • Seminars
    • Notices
    • Alerts
    • Job Postings
    • Research Postings
  • About
    • Contacts
    • Facilities
    • Academic Positions
    • Quick Links
    • Visitor Form
    • Room Reservation
    • Webmail
    • Old Website
    • Add Content
    • Achievement
    • Event
    • Notice
    • Slide
    • Docs
    • Admin Info
    • Tech Support

research@cs

CS welcomes new faculty member

Computer Games Lab

efficient and playable game implementations / Modelling and analyzing different facts of game structure

Designing and modelling an agent comparable in size and complexity to a commercial AI using to formalism of layered statecharts. As a reference point, looked at the behaviour tree of Halo and reconstructed it using the new approach.
Aims to model computer narratives and develop analysis techniques for detecting narrative flaws and other narrative properties, currently built around an investigation of Interactive Fiction as a relatively pure source of game narratives.
Using a World of Warcraft client-side plugin created to record data about players' progress through a cooperative scenario and analyzing the data, the level of difficulty can be quantified in order to design scalable and adaptable scenarios to challenge players.

Professors Bettina Kemme , Jörg Kienzle , Clark Verbrugge

Network Dynamics Lab

Measuring and predicting complex systems

Organizations, governments, and companies are interested in understanding the people in groups they’re interacting with. We're developing new techniques for inferring the demographics of physical populations using data from online networks like Twitter and Facebook.
Grow, decay, and dissipate. We're interested in observing and measuring these processes using computational and mathematical models. We hope that such knowledge aids in building more vibrant, constructive societies.
Despite the complex biochemical processes at work in cells, you can mess with a cell's DNA, douse it in toxins, and expose it to extreme temperatures and it will survive. We're working to uncover aspects of cellular design that evolution has used to make living systems so resilient.

Professor Derek Ruths

Distributed Simulation Lab

Synchronization techniques / Load-balancing algorithms / VLSI simulation / Astrophysics simulation

Developing a parallel environment for gate level simulation which incorporates our research on synchronization and load-balancing algorithms, with the intention to focus on the use of multi-core architectures, GPUs, and embedded circuit simulation.
Studying the motion of particles under the influence of their mutual gravitational attraction, making use of direct methods for the solution of the equations of motion and parallel discrete-event simulation instead of continuous simulation.
Integrating continuous and discrete event paradigms to provide a new and powerful approach to the simulation problems of continuous simulations such as those for astrophysics and weather, using reverse computation as a key component.

Professor Carl Tropper

Computational Structural Biology

Theoretical models & algorithms/ Genomic sequences/ Molecular systems/ Cellular functions

Solve difficult scientific problems while playing a casual video game. We develop human-computing games such as Phylo to solve central problems arising in biology. Join the open-science movement!
Understanding how proteins fold is an important step to decipher the mechanisms of life and design pharmaceutical drug. We develop new models to make this task faster and more accurate.
Ribonucleic Acids (RNAs) could be at the origin of life on earth. We develop algorithms to design synthetic biological systems and simulate molecular evolution based on RNAs.

Professor Jerome Waldispuhl

Distributed Information System Lab

Large-scale distributed data management / Cloud computing / Data consistency

Managing consistency for transactional applications when data is distributed across many components is challenging. ConsAD detects and quantifies anomalies as they occur, and we build algorithms that maintain the desired level of consistency across all components.
The goal of our research is to understand the challenges of distributing a game engine across a distributed cluster or a peer-to-peer network and to find solutions for update dissemination, load-balancing, cheating, movement prediction, and much more.
CumuloNimbo is a novel platform as a service (PaaS) that will provide high scalability (100+ nodes), high availability, and adaptability for traditional transactional workloads without sacrificing data consistency and ease of programming as is the norm in today's PaaS.

Professor Bettina Kemme

Comparative and Regulatory Genomics

Algorithmic and machine learning approaches to biological sequence analysis / Comparative genomics / Genome evolution

Can we tell what the genome of the first mammal looked like? Yes, with a clever analysis of genomes of extant species. We use inferred ancestral genomes and evolutionary scenarios to map the functional regions of the human genome and predict the impact of mutations.
These interactions occur when two or more proteins bind together to carry out their biological function. In collaboration with the Coulombe Lab, we are developing the experimental and computational techniques to map this network and the graph algorithms required to analyze it.
Two metres of DNA fit into the nucleus of each cell. The precise way DNA is packaged is highly organized, dynamic, and has major implications on how genes are expressed. In collaboration with the Dostie Lab, we investigate experimental and computational approaches.

Professor Mathieu Blanchette

Pervasive Security and Privacy

Mobile and pervasive computing / Networked embedded systems / Privacy-preserving computing / Cloud systems

Design challenge for pervasive computing researchers: continuous sensing is useful, but how can we design such systems so that they use sensing when and where it is needed while respecting the privacy and comfort of users and others who may be monitored?
By encrypting your wireless communications and requiring users to authenticate before connecting, you can ensure unauthorized users do not intrude on your WLAN and that your wireless data can not be intercepted.
Location-based services (LBS) is a computer program-level services used to include controls for location and time data as control features. LBS has many uses in social networking today, through the mobile devices' network accessing its geographical position.

Professor Wenbo He

Reasoning and Learning Lab

Probabilistic systems / Markov processes / Decision making under uncertainty / Reinforcement learning

Senses obstacles, uses programmed maps to localize and self-navigate through its environment, and helps individuals with mobility impairments achieve greater autonomy, who can communicate with the robot through a speech interface or touchscreen.
Developing theoretical tools for analyzing continuous-state systems, using duality theory, metrics and logic. Algorithms for automatically computing approximations whose behaviour can be guaranteed to be “close” to that of the original system.
Algorithms for learning good representations of time series data and how to control a stochastic, complex environment to maximize a long-term objective. Applications in medical decision making, energy management, e-commerce, music, etc.

Professors Jackie Chi Kit Cheung , Prakash Panangaden , Joelle Pineau , Doina Precup

Modelling, Simulation & Design Lab

Computer-aided multi-paradigm modelling and simulation / Model compilers & languages / Rapid application development / Reactive systems

A $16.6-million national research network created to tackle the technological challenges related to the growing complexity of automotive software systems. GM of Canada Ltd and IBM Canada are mobilizing leading software engineers at 7 universities and in Montreal.
Meta-modelling refers to the description, or modelling, of different kinds of formalisms used to model systems. Model-transforming refers to the process of converting, translating or modifying a model in a given formalism, into another model that may be in the same formalism.
Designing secure e-ID card apps to protect citizens’ privacy with research in digital credentials, secure integration of biometry and cryptology, reliable dispute handling, trusted modules for securing applications, and services and legal aspects of trust in an open network.

Professor Hans Vangheluwe

Advanced Networking Research Lab

Design of secure and trusted networked computing systems / Authentication / Access control / Cloud computing

A framework for combining resources from public clouds and/or resources donated by participating resources with trusted resources from private clouds to deliver higher levels of services at lower cost for resource intensive applications such as image and video processing.
An entirely software-based system providing lightweight but IP compliant virtual elements for machines, routers, switches, wireless access points, and mobile devices, which can be interconnected to create virtual networks for experimentation purposes.
Include social factors in confidentiality control and integrity management decisions to create flexible schemes where policies can be expressed in terms of social linkages and risks of sharing or upfdating can be related to the interactions observed in the social network.

Professor Muthucumaru Maheswaran

Software Technology Research Group

Source Code and Documentation Analysis Techniques / Specialized Search Engines and Recommendation Systems / Information Extraction and Software Analytics

Programming technologies evolves rapidly and information about them can become outdated. We design techniques to automatically detect and repair inconsistencies.
We are developing the idea of source code summarization to repackage existing open-source code fragments so that they cleanly illustrate programming concepts or patterns of interest.
With the TaskNav project, we are exploring the use of natural language processing to re-index programming tutorials so that they map to questions programmers have.

Professor Martin Robillard

Computation and Logic Group

Developing a theoretical and practical foundation for building and reasoning about reliable, safe software systems

Beluga is a novel programming environment for trustworthy computing where programmers can specify sophisticated safety policies and weave proofs into programs. The goal is to establish safety of software systems via programming with proofs.
Contextual reasoning plays a fundamental role in linguistics, AI, logic, functional programming and theorem proving. CORE investigates its logical foundation and explores its ramifications in meta-programming and meta-reasoning.
The goal of this international collaboration with INRIA, CMU and UMn is to develop a unified framework for specifying and certifying safety properties of computational systems, in particular distributed computation.

Professor Brigitte Pientka

Computer Graphics Lab

Physically based animation / Deformation / Contact / Modeling motion and control of humans and animals / Interaction capture

A new technique results in significant improvements in the efficient physically based simulation of highly detailed objects, taking into account topological details, varying material properties, and empty space.
Aimed at hands-on manipulation of digital models through natural hand gestures, this novel system is composed of a new physical interaction device coupled with a simulated compliant virtual hand model.
Efficient locomotion should exploit the natural passive response of the character's dynamical system, specifically focusing on the natural vibration modes, which are affected by parameters such as shape, size, mass, and joint stiffness.

Professor Paul Kry

Computational Complexity Lab

Algebra / Communication complexity / Boolean functions

Algebra is useful in understanding computations realized by finite-state machines. Extending ideas and techniques coming from these investigations to other research domains: boolean circuits, computational learning, automated verification, constraint satisfaction, etc.
How many bits two computers need to communicate with each other in order to compute a function - efficient solutions can be viewed as efficiently solving certain communication tasks, which allows studying the computational hardness of problems in this context.
Boolean functions are central to complexity theory and combinatorics as objects of interest in these areas can often be represented as such. Fourier analysis provides some of the strongest tools, with applications to graph theory, circuit complexity, communication complexity, etc.

Professor Denis Therien

Computational Vision Lab

Image motion in cluttered scenes / Flow visualization / Specular reflections / Blur, depth, and occlusions / Light source modelling

How do we judge hills and valleys from smooth patterns reflected in a surface?
How do we use spatial arrangement, scale, and blur to perceive surface orientation and distance?
Boolean functions are central to complexity theory and combinatorics as objects of interest in these areas can often be represented as such. Fourier analysis provides some of the strongest tools, with applications to graph theory, circuit complexity, communication complexity, etc.

Professor Michael Langer

Cyber-Physical Systems Lab

Design of secure and trusted networked computing systems / Authentication / Access control / Rights management

Some goals of Green IT are maximizing energy efficiency during the product's lifetime and promoting the recyclability / biodegradability of defunct products and factory waste - using computers as energy-efficient as possible and designing for efficiency-related technologies.
Research will improve the link between computational and physical elements in CPS, and broadening its potential in dimensions including intervention (eg collision avoidance), precision (eg robotic surgery and nano-level manufacturing), and coordination (eg air traffic control).
Designing digital systems to make socially produced information available to their users, either directly, after having been filtered and aggregated, or indirectly - in all cases, info that is produced by a group of people is used to provide or enhance the functioning of a system.

Professor Xue Liu

Software Engineering Lab

Dependable software development / Aspect-orientation / Research applications to massively multiplayer games

The goal is to provide an environment for experimentation in areas such as distributed systems, fault tolerance, databases, modeling and simulation, artificial intelligence and aspect-orientation, partnered with Quazal, EA Montreal, and EJ-Technologies.
A novel approach to aspect-oriented modeling that makes scalable multi-view modeling possible, allowing the modeler to define stand-alone reusable aspect models, which support the modeling of structure and behavior (UML diagrams).
TouchRAM is aimed at developing scalable and reusable software design models, giving the designer access to a vast library of reusable design models encoding essential recurring design concerns and featuring a multi-touch enabled user interface.

Professor Jörg Kienzle

Sable Lab

Tool development for computation-intensive problems in Java / Better understanding and faster execution of Java programs

The McLab project aims to provide languages, compilers and virtual machines for dynamic scientific languages, starting with the MATLAB language, and extensions of the MATLAB language such as AspectMatlab.
A complete implementation of AspectJ that aims to make it easy to implement both extensions and optimisations of the core language, providing two front ends: one built on the Polyglot framework, the other an extension of the JastAddJ extensible Java compiler.
Provides four intermediate representations for analyzing and transforming Java bytecode, and can be used as a standalone tool to optimize or inspect class files, as well as a framework to develop optimizations or transformations on Java bytecode.

Professors Laurie Hendren , Clark Verbrugge

Scientific Computing Lab

Scientific computing / Matrix computations / Numerical estimation methods / Communications / GPS positioning / Localization in wireless networks

In the subfield of numerical analysis, a sparse matrix is populated primarily with zeros. When storing and manipulating these matrices on a computer, it is beneficial and often necessary to use specialized algorithms and data structures.
Developing algorithms that use numerical approximation for the problems of mathematical analysis using various methods for lattice reduction and integer least squares problems, and researching their applications in GPS and wireless communications, etc.
A modern mobile device must position itself and support remote position tracking. Research involves building low-power location-based services that can run for hours on mobile phones depending on how different phone features and different types of LBSs consume power.

Professor Xiao-Wen Chang

Cryptography Lab

Theoretical and practical crypography / Quantum information theory / Quantum computing

We investigate the security of cryptographic protocols in a scenario where two special participants are placed "in isolation". Based on the concept of "non-locality" issued from quantum mechanics, isolation is in essence "no non-locality".
The new concept of "weakly random self-reducible" crypto-systems is exploited to construct secure cryptographic primitives from complexity assumptions that appear secure even in the presence of a quantum adversary.
Describing and relating several zero-knowledge languages from the fields of coding theory, lattices, and multivariate polynomials. As far as we know these problems are intractable, even equipped with a quantum computer.

Professor Claude Crepeau

Mobile Robotics Lab

Sensor-based robotics

This project deals with underwater and amphibious robotics, and is the umbrella for a host of different specific research probjects at McGill, as well as in collaboration with our associates at York University. Most of the sub-projects enatil work with out Aqua family of underwater hexapod robots.
We examine the construction of a vision-based interface for human-robot interaction and control for autonomous robots in arbitrary environments. The goal is to enable a human operator to control and program the robot without the need for any complicated input interface, and also enable the robot to learn about its environment and the operator.
We are developing an interface for controlling mobile robots that combines aspects of graphical trajectory specification and state space programming. Our objective is to facilitate the programming and debugging of robot execution plans, containing both scheduled trajectories and activities, as well as contingency plans and failsafe behaviors.

Professor Gregory Dudek

events@cs


Apr
09
Active Semantic Robotics
faculty candidate talk

Apr
02
Information Session on How to Enter the Video Game Industry
other

Apr
02
Interaction as Manipulation
faculty candidate talk

Mar
31
The Top 5 Mistakes in Game Engines
other

Mar
30
Autonomous and Guided Mobile Manipulation
faculty candidate talk

Mar
27
From Difference to Diversity: Carnegie Mellon’s Women@SCS and SCS4ALL
colloquium

View more events

achievements@cs

Apr 07, 2015 award Emeritus Professor Chris Paige is named a SIAM Fellow

Apr 07, 2015 award Prof. Joelle Pineau named a William Dawson Scholar at McGill

Apr 07, 2015 award CS student Pascale Gourdeau wins Anita Borg Fellowship

Dec 04, 2014 award Annie T.T. Ying and Professor Martin Robillard, Distinguished Paper Award

Apr 02, 2014 award Mingyuan Xia awarded IBM Ph.D. fellowship

Nov 08, 2013 award Prof. P. Panangaden named Royal Society of Canada Fellow

Jul 22, 2013 award Dr. Hervé Lombaert wins the Francois Erbsmann Prize for the best paper

Apr 26, 2013 award Kanishka funding awarded to Prof. D. Ruths

View more achievements

notices@cs

TECHNOLOGY ANALYST – INFORMATION SYSTEMS & TECHNOLOGY (P1728)
Mar 17, 2015 job posting

Summer job at McGill (Music Technology, Schulich School of Music)
Mar 10, 2015 job posting

Casual Student Research Assistant
Mar 02, 2015 job posting

Full-Stack Developer
Feb 19, 2015 job posting

Web Design Consultant
Feb 12, 2015 job posting

View more notices
Main Office
McConnell Engineering Bldg.
Room 318
3480 University
Montreal, Qc, Canada
H3A 0E9
(514) 398-7071
(514) 398-3883
Help Desk
McConnell Engineering Bldg.
Room 209N
3480 University
Montreal, Qc, Canada
H3A 0E9
help@cs.mcgill.ca
(514) 398-7087
(514) 398-3883
Quick Links
Webmail
Room Reservations
Tech Support
Internal

View School of Computer Science in a larger map
© McGill University 2015. Credits