| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Contact | Project title | Brief description | |||||||||||||||||||||||
2 | Lele Wang | Algorithmic Counting and Sampling | Expander graphs have been extensively studied in mathematics over the past several decades, and in that time found numerous applications to computer science, such as in the design of fast error correcting codes and resilient networks. High-dimensional expanders is an emergent area that ties together topology, algebra, and combinatorics, and underlies a surprising range of applications in computer science, ranging from fast MCMC sampling to efficient quantum codes. In this project, student will study the basics on high dimensional graphs following courses such as https://www.wisdom.weizmann.ac.il/~dinuri/courses/18-HDX/index.htm, https://cseweb.ucsd.edu/classes/sp21/cse291-g/, and https://kuikuiliu.github.io/teaching/au2023. The goal is to identify potential resaerch questions in the area. For more details, please contact lelewang@ece.ubc.ca. | |||||||||||||||||||||||
3 | Lele Wang | Statistical inference on graphical data | The graph alignment problem, also known as the graph matching problem or the noisy graph isomorphism problem, has received growing attention in recent years, brought into prominence by applications in a wide range of areas. For instance, in social network de-anonymization, one is given two graphs, each of which represents the user relationship in a social network (e.g., Twitter, Facebook, Flickr, etc). One graph is anonymized and the other graph has user identities as public information. Then the graph alignment problem, whose goal is to find the best correspondence of two graphs with respect to a certain criterion, can be used to de-anonymize users in the anonymous graph by finding the correspondence between them and the users with public identities in the other graph. In this project, we aim to recover the vertex correspondence by actively querying edges in the two correlated graphs. We are interested in determining the query complexity as well as the efficient query strategies for the problem. Students are expected to have a strong background in probability and a decent level of mathematical maturity. For more details, please contact lelewang@ece.ubc.ca. | |||||||||||||||||||||||
4 | Mohammad Shahrad | Exploring the Benefits of Multi-Cloud Geospatial Workload Shifting for Sustainability | We recently developed a framework called Caribou, designed for geo-distributed deployment of cloud serverless workflows with a focus on reducing carbon emissions. Caribou intelligently evaluates the carbon intensity of power grids across cloud regions and dynamically migrates functions to greener locations, minimizing emissions while maintaining low latency. The paper on this system was published at the premier software systems conference (SOSP) in November 2024 (https://cirrus.ece.ubc.ca/papers/sosp24_caribou.pdf), and the framework was open sourced (https://github.com/ubc-cirrus-lab/caribou). Caribou showed that offloading to different cloud regions of the same provider has high potential to reduce emissions. However, the merits of multi-cloud task offloading for carbon emission is not known to us, nor the rest of the systems community. Theoretically, offloading to multiple cloud providers should mean more options, and thus, higher efficiency and gains. However, there will be added system complexity. In this project, you will use and extend the Caribou framework to answer this research question. This project pushes the boundaries of technology in this field, and its successful completion is highly likely to result in a research publication. The ideal candidate would have strong coding skills and a natural curiosity to learn and explore. If having any questions, do not hesitate to reach out to Prof. Shahrad (mshahrad@ece.ubc.ca). | |||||||||||||||||||||||
5 | Mohammad Shahrad | Learning and Minimizing the Effects of OS Scheduling Parameters on Modern Cloud-Native Applications | Modern cloud services (e.g., serverless computing, microservices, etc.) leverage operating system scheduling constructs to achieve fine-grained resource isolation in highly co-tenant server environments. We have recently modelled and demonstrated (in small scale) their high impact on cost fairness and performance variability. In this project, you will collaborate with our team to develop a representative benchmark suite and classification models that provide insights into how to select the most appropriate parameters in production for previously unseen applications. This work will most likely result in a research paper. The ideal candidate would have strong coding skills and a natural curiosity to learn and explore. If having any questions, do not hesitate to reach out to Prof. Shahrad (mshahrad@ece.ubc.ca). | |||||||||||||||||||||||
6 | Julia Rubin | Malware Detection and Localization | This project focuses on developing reliable and explainable approaches for malware detection and localization (in particular, mobile malware). The developed approaches are based on a combination of program analysis and ML-based techniques. They are designed to help security analysts efficiently screen a large number of third-party software systems, providing well-reasoned explanations about suspicious software behaviours. The student working on this project will join the team of graduate and undergraduate students and will help advance one of the following directions: (a) robust post-deployment malware detection, (b) fuzzing-based security testing, (c) explainability in ML-based malware detection, i.e., techniques to provide concise explanations for each prediction, and (d) approaches for selecting and augmenting training data, based on our prior work of identifying data properties that correlate with accurate and reliable ML techniques. For more details, please contact Prof. Julia Rubin (mjulia@ece.ubc.ca). | |||||||||||||||||||||||
7 | Julia Rubin | AI-Assisted Software Analysis | This project focuses on developing techniques that combine generative AI capabilities with formal reasoning, programming languages, and program analysis techniques, to improve the quality of AI-assisted software managment. The student working on this project will join the team of graduate and undergraduate students and will help advance one of the following directions: (a) reliable RAG-style debugging assistant for code, (b) query language formalization and refinement, and (c) scalable and provably-correct code generation. For more details, please contact Prof. Julia Rubin (mjulia@ece.ubc.ca). | |||||||||||||||||||||||
8 | Julia Rubin | Privacy in Software and AI Systems | This project explores technical, legal, and societal implications of security and privacy standards and regulations for software and AI systems, such as ISO 27701, CCPA, GDPR, and EU AI Act. The student will work with research and industrial partners to map the main requirements of the regulations and analyze their implications on industrial practices. For more details, please contact Prof. Julia Rubin (mjulia@ece.ubc.ca). | |||||||||||||||||||||||
9 | Renjie Liao | Probabilistic and Geometric Deep Learning | We have an array of projects to explore the intersection between probabilistic and geometric deep learning, e.g., LLMs for math reasoning, diffusion/flow models for images, videos, and graphs. Please contact me for specifics at renjie.liao@ubc.ca. | |||||||||||||||||||||||
10 | Andre Ivanov | Reliability of Systems on Chip | Complex systems on chip (SoCs) are found in a multitude of applications ranging from low-cost internet of things (IoTs) to life-critical applications like autonomous vehicles and space exploration. The aging and reliability of complex SoCs over time poses challenges at different levels of physical abstraction, from device and materials physics to system level. The Ivanov Lab is working on different aspects related to reliability of ICs and SoCs. We are working on desiging, fabricating and characterizing custom sensor circuits specifically designed to measure aging mechanisms and looking at developing methods to mitigate their effects. We are also conducing a multitude of FPGA-based experiments to characterize aging in advanced CMOS technologies and devising design and test methodologies to counter the negative effects of aging in complex state of the art electronic systems. We are looking for candidates interested in the design and test of SoCs to join our lab to participate in this ongoing research work. This work involves hardware, software and firmware design as well as AI and machine learning applications for processing FPGA, IC and SoC simulation and actual measurement data. | |||||||||||||||||||||||
11 | Lutz Lampe | Physics informed neural operators for optical fiber communication | Advancing state-of-the-art optical fiber communications is incredibly challenging due to the nonlinear behavior of optical fiber channels. Machine learning–based approaches for signal design and detection have shown great potential in overcoming the limitations of traditional, model-based solutions. The real benefit of machine learning comes to the fore when combined with existing knowledge about the communication channel, which, for optical fibers, is governed by the nonlinear Schrödinger equation. We aim to explore the implementation and performance of such physics-inspired machine learning methods for various tasks in optical fiber communication. This project is intended for students with a strong mathematical background and coding skills, previous experience in machine learning, and a keen interest in learning and exploration. If this describes you, please feel free to contact Lampe@ece.ubc.ca for further information and assistance in preparing your application. | |||||||||||||||||||||||
12 | Lutz Lampe | Testing mesh network for Internet-of-Things solutions | We are collaborating with a local wireless communication company to develop and test a mesh networking protocol. If you have a background in signals and systems, communication networks, Python programming, and are interested in hands-on work, please feel free to contact Lampe@ece.ubc.ca for further information and assistance in preparing your application. | |||||||||||||||||||||||
13 | Olivia Di Matteo | Compilation and resource estimation of quantum algorithms for physics simulations | The Quantum Software and Algorithms Research Lab works on designing and implementing software for writing and running algorithms on quantum computers. A key application area for future large-scale quantum computers is simulating fundamental physics. Once expressed in an appropriate mathematical formulation, a simulation must be programmed, then compiled down into elementary quantum operations. Our collaborators at University of Victoria have developed a quantum algorithm for computing the gradient of the logarithm determinant which has applications in astrophysics and quantum chemistry simulations. We are seeking a student researcher to translate the theoretical description of these algorithms into a software implementation, and perform resource estimation to accurately gauge their feasibility in practice. A successful implementation may subsequently be applied to a domain-specific physics problem. Applications from students in Year 3+ in Physics, Computer Science, Mathematics, Engineering, or a related discipline, are preferred. Candidates should have strong analytical and mathematical skills (in particular, linear algebra, and basic knowledge of computational complexity theory). They should also be proficient programmers, with scientific computing experience in Python, and be familiar with aspects of software development such as GitHub, writing documentation, and unit testing. The ideal candidate has prior research experience, and familiarity with quantum computing and at least one quantum software framework (e.g., PennyLane or Qiskit). | |||||||||||||||||||||||
14 | Karthik Pattabiraman | Security and Safety of Embedded Systems | Embedded systems are becoming increasingly prevalent across diverse fields, including medical devices, power grids, and robotic autonomous vehicles (RAVs) such as unmanned aerial vehicles (UAVs). Consequently, a wide range of features and hardware functionalities is being incorporated into these devices to support the requirements of different users. However, this expansion enhances potentially buggy code, thereby increasing devices’ attack surface. This project aims to analyze the attack vector in autonomous systems and develop techniques that enable embedded systems (e.g., autonomous systems) to mitigate and detect the adversarial actions. We will use machine learning and the LLVM compiler to design and implement mitigation and detection frameworks. The student will learn how to model cyber-physical systems and the operational architecture of autonomous systems in both simulations and robotic platforms. Also, they will learn how to work with the LLVM compiler and write LLVM passes to implement the project. | |||||||||||||||||||||||
15 | Karthik Pattabiraman | Resilience evaluation of Machine Learning Systems | As machine learning (ML) has seen increasing adoption in safety-critical domains (e.g., autonomous vehicles), the reliability of ML systems has also grown in importance. While prior studies have proposed techniques to enable efficient error-resilience techniques (e.g., selective instruction duplication), a fundamental requirement for realizing these techniques is a detailed understanding of the application’s resilience. In this project, we will extend LLTFI a high-level fault injection (FI) framework for ML applications. LLTFI is able to inject both hardware and software faults in general ML programs, and evaluate their resilience. LLTFI is a configurable FI tool that is flexible, easy to use, and portable. For more info, check out: https://github.com/DependableSystemsLab/lltfi | |||||||||||||||||||||||
16 | Karthik Pattabiraman | Middleware Platform for IoT Edge Computing | 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. 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. As the vision of the project is quite broad, there are many potential topics including distributed storage, publish/subscribe, reliability, and security/privacy. For more info, check out: http://thingsjs.io/ | |||||||||||||||||||||||
17 | John Madden | Soft Sensing Skin | Development of capacitive sensors used in robot skin (auto industry project), tights/tops/underwear for fit (clothing industry project), roller for carbon fibre composite structure layup (aerospace industry project), speech therapy (in mouth tongue position sensor), and medicine (detection of pressure points when sitting on a chair or lying on a bed, to avoid pressure injuries). The project involves sensor fabrication (3D printing, molding, bonding), PC board design, iOS or Android display of sensor output, possible ML applications. Looking for one or more students. Internationals can approach me for a Work Learn International. Contact jdwmadden@hotmail.com . | |||||||||||||||||||||||
18 | John Madden | Artificial Muscle | Actively contracting materials that are stronger than muscle are used in clothing (apparel industry project), and medical devices. This project involves electromechanical design and testing, as well as some control, and measurement. Contact jdwmadden@hotmail.com for more information. | |||||||||||||||||||||||
19 | ||||||||||||||||||||||||||
20 | ||||||||||||||||||||||||||
21 | ||||||||||||||||||||||||||
22 | ||||||||||||||||||||||||||
23 | ||||||||||||||||||||||||||
24 | ||||||||||||||||||||||||||
25 | ||||||||||||||||||||||||||
26 | ||||||||||||||||||||||||||
27 | ||||||||||||||||||||||||||
28 | ||||||||||||||||||||||||||
29 | ||||||||||||||||||||||||||
30 | ||||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | ||||||||||||||||||||||||||
36 | ||||||||||||||||||||||||||
37 | ||||||||||||||||||||||||||
38 | ||||||||||||||||||||||||||
39 | ||||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |