computerscience

colloquia@CS

Data Mining for Privacy Protection, Authorship Analysis, and Reverse Engineering

Benjamin Fung, School of Information Studies, McGill University

Jan. 27, 2017, 2:30 p.m. @ Mc012 2:30pm

research@CS

AQUA Robot

The AQUA project explores the sciences and technologies for the interpretation of underwater video footage, the identification of underwater features, human-robot interaction, the modeling of 3D scenes using vision and acoustics, vehicle control, position estimation, and mechanical design.

aquarobot.net

research@CS

Phylo: Human-based Computing for Bioinformatics

Phylo abstracts the multiple sequence alignment problem to a game where the goal will be to align words made by pieces of different color instead of letters representing the genetic code (A, C, G, T).

phylo.cs.mcgill.ca

research labs@CS

Computational Structural Biology Group

3rdfloorTR

theoretical models and algorithms / genomic sequences / molecular systems / cellular functions
phylo human-based computing for bioinformatics


Phylo abstracts the problem of multiple sequence alignments to a game where the goal will be to align words made by pieces of different color instead of letters representing the genetic code (A, C, G, T)
partiFold ensemble prediction of protein structures


A framework for modeling and predicting ensembles of protein structures, implemented in a suit of tools named partiFold, aiming to quickly compute accurate three-dimensional structure predictions of long polypeptides without using a template.
RNAmutants mutational analysis of ribonucleic acids


RNAmutants generalizes classical RNA secondary structure prediction algorithms by allowing a simultaneous exploration of the complete structure and mutation landscape in polynomial time and space.
@csb.cs.mcgill.ca

research labs@CS

Computer Games

MC231

efficient and playable game implementations / modelling and analyzing different facts of game structure
halo statecharts statechart-based game AI


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.
Narratives computer game narratives


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.
Gameplay Pacing measuring pacing in WoW


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.
@gram.cs.mcgill.ca

research labs@CS

Computer Graphics Lab

MC110A

physically based animation / deformation / contact / modeling motion and control of humans and animals / interaction capture
Composite Finite Elements the embedding of linear elastic deformable models


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.
HandNavigator hands-on interaction for desktop virtual reality


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.
Modal Locomotion animating virtual character locomotion and other oscillatory motions


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.
@cs.mcgill.ca/~cg

research labs@CS

Crypto & Quantum Information

MC104,235

theoretical and practical crypography / quantum information theory / quantum computing
Quantum Communication in Rindler Spacetime


A state that an inertial observer in Minkowski space perceives to be the vacuum will appear to an accelerating observer to be a thermal bath of radiation. We study the impact of this Davies-Fulling-Unruh noise on communication.
Quantum trade-off coding for bosonic communication


The trade-off capacity region of a quantum channel characterizes the optimal net rates at which a sender can communicate classical, quantum, and entangled bits to a receiver by exploiting many independent uses of the channel.
Classical Communication over a quantum interference channel


Calculating the capacity of interference channels is a notorious open problem in classical information theory. Such channels have two senders and two receivers, and each sender would like to communicate with a partner receiver.
@crypto.cs.mcgill.ca

research labs@CS

Network Dynamics

TR3110

measuring and predicting complex systems
who is in a population? demographic inference


Organizations, governments, and companies are interested in having better tools for understanding the kind of people in groups they are interacting with. We're developing new computational techniques for inferring the demographics of physical populations using data from online social platforms like Twitter and Facebook.
how do social networks grow? community identification


Like any living system, human communities are born, grow, decay, and dissipate. We're interested in observing and measuring these different processes using computational and mathematical models. We hope that such knowledge will provide the basis for building more vibrant, constructive societies.
Why are living things hard to kill? origins of biological robustness


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. How is such an intricate system so robust? We're working to uncover aspects of cellular design that evolution has used to make living systems so resilient.
@ruthsresearch.org

research labs@CS

Shape Analysis

MC408

shape analysis / computational vision / medical imaging / singularity theory / partial differential equations / geometric flows
Medial Surfaces of Polyhedra axis computation and shape representation


When a shape is 3D, the medial axis consists of surfaces and is a very complicated object that is hard to compute exactly. We have designed a sound algorithm that computes significant locations on the medial axis of a polyhedron.
Hair Modeling fiber pattern modeling for computer graphics


A mathematical representation of fibers based on a class of minimal surfaces called generalized helicoids, characterized by intuitive parameters that control the curvature of a fiber along its tangent, normal and binormal directions, and its elevation angle.
Blood Vessel Analysis 3D representation of vasculature in the brain


Extremely important in image-guided neurosurgery, pre-operation planning, and clinical analysis, 3D brain vasculature representations can be generating using flux-maximizing flow segmentation on a given MRA image presented.
@cim.mcgill.ca/~shape

