Join the lab

I am always interested in hearing from strong prospective researchers whose interests overlap with the Duality Lab’s work.

My group studies software engineering as an engineering discipline: how software-intensive systems fail, how they can be analyzed and assured, how reuse can remain trustworthy, and how increasingly capable AI changes the way software is engineered. Research in the group therefore requires both intellectual curiosity and the ability to understand and build real software systems.

Before contacting me, please read the research pages and identify the work that genuinely interests you.

Graduate researchers

I work with Ph.D. and master’s students in Purdue ECE whose interests overlap with the lab’s research. I am also happy to hear from prospective students who are considering applying to Purdue.

Strong candidates usually have substantial software-engineering experience and evidence that they can learn independently. Research experience is valuable but not required; building nontrivial software, contributing to open-source projects, conducting empirical studies, or otherwise pursuing technically ambitious work can provide equally useful preparation.

Research is a sustained commitment. Graduate researchers in the lab are expected to develop deep expertise in their research area, understand the relevant literature and systems, and progressively take intellectual ownership of their work.

Contacting me

If you would like to work with me, send me an email that answers four questions:

  1. Why this lab? Which of my research programs or recent papers interests you, and why?
  2. What have you done? Point me to one to three pieces of work that best demonstrate your preparation for research—software, publications, reports, substantial projects, or similar work—and briefly explain your contribution.
  3. What might you work on? Read at least one recent paper from the lab and tell me one question it makes you want to investigate.
  4. What is your situation? Tell me whether you are already at Purdue or are considering applying, your degree program or intended program, and your expected timeline.

Attach your CV or résumé.

If you are already a Purdue graduate student, use the subject line “Prospective researcher: current Purdue graduate student.” If you are considering applying to Purdue for graduate study, use “Prospective researcher: graduate applicant.”

I receive a large volume of email and use filters to keep prospective-student messages from getting lost. Please include the word xyzzy somewhere in your message. If you have followed these instructions and have not heard from me after five business days, feel free to follow up.

Undergraduate researchers

Undergraduate researchers join my group through Purdue’s Vertically Integrated Projects (VIP) program. My current VIP teams and available projects are listed through the program.

If a team is full or registration is otherwise closed, I almost always approve force-add requests from students who want to join my VIP teams.

What I look for

Engineering ability. You should be comfortable building and understanding nontrivial software. The particular languages and technologies matter less than evidence that you can work independently in unfamiliar systems.

Intellectual independence. Research continually requires learning things nobody has assigned you to learn. I will help identify useful directions, methods, and knowledge, but researchers are responsible for developing the expertise their work requires.

Sustained commitment. Good research takes time. I value persistence, careful thinking, and sustained engagement much more than a long list of simultaneous activities.

How I mentor

A research laboratory has two responsibilities: to create new knowledge and to create new researchers.

Research in the Duality Lab is learned through apprenticeship. I work with students to develop disciplined ways of thinking about research problems, strong empirical and engineering methods, and clear technical communication. As researchers become more experienced, I expect them to take increasing ownership of their questions, methods, and collaborations and to help mentor more junior members of the group.

The goal is not simply to complete a sequence of projects. It is to develop researchers capable of identifying important problems, determining what evidence would answer them, and carrying that work through rigorously.