Syllabus

MileStones

 

PROJECT
SUPERVISORS

T Aamodt

P. Abolmaesumi

A Bashashati

L. Chrostowski

A Fedorova

S Fels

N K-Hashemi

A Ivanov

L Lampe

J Madden

P Nair

T Nguyen

M Ordonez

K Pattabiraman

J Rubin

M Shahrad

S Shekhar

C Thrampoulidis

K Walus

L. Wang

Z Wang

ZJ Wang

EECE 597 Prof. J. Rubin - ECE

To Apply: email For information & availability of specific projects.
ID Status Name
JR-1 Available Management of Microservice-based Applications
Microservice-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.
JR-2 Available Mobile 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.
JR-3 Available ML Reliability
Adversarial attacks pose a major threat to the large-scale deployment of ML solutions. Such attacks have been studied in a number of domains, and mostly divided into poisoning attacks, where hackers modify the data used for (re-)training of an ML technique, and evasion attacks, where hackers manipulate the classified samples. In this project, we study evasion attacks on ML systems for classifying software system into malicious and benign. We also develop accurate and reliable ML-based malware detection techniques, departing from the idea of using binary classification mechanisms for malware detection. The student working on this project will join an international group of researchers (in and outside of UBC) working on this project.
JR-4 Available Software Composition & Integration
This 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.