Call for Undergraduate Students

We are inviting undergraduate students to participate in an Early Undergraduate Research Experience program (EREP/U2RPHD) for Fall 2024. The goal of this program is to help ease undergraduate students with no prior research experience into their first research experience, preparing them to seek out URA opportunities afterwards.  

In this program, undergraduate students will

  • work in teams (2-4 students) on a research project with a graduate student mentor 
  • attend a mandatory, virtual and synchronous research methods course, taught by Computing Research Association (CRA), 2 hours per week over 12 weeks
  • attend a mandatory in-person weekly research meetup with all undergraduate students and graduate mentors in the program, 1 hour per week over 12 weeks

CRA’s research methods course will cover the foundations of research with the goal of supporting students in completing their pre-identified research project. Participants will develop and apply practical research skills, like reading and interpreting research papers, conducting literature reviews, and analyzing and presenting data. Students will hone their research comprehension and communication skills, develop an understanding of research ethics, and build their confidence in their identity as a researcher. All concepts and skills will be taught in the context of students’ projects. The course will also provide participants with an opportunity to foster a peer network of support.  

Upon successful completion of the CRA course and other program requirements, students will receive a certificate of completion from CRA, as well as CS399 course credit (graded based on their performance in the CRA course and in research).

Eligibility Criteria

  • Major: Must be enrolled in a Computer Science (CS) program.
  • Academic Level: Must have reached or surpassed the 2A academic term.

Note: Only students who meet both of the above conditions will be considered eligible.

Research Projects

Human-Computer Interaction

Punit Kunjam

Project A-1-1 (Grad Mentor: Punit Kunjam, Faculty Advisor: Oliver Schneider)

Augmented Reality for Educational Enhancement - This project aims to create an AR app that overlays educational content onto physical objects. For instance, when a student points their device at a textbook or a lab apparatus, additional multimedia content such as 3D models, animations, or video explanations appear. The application could include interactive simulations for physics experiments, anatomical models for biology, or geometric visualizations for mathematics.

Project A-1-2 (Grad Mentor: Punit Kunjam, Faculty Advisor: Oliver Schneider)

Haptic-Enhanced Augmented Reality Navigation - This project aims to develop a haptic-enhanced augmented reality navigation system for smartphones. The project focuses on integrating tactile feedback (vibrations) with AR visual cues to create a more intuitive and immersive navigation experience. This system can be particularly useful in environments where visual or auditory distractions are prevalent.

Project A-1-3 (Grad Mentor: Punit Kunjam, Faculty Advisor: Oliver Schneider)

Haptic Wind Turbulence Rendering for Flight Simulator Training - This project aims to integrate haptic feedback using the PS5 controller to simulate wind turbulence in an open-source flight simulator. The goal is to enhance the realism of flight training by providing tactile feedback corresponding to wind turbulence, improving pilot training experiences.

Ken Jen Lee

Project A-2-1 (Grad Mentor: Ken Jen Lee, Faculty Advisor: Edith Law)

Livestreaming for charity: While many livestreamers have organized charity livestreams, research still lacks a holistic understanding on how livestreaming has been used for charity purposes, as well as current socio-technical limitations when organizing such streams.

Related questions might include:

  • What are the types of content in charity livestrems?
  • How do streamers motivate viewers to donate? What is the range of reward mechanisms? How do these mechanisms change according to the streamers' characteristics (e.g., VTubers vs. non-VTubers)?
  • What tools do streamers use? What are the pros/cons of these tools?

Project A-2-2 (Grad Mentor: Ken Jen Lee, Faculty Advisor: Edith Law)

The rise of AI VTubers: VTubers gained popularity during the pandemic, and with the advancements of AI, AI VTubers have also been getting increased attention. This research investigates AI VTubers, why viewers enjoy them, and their differences with other streamers.

Some research questions might be:

  • Why do people watch AI Vtubers instead of non-VTuber streamers or other VTubers?
  • How do the content and streamer-viewer interactions of AI VTubers differ from other streamers?
  • How have perceptions changed as the AI improves over time? 4. What is the role of the design of AI VTubers' models (e.g., relatable vs. futuristic)?

Project A-2-3 (Grad Mentor: Ken Jen Lee, Faculty Advisor: Edith Law)

Becoming comfortable in your "skin": Most VTubers debut with a certain set of personality traits that they would like to portray in mind. However, their behaviour might change over time. Sometimes, this process might be described as becoming more comfortable as a VTuber.

This, of course, is a very abstract description, and entails several interesting questions, which might include:

  • What exactly does this process of "becoming comfortable" mean? What are the exact changes that are associated with this process?
  • How do VTubers think about their on-stream behavioural changes? What factors do they consider (e.g., familiarity with viewers, increase in self-confidence, honesty and transparency with trusted viewers)? Do they test these changes to determine which changes are beneficial? If so, how is it done?
  • How do these changes relate to their IRL self, the VTuber's background story, and what inspires them to become a VTuber themselves? E.g., do they realize over time that their most desired self that they want to portray as a VTuber is different from what they imagined when just starting out? What motivated such a realization?

Chunxu Yang

Project A-3-1 (Grad Mentor: Chunxu Yang, Faculty Advisor: Edith Law)

Project: Curiosity-driven Web Learning Tool The Web-based Curiosity-driven Learning Tool aims to utilize advanced language models to enhance personalized learning experiences while browsing the internet. Users could select interesting information from any website, and the tool would provide explanations, summaries, and additional details using AI.

The tool would also construct a knowledge graph, a visual map of the user's learning journey based on their selections and the relationships between various topics. This graph would evolve as users explore, illustrating the connections between different pieces of information.

Inspired by curiosity-driven learning, the tool would function like a treasure hunt for knowledge. When users encounter something intriguing, they could click on it to delve deeper. This process would facilitate the discovery of new information and promote a deeper understanding of topics, making learning more engaging and enjoyable.

Project A-3-2 (Grad Mentor: Chunxu Yang, Faculty Advisor: Edith Law)

Project: Assistant Tool for Designers and Web Developers

The Assistant Tool for Designers and Web Developers aims to empower both designers and developers to create complete component libraries independently. Currently, designers often lack sufficient knowledge of frontend development, while developers may not possess enough design principles. This tool focuses on addressing these challenges through two main aspects:

  • Design Consistency and Recommendations: The tool would ensure that web designs are consistent and aesthetically pleasing by making designer-level recommendations. It would leverage design principles and best practices to provide suggestions that enhance the overall visual appeal and usability of the web components. This enables developers to make design decisions without needing deep design expertise.
  • Design-to-Code Transformation: The tool would simplify the process of transforming design drawings into web code. It would allow designers to easily convert their designs into functional code and facilitate uniform modification of similar parts across different web components. This feature would empower designers to implement their designs without requiring extensive coding knowledge.

By integrating these functionalities, the Assistant Tool aims to help designers and developers build complete component libraries independently. This tool is designed to overcome the existing knowledge gaps, enabling both designers and developers to create high-quality web components on their own.

Project A-3-3 (Grad Mentor: Ken Jen Lee, Faculty Advisor: Edith Law)

Project: Everything on a Tap:

"Everything on a Tap" leverages the power of Generative UI to streamline everyday tasks and enhance user control over their environment. In our daily office and personal lives, we often perform repetitive actions such as adjusting the brightness of lights or checking stock statuses. This tool aims to simplify these tasks by introducing Generative UI.

With "Everything on a Tap," users can make requests via a voice assistant, which will then generate a custom dashboard or control buttons tailored to their needs. These components can be displayed on any device, including phones, laptops, or even VR headsets. By integrating user-specified components that interact with the real world, the tool increases users' control over their surroundings.

Whether it's adjusting home settings, managing office tasks, or accessing real-time information, "Everything on a Tap" provides a seamless and intuitive way to handle various activities through Generative UI. This approach not only saves time but also enhances convenience, allowing users to focus on what truly matters.

Kris Frasheri

Project A-4-1 (Grad Mentor: Kris Frasheri, Faculty Advisor: Edith Law)

In today's rapidly evolving technological landscape, students struggle to retain long-term knowledge and lack the collaborative, real-world problem-solving skills essential for success. This research project aims to develop an advanced Intelligent Tutoring System (ITS) that addresses modern challenges in the learning process by combining Constructivist and Connectivist educational philosophies. Leveraging Large Language Models (LLMs), artificial intelligence (AI) and Retrieval-Augmented Generation (RAG), we aim to develop an ITS that fosters deep, experiential learning through artificially generated social interactions and scenarios. Recent LLM research has shown this system's capabilities to reflect human sentiment in its output and generate interactive scenarios that mimic real-world social interactions and STEM-related problem-solving tasks . Students will work on developing specific components of the ITS, such as creating LLM-based interactive scenarios, designing algorithms or user interfaces for personalized learning paths, and implementing real-time feedback systems.

Project A-4-2 (Grad Mentor: Kris Frasheri, Faculty Advisor: Edith Law)

