The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

View only
Project contact
(faculty member)
Project titleBrief description
Ali MesbahDeep Learning for Bug Detection and Code RepairIdentifying quality issues in software is a crucial but expensive task for developers to take on. To help developers identify quality issues, Automated Bug Detection (ABD) is widely used in practice. While existing ABD systems are useful, creating a bug detector is a time consuming and highly manual process. Bug detectors must be precisely specified to ensure low rates of false positives and upon identification of a bug, a repair action must be proposed to the developer. To address the high cost of developing static bug detectors, we propose a new deep learning approach to building ABD systems that (1) automatically learns bug detector rules and (2) generates patch suggestions using examples of correct and incorrect code mined from open source JavaScript projects.
Ali MesbahRegression Testing through Computer VisionRegression testing detects defects introduced in a new version of a software system. For systems that have a user interface, such as web and mobile apps, this project aims at visually analyzing the UI states using computer vision techniques to detect changes. The challenge here is filtering out subtle small visual changes (a pixel changes colour) that are insignificant in regression testing, without abstracting too much.
Karthik PattabiramanThingsJS: Dynamic JavaScript Middleware for the Internet of Things (IoT)Internet of Things brings with it new challenges, as increasing volumes of data are generated and more compute power is needed. To fully realize IoT's potential as a ubiquitous computing platform, we envision a system that can seamlessly use the diverse pool of machines in an efficient and reliable way. Traditional reliability techniques such as VM-migration have been computationally expensive, but through ThingsMigrate we have demonstrated we can achieve stateful live-migration purely through high-level language semantics. In that spirit, ThingsJS is a project aiming to bring general-purpose computing into IoT through JavaScript, an already widespread technology. Using ThingsJS, a user can compose an IoT application entirely in JavaScript and deploy it using declarative semantics. All the processes within ThingsJS communicate through a Publish/Subscribe channel and have access to a network-wide shared storage. The system is managed by a ThingsJS scheduler, which dynamically allocates compute resources to different processes. As the vision of the project is quite broad, there are many potential topics including distributed storage, publish/subscribe, and scheduling systems.
Konstantin BeznosovSecuriuty and Privacy of Smart Speakers
Konstantin BeznosovUsability of cryptocurrency management tools
Konstantin Beznosovusability of smartlock for Android
Konstantin Beznosovusable security and privacy of online account sharing
Tim SalcudeanIntegration of ultrasound with the da VinciBecause it offers improved imaging and surgeon dexterity, as well as scaling and tremor reduction, robotic surgery has become commonly used worldwide for minimally invasive procedures. With funding from our NSERC Discovery grant, we plan to continue our work of integrating ultrasound imaging with medical robots. The work will be carried out with an Intuitive Surgical da Vinci robot for research, available in our laboratory. Specifically, we are concerned with the integration of appropriate ultrasound machine controls into the da Vinci console. This will facilitate the acquisition of optimized images by the operator, the visualization of vasculature that may not be visible in the console view, and the display of tissue elastic properties derived from ultrasound, such as tissue elasticity and viscosity. In addition, ultrasound can be used for intra-operative registration of pre-operative images to the actual patient anatomy.

The position involves the development and testing of interfaces to ultrasound machines that are suitable for use from the da Vinci robot console. These interfaces will use the da Vinci console control arms as computer input-output devices, and will display ultrasound data in novel ways that are consistent with da Vinci's 3D console, and with additional devices that we have recently used with the console, in particular eye gaze trackers.

