Undergraduate Research Opportunities with CS Professors
Antonio Bianchi
Prof. Antonio Bianchi is seeking motivated undergraduate students to join research projects on security analysis and exploitation of Linux and Android systems. These projects provide hands-on experience in computer security and may involve:
- Analyzing the security of Android applications and system components
- Investigating security issues in the Linux kernel
- Identifying vulnerabilities through reverse engineering, program analysis, network analysis, and automated testing
- Developing and evaluating proof-of-concept exploits
Interested students can send Prof. Antonio Bianchi their CV at antoniob@purdue.edu.
Berkay Celik
I have a couple of projects detailed below that undergraduate students might be interested in working over the summer.
1. Security of AI and Autonomous Systems
AI is increasingly used in systems that perceive their environments, make decisions, and execute actions with limited human intervention. Examples include AI agents, robotic systems, and self-driving vehicles. These capabilities introduce new security challenges because attackers may manipulate the information these systems receive or influence the actions they perform. Our research investigates security threats against AI and autonomous systems and develops methods to identify, analyze, and defend against these threats. Students may contribute to the design of attacks and defenses, the development of experimental testbeds, and the systematic evaluation of system behavior under adversarial conditions.
Example project: Consider a robot controlled by a vision-language-action (VLA) model that uses camera observations and natural-language instructions to perform tasks. An attacker might introduce deceptive objects into the robot's environment to influence its decisions, causing it to select incorrect actions or violate safety constraints. Students could investigate how such attacks affect the robot's behavior across multiple tasks, develop methods to detect or prevent these attacks, and evaluate their effectiveness in simulated robotic environments.
2. AI Agents for Security Analysis and Defense
Recent advances in AI have made it possible to develop agents that can reason about complex environments, plan sequences of actions, interact with tools, and adapt their decisions based on new information. These capabilities create opportunities for security analysis, vulnerability discovery, attack-path analysis, and defensive operations. Our research investigates how AI agents can understand computer systems and networks, identify security weaknesses, plan and coordinate actions, and use evidence from previous operations to guide future decisions. Students may contribute to the development of agent architectures, planning algorithms, graph-based reasoning methods, experimental platforms, and methods to evaluate agent capabilities.
Example project: Consider an AI agent tasked with determining whether an attacker could access sensitive information in a computer network. The agent must examine available evidence, identify possible attack paths, select security tests, and revise its plan as it discovers new information. Students could develop and compare different planning and decision-making approaches to determine which methods allow agents to achieve their objectives efficiently and accurately in simulated network environments.
Interested students should contact Prof. Z. Berkay Celik at zcelik@purdue.edu with their CV, a brief description of any prior relevant research experience, and a summary of their experience or interests related to the research directions described above.
Pedro Fonseca
The Reliable and Secure Systems Lab is looking for strongly motivated undergraduate students that enjoy systems programming and would like to work on systems and security research projects. The lab accepts applications all year round and initial projects last for a full semester (spring, summer, or fall). Successful projects may continue beyond the initial semester.
Past research lab interns received competitive national research awards for their work and were accepted to graduate programs at CMU, Georgia Tech, MIT, Purdue, UC Berkeley, UCSD, University of Michigan, and others.
Admitted students will be closely advised by both faculty and graduate students and will be involved in the day-to-day activities of the lab. Prior research experience is not required.
The Reliable and Secure Systems Lab currently has several research projects available on emerging topics that include:
- Efficient automated testing (e.g., fuzzing)
- Operating system testing for concurrency and non-concurrency bugs
- Efficient and practical distributed and serverless computing frameworks
- High-security systems for remote computations that leverage trusted hardware (e.g., SGX, TZ)
- Failure diagnosis for production settings
- Efficient system hardening
Having taken the system programming course or having similar experience is a requirement for these positions. In addition, the following skills and courses are a plus but are not required:
- Operating systems course
- Knowing C and/or python languages
- Knowing assembly language basics (only applies to some projects)
Prospective students should email Prof. Pedro Fonseca ( pfonseca@purdue.edu) with their CVs and a short description of their interests.
Learn more information about past projects conducted at the lab.
Christina Garman
I have a couple of projects detailed below that undergraduate students might be interested in working over the summer. Please contact me at clg@cs.purdue.edu if you have any questions.
1. The Applied Cryptography Research lab is seeking interested students to help with a variety of projects in applied cryptography and network security. Please see the below descriptions for the projects and skills/experiences that might be useful for working on them. The specified skill sets are not required but are skills that the student will learn throughout the course of the project if she/he does not already have them. And while these skills are a bonus, we are mainly looking for highly motivated and interested students. Please feel free to apply even if you have no prior research experience!
Please contact me at clg@cs.purdue.edu if you have any questions, and if you are interested in getting involved, fill out the following Google Form.
Project Name: Automatic Identification of Cryptographic Algorithms in Binaries
Project Description:
Identification of cryptographic primitives can be used to detect the presence of malicious payloads in binaries as well as a tool for binary analysis. This project aims to develop a novel approach to identify different cryptographic algorithms in heavily obfuscated binaries.
Project Tasks:
Students will perform a variety of tasks which may include running C++ code of cryptographic functions to learn about their characteristics, analyzing binary code, testing our various approaches on different obfuscated binaries, and working with machine learning scripts for supervised learning. Some other contributions may include:
- Survey and comparison of existing techniques
- Develop a novel approach to identify specific algorithm/function
- Loop body identification
- Control-flow/data flow analysis
- Function signature identification
- Use supervised learning for better detection
- Targeted Algorithms:
- ECDSA, RSA, AES, AES-GCM, RC4
Helpful skills (suggested but not required):
- Language skill: C/C++, Python
- Algorithm: RSA, AES, ECDSA, RC4
- Others: Binary analysis, supervised learning/machine learning
2. Project Name: TorMB: Bringing Network Function Virtualization to Tor
Project Description:
Tor is a powerful and important tool for providing anonymity and censorship resistance to users around the world. Yet it is surprisingly difficult to deploy new services and functionality in Tor—it is largely relegated to proxies and hidden services—or to nimbly react to new forms of attack. This project seeks to close this gap by introducing programmable middleboxes into the Tor network. In this architecture, users can install and run sophisticated “functions” on willing Tor routers. We will work to demonstrate a wide range of functions that improve anonymity, resilience to attack, performance of hidden services, and more.
Project Tasks:
Students will perform a variety of tasks which may include extending the current set of functions to include privacy preserving statistics gathering for the Tor network, learning about SGX, working to extend the current system to enable function deployment in SGX, and building and deploying their own functions on the Tor network. There is the potential for a large degree of freedom in this project if the student would like, as we are always looking for new functions and functionality to build and deploy.
Helpful skills (suggested but not required):
Programming Language : Python, C/C++ programming in SGX
Concepts and basics: Onion Routing (specifically Tor) and anonymous communication networks, SGX
Coursework: CS422 Computer Networks (or equivalent), CS426 Computer Security (or equivalent)
Majid Kazemian
Description of the Research: The Kazemian Lab (kazemianlab.com) investigates the molecular mechanisms underlying cancer, infectious diseases, and immune-related disorders using computational approaches, advanced sequencing technologies, and artificial intelligence (AI). We are looking for motivated undergraduate students, particularly from Computer Science, to participate in research projects involving bulk and single-cell RNA sequencing data analysis, machine learning, and generative AI approaches for designing novel therapeutic peptides.
Qualifications: Programming experience in Python, R, or Perl and an interest in bioinformatics, machine learning, or computational biology. No prior biology background is required. Students are expected to commit approximately 10–12 hours per week. Freshmen and sophomores are particularly encouraged to apply, as we prefer students who can remain involved in research over multiple semesters.
How to apply: Applicants should directly email Dr. Kazemian with their CVs and a short description of their interests.
Daisuke Kihara
Each semester I have more than a couple of undergrad students from CS, Biology and other departments (like BME). Students are involved in bioinformatics research. No biology background is required.
Potential projects include:
- Deep learning model for protein structures and design, cryo-EM image data
- LLM for biological sequence and function analysis
Check the lab website at https://kiharalab.org for active projects
Contact Prof. Kihara via email for additional details.
Chunyi Peng
The project is centered on autonomous drones through advanced computer vision and robotics control techniques. Our work is to bridge the gap from the lab to the field. Specifically, we aim to convert computer vision techniques developed in the lab, simulator and benchmarks into those ready to run over commodity drones so that they can fly in a fully autonomous manner in the wild.
More information about ongoing and past projects can be found at https://airlab.cs.purdue.edu/.
To express interest, email Dr. Peng with a resume and feedback/comments on one or more past projects.
Ahmed Qureshi
The CS department's Cognitive Robot Autonomy and Learning (CoRAL) lab is looking for 3-4 highly motivated graduate and undergraduate students for the following research projects:
- Augmented/Virtual Reality for Robot Manipulation and Simulation Design: Students will develop a novel VR-driven simulation system for robot control in home-like environments.
- Design and Development of Vision-based Robot Teleoperation System: Students design a low-cost teleoperation system that allows complete control over a given robotic system based on visual perception.
Mandatory Qualifications:
- Strong programming skills (Advanced-level C++/Python).
- Familiar with undergraduate-level linear algebra and calculus.
In addition, candidates with one or more of the following skills are preferred:
- Experience with Deep Learning and Simulation Design.
- Experience with RGBD sensors and oculus rift.
Interested students: Please fill out the following application form and follow the provided instructions:
Lin Tan
To get involved in any of the following three projects, please attach your resume and transcripts in pdf or plain text format with your email to lintan@purdue.edu.
Possible industry involvement: Some of these projects are funded by Facebook research awards and J.P. Morgan AI research awards.
Project 1. Testing Deep Learning Systems
We will build cool and novel techniques to make deep learning code such as TensorFlow and PyTorch reliable and secure. We will build it on top of our award-winning paper (ACM SIGSOFT Distinguished Paper Award)!
Machine learning systems including deep learning (DL) systems demand reliability and security. DL systems consist of two key components:
- models and algorithms that perform complex mathematical calculations, and
- software that implements the algorithms and models.
Here software includes DL infrastructure code (e.g., code that performs core neural network computations) and the application code (e.g., code that loads model weights). Thus, for the entire DL system to be reliable and secure, both the software implementation and models/algorithms must be reliable and secure. If software fails to faithfully implement a model (e.g., due to a bug in the software), the output from the software can be wrong even if the model is correct, and vice versa.
This project aims to use novel approaches including differential testing to detect and localize bugs in DL software (including code and data) to address the testing oracle challenge.
Good programming skills and strong motivation in research are required. Background in deep learning and testing is a plus.
Early work and background can be found here:
Problems and Opportunities in Training Deep Learning Software Systems: An Analysis of Variance (PDF)
CRADLE: Cross-Backend Validation to Detect and Localize Bugs in Deep Learning Libraries (PDF)
Project 2. Inferring Specifications from Software Text for Finding Bugs and Vulnerabilities
A fundamental challenge of detecting or preventing software bugs and vulnerabilities is to know programmers’ intentions, formally called specifications. If we know the specification of a program (e.g., where a lock is needed, what input a deep learning model expects, etc.), a bug detection tool can check if the code matches the specification.
Building upon our expertise on being the first to extract specifications from code comments to automatically detect software bugs and bad comments, in this project, we will analyze various new sources of software textual information (such as API documents and StackOverflow Posts) to extract specifications for bug detection. For example, the API documents of deep learning libraries such as TensorFlow and PyTorch contain a lot of input constraint information about tensors.
Good programming skills and strong motivation in research are required. Background in natural language processing is a plus.
Early work and background can be found here
Project 3. Leveraging Deep Learning to Detect and Fix Software Bugs and Vulnerabilities
In this project, we will develop cool machine learning approaches to automatically learn bug and vulnerability patterns and fix patterns from historical data to detect and fix software bugs and security vulnerabilities.
Good programming skills and strong motivation in research are required. Background in security or machine learning is a plus.
Early work and background can be found here:
- CURE: Code-Aware Neural Machine Translation for Automatic Program Repair (PDF)
- Deep Semantic Feature Learning for Software Defect Prediction (PDF)
Jianguo Wang
The Database Lab is looking for highly motivated undergraduate students who are interested in databases, data science, and big data.
This will be a great opportunity for students who aim to pursue graduate school in the future. You will be working closely with Dr. Jianguo Wang and his graduate students. You are expected to attend weekly meetings, read relevant papers, implement core database components (in C++), and write papers.
Currently, we have a couple of database projects related to
- cloud-native databases; and
- databases for data science and machine learning.
It's preferred to have basic knowledge on database systems. Coverage of CS448 or equivalent courses would be sufficient.
Please send me your CV and transcripts to csjgwang@purdue.edu if you're interested. More information can be found at Jianguo Wang's website.
Yung-Hsiang Lu
Artificial Intelligence for Musicians: This project will use machine learning to understand music (audio, score, video) and help musicians. For more information, please visit the Artificial Intelligence for Musicians website.
Assistance:
Are you interested in getting involved in undergraduate research? Be sure to check out the Purdue Office of Undergraduate Research page for information regarding strategies, opportunities, and funding. If you need further assistance, you are welcome to schedule a meeting to discuss best practices.