The Protégé Effect refers to the phenomenon where teaching others helps learners better understand and retain information. Traditional Protégé Effect implementations often rely on static or rule-based systems, which lack the dynamic and responsive capabilities for long-term learning. This project aims to develop an Intelligent Tutoring System (ITS) that harnesses the Protégé Effect by having students teach virtual peers, solidifying their understanding and retention of the material. Grounded in Constructivist and Social Learning Theory principles, our research explores the benefits of artificially facilitating teaching and social interactions in the learning process. Leveraging Large Language Models (LLMs) and Retrieval-Augmented Generation (RAG), our ITS will create context-aware virtual peers to simulate nuanced human interactions for collaboration with human learners. The system will adapt the difficulty and type of teaching tasks based on student progress and performance determined through statistical methods such as Thompson Sampling, providing increasingly challenging scenarios to encourage deeper learning. Real-time, context-aware feedback will help students identify gaps in their knowledge and correct misconceptions. Our research aims to investigate how explaining concepts and answering questions posed by these AI-driven peers will solidify learners' understanding and retention of the material. Furthermore, our research will explore the impact of LLM technologies on making the teaching experience more engaging and effective.

Project A-4-3 (Grad Mentor: Kris Frasheri, Faculty Advisor: Edith Law)

Immigrants often encounter significant challenges in their academic, professional, and social lives if they do not have a firm grasp of the language of their country. This research project aims to develop an AI-driven language education tool for immigrants struggling to learn English in North America. By identifying each learner's current skill level and Zone of Proximal Development (ZPD), the tool will create personalized educational pathways to help them grasp the semantics of the English language. Leveraging Large Language Models (LLMs), Retrieval-Augmented Generation (RAG) models, and statistical methods, this system aims to tailor instruction to suit individual English proficiency and optimize learning outcomes. Components of this research will be leveraging LLM-based conversational agents for interfacing with the learner, RAG models for English education context-specific content retrieval, and employing statistical methods such as Thompson Sampling to quantify the learner's ZPD.

Akanksha Khandwaha

Project A-5-1 (Grad Mentor: Akanksha Khandwaha, Faculty Advisor: Edith Law)

There have been many discussions, both in academia and the public sphere, about whether AI can be creative, or intelligent - for this project, I would like to argue that AI should not be evaluated on the same benchmarks that help measure human cognitive abilities. To do this, I would first like to explore how cognitive abilities such as creativity and intelligence are defined and measured in humans, and how they differ among cultures and change over time - that, in fact, there is no single metric that can help measure these abilities. Next, drawing from the philosophical idea of ‘variabilism’, I would like to explore the potential of having different theories for the same “abilities” in humans and AI since they are different “beings”. Lastly, I’d also like to argue that interest in questions such as these stem from the fear of devaluing human labour - for example, questions about whether AI can produce art has implications for human artists and what value their work has - thus we should focus on the economic and social impact AI has on humans rather than attributing human characteristics to AI.

Project A-5-2 (Grad Mentor: Akanksha Khandwaha, Faculty Advisor: Edith Law)

In this project, we would like to develop an AI-facilitated medical interpretation tool that can be used by patients at Grand River Hospital in Waterloo. There is a large newcomer population in Waterloo, and medical interpreters are difficult to find on short notice while being costly. To do this, we will draw from medical literature to develop the structure of a standard patient-doctor conversation. We’d like to explore ways that AI models could help with developing a structured medical conversation. We will also draw from HCI to develop and design an interface that is accessible and works best for both patients and healthcare practitioners. First, we’d like to create this tool for a specialty such as pre-natal care, and expand to different specialties including cardiology and emergency. We would also like to explore if there are ways to embed cultural knowledge while translating, so that both the doctor and patient have a better understanding of each other's needs.

Project A-5-3 (Grad Mentor: Akanksha Khandwaha, Faculty Advisor: Edith Law)

Benchmarking is one of the main methods for evaluating an AI model’s performance. However, these ‘state of the art’ models tend to underperform in the real world. For this reason, I’d like to explore how and why these benchmarks fail to holistically evaluate the capabilities of AI models, and ways we can mitigate these effects. I’d like to first draw from previous work of mine exploring benchmarking in medical AI, which argues that benchmarks are not and will never be a holistic metric, and that we need to move beyond just benchmarking (especially for applications to high risk domains). From here, I would like to explore different ways that we can move beyond benchmarks and potentially develop a guideline for evaluating AI in medicine and other high risk domains. This will include ways to evaluate real world performance while minimizing risk, and draw from HCI to guide AI researchers on how to collaborate with stakeholders to develop models that result in beneficial change to their workflow.