The student will be designing and integrating various control devices into the surgeon's console, and program these in C++, using software libraries provided by Ultrasonix and Intuitive Surgical will be used for this integration. The student will learn about medical robotics, ultrasound, voice and gaze control and principled design of user interfaces.
Tim SalcudeanAddition of force sensor to da Vinci master armssee above; console has two master devices that do nto have force sensors; this involves mechanical design and interfacing
Julia RubinMobile Application Security
Google Play and Apple mobile app stores rigidly screen submitted applications to identify and prevent malware from entering the store. Yet, some malicious applications bypass these defines and end up in official market stores. In this project, we identify main characteristics of such malicious applications and develop novel techniques for identifying these application in an efficient manner. At the end of the project, the student will be familiar with mobile technologies, mobile app analysis, and will be able to analyze and discuss major flaws in mobile applications. The student will also learn to build high-quality mobile applications himself/herself.
Julia RubinMobile Energy-EfficiencyBattery lifetime is one of the major usability concerns of mobile devices. Existing research shows that suboptimal resource usage, e.g., cases when an energy-heavy resource is bound too early or released too late, is commonplace in Android applications. “Wasteful” applications can cumulatively consume up to several hours of battery life a day, without doing anything productive for the user. To address this problem, we investigate approaches for regulating energy consumption in mobile applications. The student working on the project will use existing application analysis frameworks to analyze the behaviour of mobile applications and their energy consumption patterns. At the end of the project, the student will be familiar with mobile technologies and will be able to analyze and discuss major energy-related flaws in mobile applications. The student will also learn to build high-quality mobile applications himself/herself.
Julia RubinManagement of Microservice-based ApplicationsMicroservice-based development is an approach in which a large application is built as a set of loosely-coupled components that communicate with each other via lightweight interfaces, such as HTTP REST. Microservices are now commonly adopted by companies such as Google, Amazon, IBM, Netflix, and others. In this project, we analyze the structure of microservice-based applications, the dependencies between individual application components, and develop approaches for efficient scheduling of these components in the cloud. The student working on this project will devise automated analysis techniques for extracting information about applications from its code, its hosting containers (e.g., Docker), and container managers (e.g., Kubernetes). The student will also help devising the scheduling approach. At the end of the project, the student will be familiar with cloud technologies and be able to analyze and discuss major architectural decisions in microservice/cloud-based applications. The student will also learn to build high-quality microservice-based applications himself/herself.
Julia RubinAnalyzing Git Merge ConflictsThis project focuses on integration conflicts in Git, which occur when multiple team members work on different parts of the same software. Specifically, we are interested in semantic conflicts — those that occur when the integrated code compiles but fails to run correctly. We use a combination of empirical research to learn a set of conflict patterns in existing repositories and automated program analysis techniques for predicting conflicts in new integrations. We also rely on machine learning technique to help classify conflicts with better precision. The student working on this project will use existing application analysis frameworks for analyzing public Git repositories, e.g., on GitHub. At the end of the project, the student will be familiar with program analysis methods and will be able to analyze and discuss properties of a good compositional software. The student will also learn to build high-quality applications himself/herself.
Lutz LampeMachine learning for underwater acoustic communicationUnderwater acoustic communications relies on the favorable propagation characteristics of acoustic signals underwater, when compared to radio-frequency and also optical signals. However, acoustic signals can be affected by various sources of man-made interference. One example that is particularly prominent in harbour environments is noise generated by ships. Our group is participating in an international research project whose broader objective is to protect critical marine infrastructures such as harbours. As part of this, we investigate mechanisms to mitigate the effect of noise, such as ship noise, by way of noise cancellation. Noise cancellation requires the reconstruction of thesignals based on a small number of observations. To facilitate this reconstruction, the structure underlying the noise signals needs to be exploited. However, this structure is unkown and difficult to capture based on an understanding of the physical processes of noise generation.
We will therefore try to model ship noise signals through a machine learning based approach. We expect that ship noise can be represented in a relatively low-dimensional non-linear latent space. We will attempt to determine the latent space by training machine models using sets of actually recorded ship noise signals available to us. The machine models will be trained with pre-processed ship noise signals so as to mimic the processing of received signals for data detection. Different machine models will be considered for effective representation of the ship noise and compared based on their accuracy in reconstructing the entire noise signals from few samples. If time permits, the trained models will be combined with the actual noise cancellation module and data transmission performance will be measured. During the project, the student will become familiar with machine learning principles, signal representations in (nonlinear) subspaces, and basics of underwater acoustic communications. Knowledge of signals and systems and some programming experiences are required.
Martin OrdonezWind and Marine Maximum Power Point TrackingIn this project, the student will work to research and implement wind and marine turbine Maximum Power Point Tracking (MPPT) algorithms found in academia and industry. The student would be tasked to perform a literature review of turbine MPPT algorithms, develop a handful of these algorithms and verify their validity using Matlab/Simulink and Plecs. The project will culminate in the implementation of several algorithms in hardware using the power electronics boards already developed in the lab as well as the turbine emulation platform. The student will be paired with a UBC Power Electronics Lab graduate student and receive full training on the principles of operation and the testing of the lab power platforms and the turbine emulation platform. The student will finish this project with significant hands-on experience with the power electronics that are used extensively in industry for solar and wind energy harvesting as well as battery charging systems.
Martin OrdonezWide Bandgap Characterization PlatformIn this project, the student will work on the characterization of wide-bandgap (WBG) power switches based on gallium-nitride (GaN) and silicon-carbide (SiC). The main tasks in this project are the following: literature review on characterization techniques (academia/industry), development of a hardware platform to carry out characterization (may include printed-circuit-board design), development an automated characterization process (preferrably building on an existing LabView platform), development of custom DSP code (optional). The development tasks can be seperated from each other which may opens this project to a student team of two. The student(s) should be able to learn all the necessary skills during the project, but experience with test equipment, communication protocols, PCB-design and LabView/Python are desirable. The student(s) will finish this project with highly valuable hands-on experience with the next generation of power electronics that will be used extensively in industry in the next decades for solar and wind energy harvesting as well as battery charging systems. The skills developed through the hardware and software development are highly valuable in the field of power electronics but can also easily be transfered between ECE disciplines.
Karen CheungTissue engineering and image-based drug screeningWe are developing a new cell culture system which can be utilized in preclinical studies for cancer. Our work aims to create more realistic tissue models in vitro than conventional two-dimensional (2D) monolayer culture, because one factor essential to obtaining meaningful data in high-throughput drug screening during drug discovery is to have a cell culture environment which reproduces the in vivo environment. Our work features three-dimensional (3D) cell culture, in which cells are embedded in a material that mimics the extracellular matrix. Dispersed tumor cells are seeded within hydrogels within an array of microfluidic chambers. After on-chip culture for several days, the cells proliferate and form multicellular aggregates. The undergraduate summer student will provide crucial assistance in generating the engineered tissues, acquiring images of the cells, and analyzing the cellular response to drug treatment.
Karen CheungInkjet dispensing of living cellsWe use inkjet systems to dispense living cells for applications in tissue engineering and genomics. We aim to optimize the process of using commercially available, piezoelectrically actuated inkjet nozzles to reliably deliver precise numbers of cells. Living cells are suspended in a solution which is supplied to the nozzle. Our previous work has shown that cell aggregation and sedimentation due to gravity have a strong impact on the ability to print over long periods of time, and we overcame these challenges by replacing the buffer solution with a neutral density solution. However, the hydrodynamics within the nozzle during cell printing require further analysis. The summer student will assist in finding optimal waveforms for printing cell suspensions, acquiring data for cell tracking using microscopy and high speed imaging.
Karen CheungMicrofluidic airway-on-a-chipWe are developing a new cell culture system which can be utilized in preclinical studies for chronic obstructive pulmonary disease (COPD). This project will be a collaboration with the Centre for Heart Lung Innovation (HLI) at the Providence Airway Centre at St Paul's Hospital. The summer student will provide crucial assistance in creating CAD models of the microfluidic system, building the prototype system for generating the smoke/airflow profiles that replicate physiological conditions, generating the engineered tissues, acquiring images of the cells, analyzing the cellular response to smoke exposure.
Joe SalfiQuantum information technologyWe are developing a platform for quantum information technologies (QITs) that leverages the capabilities of the multi-billion dollar silicon nanoelectronics industry. QITs process information using concepts from quantum physics and could one day solve problems that are impossible to solve on classical computers. To do this we need to build, test and optimize things like nanoelectronics devices (the quantum hardware) to store quantum information, circuits to manipulate and entangle quantum information and interface them to classical computers, and cryogenic apparatus to house the quantum hardware. Projects are available in the following areas to interested students
1. Development and testing of room temperature and cryogenic microwave circuits for quantum control.
2. Design of single-electron devices using concepts in nanoelectronics simulation.
3. Development of computer programs to manipulate quantum systems.

John MaddenStretchable PCBWearable devices are all the rage, but making them unobtrusive is difficult - not least because of the electronics. We are developing a stretchable printed circuit board and would like help with solving fabrication issues. The substrate is a rubbery polymer on which we attach copper interconnects and solder on components. The challenge: making this flexible and stretchable. This work will require significant materials work, fabrication and testing (electrical and mechanical).
John MaddenRobot skin: soft sensor arraysAdd a sense of touch to a robot - and proximity as well. This is what we aim to do in this project. Students will help build an 'artificial skin' composed of capacitive sensors similar to those on the displays of mobile phones. We need help with fabrication, electrical testing, software development, and the capacitance measurement circuit, as well as with the proximity, touch and shear response characterization.
John MaddenSmart skin for medical devicesHelp develop a technology that will enable unobtrusive measurement of patients from a smart bedsheet. The project will involve the use of rubber and gels to create soft, stretchable and low cost sense electrodes for detecting touch, proximity, bend, shear, temperature, pressure and moisture. It will involve deisigning and building a prototype that can be tested in hospitals. We need help with fabrication, electrical and mechanical testing, as well as circuit development and with the software interface. Students are sought who are interested in working on any or all of these aspects.