research labs@CS

Software Evolution

MC225

conducting research projects to understand, model, and help control the complexity of modifying large software systems over long periods of time
Recommending Adaptive Changes for Documentation Evolution


Programming technologies evolves rapidly and information about them can become outdated. We design techniques to automatically detect and repair inconsistencies.
Automatic Code Example Summarization source code summarization


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.
TaskNav Extracting Development Tasks to Navigate Software Documentation


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.
@swevo.cs.mcgill.ca

research labs@CS

Visual Perception Lab

MC337

image motion in cluttered scenes / flow visualization / specular reflections / blur, depth, and occlusions / light source modelling
Specular reflections shading, shape


How do we judge hills and valleys from smooth patterns reflected in a surface?
3D cluttered scenes occlusions, size, density


How do we use occlusions, size, and density to perceive a 3D layout of objects?
Texture + focus spatial arrangement, scale, blur


How do we use spatial arrangement, scale, and blur to perceive surface orientation and distance?
@cim.mcgill.ca/~langer/research.html

profs@CS

Mathieu Blanchette


Research Comparative and Regulatory Genomics
@cs.mcgill.ca/~blanchem

COMPARATIVE & ANCESTRAL GENOMICS
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.

PROTEIN-PROTEIN INTERACTION NETWORKS
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.

3D GENOMICS
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.

profs@CS

Jackie Chi Kit Cheung


Research Natural language processing, Computational semantics, Natural language generation, Automatic summarization
@cs.mcgill.ca/~jcheung

Computational Semantics
We are investigating how to understand the meaning of a word, phrase, or entire passage using vector space models of semantics. The goal of our models is to make inferences about the state of the world based on the contents of the text.

Natural Language Generation
With the proliferation of smart devices, we will need more fluent and natural ways to receive information from automatic systems. We are working on methods to generate language of a particular style, whether it is formal text or a casual conversation.

Event Extraction and Understanding
What happens at a play? The audience enters the theatre, the lights go off, then the performance begins! We are developing computational models to extract typical sequences of events and their participants from text.

profs@CS

Claude Crepeau


Research Cryptographic Protocols & Quantum Cryptography, Quantum teleportation and Computing, Coding Theory
@cs.mcgill.ca/~crepeau

Quantum Cryptography
Quantum cryptographic systems take advantage of Heisenberg's uncertainty principle, according to which measuring a quantum system in general disturbs it and yields incomplete information about its state before the measurement.

Quantum Teleportation
Quantum teleportation allows the quantum state of a system to be transported from one location to another, without moving through the intervening space.

Coding Theory
Connecting coding theory with cryptography,analyzing the sources of security in cryptographic protocols, the techniques for processing confidential data by several users that do not trust each other.

profs@CS

Gregory Dudek


Research Robotics, computer vision, internet technologies, machine learning, computer graphics
@cim.mcgill.ca/~dudek

AQUA Robot
Explores the science and technologies for the interpretation of underwater video footage, the identification of underwater features, human-robot interaction, the modeling of 3D scenes using vision and acoustics, vehicle control, position estimation and mechanical design.

Fourier Tags
A synthetic fiducial marker used to visually encode information and provide controllable positioning. The Fourier tag is a synthetic target akin to a bar-code that specifies multi-bit information which can be efficiently and robustly detected in an image.

Graphical State Space Programming
GSSP is a framework that combines a software development paradigm, a software visualization technique, and a tool for robot programming. This infrastructure allows robot application programs to be decomposed and visualized within state-dependent views.

profs@CS

Laurie Hendren


Research Compilers and concurrency, programming languages, software engineering, pointer analysis, program analysis frameworks
@sable.mcgill.ca/~hendren

McLab: Extensible Compiler and VM Toolkit for MATLAB
The McLab project aims to provide languages, compilers and virtual machines for dynamic scientific languages. We are starting with the MATLAB language, and extensions of the MATLAB language such as AspectMatlab.

abc: The AspectBench Compiler for AspectJ
abc is a complete implementation of AspectJ (with some, mostly minor, differences to the original ajc compiler) that aims to framework for extensible Java compilation, the other an extension of the JastAddJ extensible Java compiler.

Soot: a Java Optimization Framework
Soot is a Java optimization framework. It provides four intermediate representations for analyzing and transforming Java bytecode. It 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.

profs@CS

Jörg Kienzle


Research Software engineering, modelling and simulation, computer games, programming languages, parallel and distributed systems, compilers and concurrency, databases
@cs.mcgill.ca/~joerg/Home/Jorgs_Home.html

Mammoth
Mammoth is a massively multiplayer game research framework, whose 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. Mammoth has the industrial partners Quazal, Electronic Arts Montreal, and EJ-Technologies.

Reusable Aspect Models (RAM)
Reusable Aspect Models (RAM) is a novel approach to aspect-oriented modeling that makes scalable multi-view modeling possible. It allows the modeler to define stand-alone reusable aspect models, which support the modeling of structure (using UML class diagrams) and behavior (using UML state and sequence diagrams).

TouchRAM
TouchRAM is a multi-touch enabled tool for aspect-oriented software design 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, featuring a multi-touch enabled user interface.

profs@CS

Paul Kry


Research Computer games, computer graphics, machine learning, modelling & simulation, robotics
@cs.mcgill.ca/~kry

Volume Contact Constraints at Arbitrary Resolution
Introducing a new method for simulating frictional contact between volumetric objects using interpenetration volume constraints. When applied to complex geometries, the formulation results in dramatically simpler systems of equations than those of traditional mesh contact models.

Preserving Topology and Elasticity for Embedded Deformable Models
A new approach for the embedding of linear elastic deformable models. The technique results in significant improvements in the efficient physically based simulation of highly detailed objects.

Modal Locomotion: Animating Virtual Characters with Natural Vibrations
Presenting a general method to intuitively create a wide range of locomotion controllers for 3D legged characters. The key to the approach is the assumption that efficient locomotion can exploit the natural vibration modes of the body.

profs@CS

Michael Langer


Research Computational models of human vision, computer vision, applied perception in computer graphics
@cim.mcgill.ca/~langer

Specular Reflections, Shading, and Shape
How do we judge hills and valleys from smooth patterns reflected in a surface?

3D Cluttered Scenes
How do we use occlusions, size, and density to perceive a 3D layout of objects?

Texture and Focus
How do we use spatial arrangement, scale, and blur to perceive surface orientation and distance?

profs@CS

Brigitte Pientka


Research Computation and logic, programming languages, building and reasoning about reliable safe software systems, type theory, theorem proving, logic and functional programming, logical frameworks
@cs.mcgill.ca/~bpientka

Beluga: Programming With Proofs
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.

CORE: COntextual REasoning
Contextual reasoning plays a fundamental role in linguistics, artificial intelligence, logic, functional programming and theorem proving. This project investigates the logical foundation of contextual reasoning (i.e. contextual modal type theory) and explores its ramifications in meta-programming and meta-reasoning.

PROMIS
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 which are gaining prominence with the rise of security infrastructures and cloud computing.

profs@CS

Joelle Pineau


Research Bioinformatics and computational biology, robotics, machine learning, artificial intelligence
@cs.mcgill.ca/~jpineau

SmartWheeler: Multi-modal intelligent wheelchair control
This project looks at customizing a robotic wheelchair such that it can be operated by a person with severe mobility impairements. The goal is to optimize a flexible multi-modal interface that allows high-level control of the wheelchair in a manner that is safe and effective

Adaptive Treatment Design
Deep brain stimulation is a new treatment for epilepsy, but existing devices do not adapt to the patient's condition - we create an improved class of devices with adaptive control.

Extracting Semantic Information from Wikipedia
Research in automatic suggestion of topics to augument text documents, completing Wikipedia's hyperlink structure through dimensionality reduction, and inferring semantic distances between concepts.

profs@CS

Martin Robillard


Research Source Code and Documentation Analysis Techniques, Specialized Search Engines and Recommendation Systems, Information Extraction and Software Analytics.
@cs.mcgill.ca/~martin

Recommending Adaptive Changes for Documentation Evolution
Programming technologies evolves rapidly and information about them can become outdated. We design techniques to automatically detect and repair inconsistencies.

Automatic Code Example Summarization
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.

TaskNav: Extracting Development Tasks to Navigate Software Documentation
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.

profs@CS

Derek Ruths


Research Bioinformatics and computational biology, networked systems (social, economic, biological)
@ruthsresearch.org

Demographic Inference
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.

Community Identification
Like any living system, human communities are born, 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.

Origin of Biological Robustness: Why are Living thing hard to kill?
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.

profs@CS

Jerome Waldispuhl


Research Bioinformatics & Computational Biology
@cs.mcgill.ca/~jeromew

PHYLO: human-based computing for bioinformatics
We abstract the multiple sequence alignment problem to a game where the goal will be to align words made by pieces of different color instead of letters representing the genetic code (A, C, G, T).

Ensemble Prediction of Protein Structures
We develop a framework for modeling and predicting ensembles of protein structures. Our algorithms are implemented in a suite of tools named partiFold, which aims to compute quickly (couple of minutes) accurate three-dimensional structure predictions of long polypeptides (several hundreds of residues) without using any template.

Mutational Analysis of Ribonucleic acids
We develop a computational framework named RNAmutants which aims to analyze the relationship between RNA sequences and structures (a.k.a. sequence-structure maps).