Data Systems / Information Retrieval

Besat Kassaie

Project B-1-1 (Grad Mentor: Besat Kassaie, Faculty Advisor: Frank Tompa)

Answering questions on mathematics Community Question Answering (CQA) platforms like Math Stack Exchange is a demanding task that necessitates a deep understanding and sophisticated reasoning. Many questions on these platforms are complex, requiring knowledge of various aspects of the subject. However, these CQA platforms offer extensive, freely accessible data repositories, and numerous online resources cover these complex topics. These repositories might already have appropriate answers, shifting the challenge from reasoning to searching. The objective of mathematical retrieval systems is to extract the most relevant answers from the repository (the CQA corpus) for newly posed questions. In this research project, we aim to explore how recent advancements in large language models (LLMs) can enhance various aspects of mathematical information retrieval systems, including, but not limited to, query formulation and ranking.

Project B-1-2 (Grad Mentor: Besat Kassaie, Faculty Advisor: Frank Tompa)

Relational databases are renowned for their ability to handle complex and large SQL queries, but writing these complex queries can be challenging for humans. Meanwhile, Pre-trained Language Models (PLMs), such as BERT, and especially large language models (LLMs), have shown remarkable performance across various text processing and understanding tasks, including question answering, code generation, and relation extraction. LLMs are fundamentally transforming how computers comprehend, manipulate, and generate natural language. In this project, we aim to explore the potential of LLMs in translating natural language queries from users into SQL queries. We will evaluate the accuracy of these translations and investigate the limitations of LLMs in this context.

Raunak Pradeep

Project B-2-1 (Grad Mentor: Raunak Pradeep, Faculty Advisor: Jimmy Lin)

Objective: To investigate the impact of diverse retrieval results on the effectiveness of retrieval-augmented generation systems.

This project will focus on enhancing the diversity of retrieval results to improve the overall quality and relevance of generated content. Students will explore different methods to ensure a diverse set of retrieved segments, incorporating novelty metrics, and balancing precision and recall. The project will involve designing experiments to compare traditional recall-focused retrieval approaches with diversity-enhanced methods, and evaluating their impact on the relevance, coherence, and accuracy of the generated responses of large language models.

Project B-2-2 (Grad Mentor: Raunak Pradeep, Faculty Advisor: Jimmy Lin)

Objective: To develop strategies for identifying and filtering out misinformation and distractors to improve the accuracy and reliability of content generated by RAG systems.

This project will address the challenge of misinformation and irrelevant distractors in retrieved segments. Students will investigate techniques for detecting and filtering misinformation, such as leveraging fact-checking databases, implementing trustworthiness scoring, and developing models to identify distractor documents. The project will involve designing experiments to test these techniques and evaluating their impact on the quality and reliability of the generated responses.

Project B-2-3 (Grad Mentor: Raunak Pradeep, Faculty Advisor: Jimmy Lin)

Objective: To explore the balance of citation frequency in generated responses to ensure informativeness without overloading the text with references.

This project will focus on finding the optimal amount of citation in responses generated by retrieval-augmented generation (RAG) systems. Students will investigate the effects of over-citation and under-citation on the quality and credibility of generated content. The project will involve designing methodologies to measure the effectiveness of different citation strategies, running experiments to determine the balance between providing sufficient attribution and maintaining readability, and developing guidelines for optimal citation practices in RAG systems.

Harrum Noor

Project B-3-1 (Grad Mentor: Harrum Noor, Faculty Advisor: Tamer Ozsu)

Explainability in NL2SQL (Natural Language to SQL) Models

This project focuses on enhancing the explainability of Large Language Models (LLM) used for NL2SQL tasks. The student will investigate various methods to make the decision-making process of the LLM model more transparent and understandable. After researching existing explainability techniques in NLP, the student will implement one or two methods, such as attention visualization or SHAP values, to show how the LLM arrives at its SQL translations. The effectiveness of these techniques will be assessed through a user study, measuring how well users can understand the model's decisions. The project will conclude with a report detailing the implementation process, findings, and the effectiveness of the explainability techniques in improving user comprehension.

Project B-3-2 (Grad Mentor: Harrum Noor, Faculty Advisor: Tamer Ozsu)

Comparative Analysis of Different Large Language Models for NL2SQL

