Dr. Hridesh Rajan, Department of Computer Science>

The Tulane University Laboratory for Software Design advances software engineering for AI-enabled systems by creating programming abstractions, analysis tools, and modular deep-learning methods that make complex software easier to build, verify, and evolve.
We develop open infrastructures like Boa and techniques for reliable, data-driven discovery with a broad impact on industry and science. Our alumni outcomes reflect this impact, with eight former members now in faculty roles and more than a dozen working as industrial researchers at companies such as Meta, Google, and Amazon.
Currently, the lab is pursuing the following projects:
1. Testing and Verification of Artificial Intelligence Agents: Artificial Intelligence agents are autonomous or semi-autonomous systems that use Large Language Models (LLMs) or other models to perceive context, reason about goals, and take actions by orchestrating tools and APIs to achieve user-specified objectives. This project is investigating strategies for systematically testing and validating the reasoning behavior, tool interactions, and decision logic of LLM-based agents to ensure their reliability and trustworthiness. This work is essential for deploying AI agents in high-stakes settings.
2. Modular Deep Learning: Deep learning models are widely applied across domains such as autonomous driving, healthcare, and question-answering systems. However, scientists and practitioners still have limited understanding of their explainability, which restricts model reusability, independent testing, and domain-specific development. This project investigates the decomposition of deep neural networks into modules to enable reuse, replacement, and independent evolution of these components. By introducing the modular design principles for deep learning, this work aims to enhance programmers’ productivity, as well as the maintainability and correctness of deep learning-based software systems.
3. Boa: Boa is a research infrastructure that applies big data analytics to ultra-large-scale software repositories, enabling efficient mining and analysis of hundreds of thousands of open-source projects. It provides domain-specific language, scalable backend, and web-based tools to extract insights from software development artifacts and processes. This project involves tasks such as bug localization, identification of programming patterns, and detection of API misuse, helping researchers and practitioners understand and improve software quality, reliability, and development practices at scale. More information about our work, including publications, is available here: https://lab-design.github.io/projects.html
Time, eligibility, and other details
| Expected workload | ~10 hours a week. Plus, weekly meetings |
| Skills required | Familiarity with programming languages (Python preferred), data analysis, and strong critical thinking skills |
| Who is eligible | Eligible students are Tulane juniors or seniors who have completed CMPS 2200 (Intro to Algorithms) and its prerequisites, and at least one of the following: CMPS 3140 (Intro to AI), CMPS 3160 (Intro to Data Science), CMPS 3240 (Intro to Machine Learning), or CMPS 3250 (Theory of Computation). |
| Core partners | |
| Sponsoring party | Faculty organized |
| Volunteer, Paid, or Credit-eligible? | Paid |
| Forms Required | Send an email to hrajan@tulane.edu or ssultana1@tulane.edu with resume including a brief paragraph describing interest in any of the above-mentioned projects. |
To apply for an opportunity, click here to login with your Tulane student ID.