In this project, the student will conduct a comparative analysis of different LLMs such as GPT-3, BERT and T5, etc. specifically for the NL2SQL task. The objective is to understand how these models perform when translating natural language queries into SQL commands. The student will gather a dataset of natural language and SQL query pairs, fine-tune each model on this dataset, and evaluate their performance using metrics like accuracy, precision, recall, and F1 score. This project will end in a detailed report that highlights the strengths and weaknesses of each model, providing insights into which model is more suitable for different types of NL2SQL tasks.

Project B-3-3 (Grad Mentor: Harrum Noor, Faculty Advisor: Tamer Ozsu)

Data Augmentation Techniques for Enhancing NL2SQL Model Performance

In this project, the student will explore various data augmentation techniques to improve the performance of BERT in NL2SQL tasks. The objective is to generate additional training data that can help the model generalize better to unseen queries. The student will experiment with different augmentation strategies, such as paraphrasing natural language queries, introducing syntactic variations in SQL queries, and creating adversarial examples. By evaluating the impact of these techniques on the model's performance, the student will provide insights into which augmentation methods are most effective. The final deliverable will be a comprehensive report detailing the augmentation techniques used, the experimental setup, results, and recommendations for practitioners.

Shufan Zhang

Project B-4-1 (Grad Mentor: Shufan Zhang, Faculty Advisor: Xi He)

Due to LLMs, text data, video data and data of other modalities are stored in vector forms in a vectorized DB. Retrieving data from a vector DB requires submission of a query vector and the DB will run algorithms to get the K nearest data vectors in the DB. However, sometimes query can be more complicated to also contain constraints based on relational DB. For example, one can query about what is the most similar picture in the database compared to a submitted dress photo but the dress must be blue. This project aims to study fast methods for simultaneously querying vector DB and relational DB.

Project B-4-2 (Grad Mentor: Shufan Zhang, Faculty Advisor: Xi He)

LLM is trained on huge amount of data, which possibly contains individual information scraped from the Internet. This project aims to study, from the red teaming perspective, when and how LLM can spit out private data.

Project B-4-3 (Grad Mentor: Shufan Zhang, Faculty Advisor: Xi He)

Trustworthy LLMs. This project aims to study efficient methods to protect the privacy of individual data used in training LLMs or approaches to improve the robustness of LLMs.

Dake Zhang

Project B-5-1 (Grad Mentor: Dake Zhang, Faculty Advisor: Mark D. Smucker)

We are organizing a benchmark competition: https://trec-lateral-reading.github.io/, with participants from academia and industry. Students will work with us on how to properly evaluate the submissions. The key research question is how to automatically and reliably evaluate generated text, like those produced by Large Language Models.

Project B-5-2 (Grad Mentor: Dake Zhang, Faculty Advisor: Mark D. Smucker)

The current web landscape requires the ability to make judgments about the trustworthiness of information, which is a difficult task for most people. Our goal is to explore Natural Language Processing and Information Retrieval technologies to support people’s trustworthiness evaluation of online news.

Project B-5-3 (Grad Mentor: Dake Zhang, Faculty Advisor: Mark D. Smucker)

Researchers have discovered that professional fact-checkers follow a process of Lateral Reading that involves asking questions about a document’s source and evidence and seeking answers to these questions via search engines in order to establish the document’s trustworthiness. We are interested in the differences between the questions asked by humans and those produced by Large Language Models when examining the trustworthiness of online news.

Software Engineering

Zhili Zeng

Project C-1-1 (Grad Mentor: Zhili Zeng, Faculty Advisor: Shane McIntosh)

Continuous Integration (CI) is a popular software development practice that quickly verifies updates to codebases. To cope with the ever-increasing demand for faster software releases, CI acceleration approaches have been proposed; however, adoption of CI acceleration is not without risks. For example, CI acceleration products may mislabel change sets (e.g., a build labeled as failing that passes in an unaccelerated setting or vice versa) or produce results that are inconsistent with an unaccelerated build (e.g., the underlying reasons for failure differ between (un)accelerated builds). These inconsistencies threaten the trustworthiness of CI acceleration products.

The task of this project is to systematically evaluate the trustworthiness of CI acceleration. The project is consisting of three part:

a) review literature of state-of-the-art CI acceleration methodology
b) select appropriate studied CI acceleration methods: e.g. regression testing, test case skipping;
c) evaluate the trustworthiness with appropriate metrics: e.g. accuracy, correctness, mutation score.

Project C-1-2 (Grad Mentor: Zhili Zeng, Faculty Advisor: Shane McIntosh)

Self-Admitted Technical Debt (SATD) annotates development decisions that intentionally exchange long-term software artifact quality for short-term goals. Recent work explores the existence of SATD clones (duplicate or near duplicate SATD comments) in source code. Cloning of SATD in build systems (e.g., CMake and Maven) may propagate suboptimal design choices, threatening qualities of the build system that stakeholders rely upon (e.g., maintainability, reliability, repeatability).

This project aims at conducting empirical study on SATD comments extracted from various build systems to investigate the prevalence of SATD clones and to characterize their incidences.

Project C-1-3 (Grad Mentor: Zhili Zeng, Faculty Advisor: Shane McIntosh)

The pace of software development depends on the pace at which changesets can be processed by Continuous Integration (CI). CI acceleration has been proposed in the literature but has only recently emerged in consumer products.

This project aims at studying the time performance of various CI acceleration products based in different techniques (e.g. program analysis, machine learning etc.). By replaying the CI process of multiple builds spanning in different open-source projects, the researchers are expected to compare the priming costs (i.e., the extra time spent preparing for acceleration) and time saving for studied CI acceleration products.

Anubhav Gupta

Project C-2-1 (Grad Mentor: Anubhav Gupta, Faculty Advisor: Meng Xu)

Title: Are LLMs Meeting Expectations in Security Code Review?

This research aims to explore the effectiveness of large language models (LLMs) in the security code review process. Specifically, we will evaluate the performance of various LLMs in identifying security vulnerabilities within code. Our study will utilise a specialised dataset of security vulnerabilities, meticulously curated in-house by a team of experts (we already have the dataset). By comparing the performance of different LLMs on this dataset, we seek to determine their potential as reliable tools in enhancing security code reviews. The findings from this research could significantly inform best practices for incorporating LLMs into security workflows, ultimately contributing to more robust and secure software development processes.

Project C-2-2 (Grad Mentor: Anubhav Gupta, Faculty Advisor: Meng Xu)

Title: Can Strategic Prompting improve LLMs efficiency is finding software bugs?

This research aims to develop an automated prompting framework designed to enhance the efficiency of large language models (LLMs) in identifying software bugs. The proposed framework will involve iterative steps to query LLMs, providing them with meaningful context related to specific bugs. This context will be mined from official MITRE documentation and aggregated to form useful information that guides the LLMs in bug detection. By generating strategic, automated prompts, we aim to improve the accuracy and efficiency of LLMs in pinpointing software bugs. The outcome of this research could revolutionise the way LLMs are utilised in software debugging, leading to more reliable and efficient bug detection processes.

Project C-2-3 (Grad Mentor: Anubhav Gupta, Faculty Advisor: Meng Xu)

Title: Multi AI Agent Systems Framework to Improve LLM Accuracy in Software Bug Detection

This research proposes the development of a multi-AI agent systems framework to enhance the accuracy of large language models (LLMs) in detecting software bugs. The framework will integrate multiple AI agents, each specialising in different aspects of contextual understanding from the bug's documentation. These agents will collaborate and share insights, creating a synergistic approach to identifying software vulnerabilities. By leveraging the strengths of diverse AI agents, we aim to improve the overall precision and reliability of LLMs in software bug detection. This innovative framework has the potential to set new standards in automated bug detection, ensuring more robust and secure software development.

There is a short course on Multi AI Agent Systems with crewAI that can be referred to if you are interested in working on this problem (https://www.deeplearning.ai/short-courses/multi-ai-agent-systems-with-crewai/).

Gengyi Sun

Project C-3-1 (Grad Mentor: Gengyi Sun, Faculty Advisor: Shane McIntosh)

Predicting the software test failures with machine learning

Background: After a code change is written and before it is integrated into the software repository, the incoming change must go through the build system, which compiles the code files, links the compiled binary files, and executes test suites. The build process fails when a compilation error occurs or test execution fails. A large portion of builds failed due to test failures. Therefore, developing methods to accurately predict the test execution results can help software developers come up with countermeasures, either to improve the code quality or to save build resources.

Research methods: Leveraging change information, code patches, and test information to predict the likelihood of test execution failures with machine learning, deep learning, or large language models.

Students will:

  • Collect datasets from open-source repositories.
  • Pre-process the collected raw data.
  • Use data analysis techniques to study the characteristics of the studied problem.
  • Experiment ML techniques to tackle the software engineering problem.
  • Evaluate the proposed approach

Project C-3-2 (Grad Mentor: Gengyi Sun, Faculty Advisor: Shane McIntosh)

Predicting the software build failures with machine learning

Background: After a code change is written and before it is integrated into the sfotware repository, the incoming change must go through the build system, which compiles the code files, links the compiled binary files, and executes test suites. The build process fails for various reasons. We can characterize the failures and predict them with machine learning models. Anticipating the build results enable strategies to save the build cost or improve build environment. For example, several passing builds can be stacked together and execute in one build to save expensive build costs. Therefore, developing methods to accurately predict the build results can help software developers to come up with countermeasures, either to improve the build quality, or to save build resources.

Research methods: Leveraging change information, code patches, and test information to predict the likelihood of build failures with machine learning, deep learning, or large language models.

Students will:

  • Collect datasets from open-source repositories.
  • Pre-process the collected raw data.
  • Use data analysis techniques to study the characteristics of the studied problem.
  • Experiment ML techniques to tackle the software engineering problem.
  • Evaluate the proposed approach.

Project C-3-3 (Grad Mentor: Gengyi Sun, Faculty Advisor: Shane McIntosh)

Study the toxicity in code review comments

Background: When collaborating with other developers, after code is written and submitted, it will usually go through a process call “code review”, where other developers will review the incoming change and provide suggestions. The incoming changes will then be integrated into the code repository if the code reviewers come to consensus. However, not only comments like “looks good to me” appear during the code review process, sometimes the discussion can get very spicy. These negative sentiments expressed during the code review stage may hurt the feelings of the code contributors or code reviewers.

Research methods: Study the prevalence of negative sentiments in open-source communities, and come up with countermeasures to mitigate the problem.

Students will:

  • Collect datasets from open-source repositories
  • Pre-process the collected raw data
  • Use data analysis techniques to study the characteristics of the studied problem
  • Evaluate the proposed approach

Deep Learning / Computational Neuroscience

Ehsan Ganjidoost

Project D-1-1 (Grad Mentor: Ehsan Ganjidoost, Faculty Advisor: Jeff Orchard)

The research idea involves integrating predictive coding, a neuroscience theory, into reinforcement learning (RL) frameworks to enhance learning efficiency and performance. Predictive coding suggests that the brain continuously generates and updates predictions about sensory inputs, minimizing the prediction error by adjusting its internal model. If applied to RL, this approach could revolutionize how agents learn to make decisions by maximizing cumulative rewards through interactions with an environment.

During the semester, the researcher will focus on three main tasks:

  • Literature Review and Theoretical Framework: Review existing literature on predictive coding and its applications in machine learning, understand reinforcement learning fundamentals, and develop a theoretical framework for mapping predictive coding principles onto RL algorithms.
  • Implementation and Experimentation: Design and implement a simple RL environment to test predictive coding mechanisms, develop a hybrid RL model with predictive coding, and aim to demonstrate its outperformance of traditional RL models regarding learning speed, stability, and performance.
  • Analysis and Reporting: Analyze experimental results, identify strengths and limitations of integrating predictive coding into RL, and prepare a final report summarizing the findings and potential applications.

By the end of the semester, the researcher aims to gain hands-on experience in blending neuroscience-inspired theories with machine learning techniques and potentially open new avenues for enhancing artificial intelligence systems. This research could have significant practical implications, paving the way for more efficient and effective AI systems.

Project D-1-3 (Grad Mentor: Ehsan Ganjidoost, Faculty Advisor: Jeff Orchard)

The research idea is to integrate predictive coding into multi-modality models to enhance their ability to generate and interpret data from various forms, like images, sounds, and text. This research aims to apply neuroscience-inspired predictive coding to advance multi-modality models in AI systems.

Throughout the semester, the researcher will focus on three main tasks:

  • Literature Review and Theoretical Framework:
    - Review existing literature on predictive coding and multi-modality models in machine learning.
    - Understand the core principles of multi-modality models.
    - Develop a theoretical framework outlining how predictive coding can enhance the performance of multi-modality models.
  • Implementation and Experimentation:
    - Design and implement a basic multi-modality model.
    - Integrate predictive coding mechanisms into the model.
    - Conduct experiments to compare the performance with traditional models.
  • Analysis and Reporting:
    - Analyze the experimental results and evaluate the impact of predictive coding on the model's ability to generate and understand multi-modal data.
    - Identify strengths, weaknesses, and potential areas for improvement.
    - Prepare a final report detailing the findings and potential applications, such as a generic generative model and future research directions.

This research seeks to contribute to advancing data generation and understanding in AI systems by bridging neuroscience principles with multi-modality models.

Project D-1-2 (Grad Mentor: Ehsan Ganjidoost, Faculty Advisor: Jeff Orchard)

Research Idea: Continuous Learning with Predictive Coding for Energy-Efficient AI.

This research aims to develop a continuous learning model that operates with sustainable energy consumption in AI, leveraging the principles of predictive coding. This model, inspired by the brain's learning process, will integrate learning and operation into a single continuous phase, thereby advancing AI for energy-constrained environments.

The researcher will embark on a meticulous and systematic approach, undertaking three main tasks:

  • Literature Review and Theoretical Framework:
    - Conduct a comprehensive literature review on predictive coding, continuous learning algorithms, and energy-efficient machine learning techniques.
    - Develop a theoretical framework outlining the integration of predictive coding into a continuous learning model, emphasizing energy efficiency.
  • Model Development and Experimentation:
    - Design and implement a basic predictive coding model that continuously updates parameters based on accumulated prediction errors, ensuring low energy consumption.
    - Conduct experiments to compare the performance and energy efficiency with traditional machine learning models.
  • Analysis and Reporting:
    - Analyze experimental results to assess the continuous predictive coding approach's effectiveness in learning efficiency and energy consumption.
    - Conclude with a comprehensive report that encapsulates the findings and offers invaluable insights for practical, real-world applications.

Upon successful completion of this research, a groundbreaking, energy-efficient continuous learning model using predictive coding principles will be unveiled, poised to revolutionize artificial intelligence for deployment in energy-constrained environments. This is a research outcome that holds immense potential and is sure to pique the interest of the academic and industry professionals in our field.

Distributed Systems

Joseph Boulis

Project E-1-1 (Grad Mentor: Joseph Boulis, Faculty Advisor: Sujaya Maiyya)

The project focuses on developing multiple distributed clients to test and evaluate the correctness and performance of an Eventually Durable:
[1] version of TiKV
[2] database.

These clients will simulate various transaction scenarios, from high-frequency to low-frequency data accesses, and from read intensive to write intensive workloads. It will interface with TiKV’s APIs that we wrote to explore how different durability policies impact transaction speed while testing that correctness is preserved. The project aims to produce a robust workload generator, detailed performance benchmarks, and comprehensive documentation. This work will provide insights into optimizing TiKV's transaction management and durability trade-offs, contributing valuable knowledge to the field of distributed databases.

Project E-1-2 (Grad Mentor: Joseph Boulis, Faculty Advisor: Sujaya Maiyya)

This project focuses on optimizing distributed databases by evaluating balancing algorithms and sharding techniques independently and together. The URA will use an existing open-source distributed database. Phase one explores balancing algorithms like round-robin, least connections, and IP hashing, potentially including more complex options, to assess load distribution under varying data access patterns. Phase two evaluates sharding techniques (range-based, hash-based, directory-based) through benchmarking their impact on performance metrics like latency and scalability under different workloads. Finally, we'll combine promising balancing algorithms with each sharding technique and comprehensively evaluate these combinations. This research aims to identify the most effective combination for specific workloads, ultimately leading to optimized performance and scalability in distributed database systems. By conducting experiments and analyzing the results, the project will determine the strengths and weaknesses of each sharding technique and balancing algorithm under different scenarios. The findings will provide valuable insights into selecting the most appropriate combination of sharding technique and balancing algorithm based on workload characteristics, helping database administrators and developers optimize performance in distributed database environments.

Project E-1-3 (Grad Mentor: Joseph Boulis, Faculty Advisor: Sujaya Maiyya)

For this project, the URA will investigate and analyze latency factors in transaction processing within open-source geo-distributed databases (CockroachDB [1], YugabyteDB [2], TiKV [3], and PolarDB [4]), with a specific focus on transaction durability. The aim is to uncover insights into latency bottlenecks, providing valuable information for optimizing transaction processing performance. The URA will examine diverse aspects of distributed databases, including transaction protocols, concurrency control mechanisms, isolation levels, conflict resolution techniques. Through a thorough analysis, the URA will identify and understand the key factors that contribute to latency, which will pave the way to future optimizations to enhance transaction processing efficiency in geo-distributed databases. Finally, the URA will try to develop an abstraction model that captures the critical path needed for transactional durability across these four previously mentioned distributed databases.

Responsibilities and Expectations

Participants will need to certify that they understand and will adhere to the following responsibilities and expectations:

  • Engage in a research project with your research group (1-3 other undergraduates), a graduate student mentor, and a faculty member (if applicable)
  • Actively participate in the same course session and time as their research team (i.e., attending all course sessions with camera on, arriving on time, participating in discussion when prompted, completing course assignments in a timely fashion). Students will be allowed no more than 2 unexcused absences throughout the course.
  • Participate in program evaluation efforts, as requested