For Prospective Students
I’m always happy to help bring enthusiastic, talented students into the research enterprise. See the sections below for specific advice depending on your career stage, and feel free to email me if you have any questions.
For all students, I recommend reading my PhD advisor Michael Ernst’s advice for students.
Prospective PhD Students
As of summer 2026, I am not actively recruiting new PhD students. I will update this message when that changes.
Prospective PhD students should review my “introduction to working with me” document to get a sense of what my expectations are for PhD students.
Current or Admitted NJIT Master’s Students
I am happy to advise a Master’s project or thesis. I expect that you will contact me at least a month before the start of the semester in which you hope to do the project/thesis, and that you and I will have agreed on a specific project before the first day of that semester. A master’s thesis/project can be either research (i.e., with the goal of writing a paper) or engineering (i.e., improving a tool). Send me an email if you are interested with the following:
- your CV
- your undergraduate transcript
- your NJIT transcript so far, annotated with a list of the insructors for each of your NJIT courses
- a brief discussion of what kind of project you hope to work on and/or why you think I would be a good advisor for your master’s project. This can be specific (e.g., “I want to improve tool X in Y way”) or general (“I am interested in verifying AI-generated code”), but it must show that you have a clear understanding of what kind of research work I generally do.
Current or Admitted NJIT Undergraduate Students
I am usually advising 2-5 undergraduate research students at any given time. The usual process for undergraduate research is:
- a review of your resume and (unofficial) transcript.
- one or two interviews with me and/or one of my PhD students.
- an “independent study” stage where you read papers, work on exercises, etc, while we both prepare you for a real project and identify what projects our lab is working on that you are most excited about. You will usually get course credit for this part (i.e., you will register for CS 488). This document explains how the independent study usually works.
- an actual research project, for which you will usually be paid in dollars. You can keep doing this for the rest of your undergraduate career, as long as you continue to be productive. For most students, this happens for the first time during the summer.
I generally only start working with students who have at least one summer left before graduating, so that you have time to make it through the full research process. If you are already a senior, I may be able to offer you some engineering work, for which you can get credit as an independent study, but it is unlikely that I can offer you a full research project.
To initiate this process, you should send me an email with your resume and (unofficial) transcript, and a few words about what kind of research you are interested in and/or why you want to work with me.
High School Students
If you are a New Jersey high school student looking for a research lab during the summer, be aware that I very rarely take high-school interns and usually don’t respond to cold emails. There are two ways that I have been convinced to take on exceptional high-school-level students in the past:
- students with good software engineering skills can make a pull request against one of our repositories on GitHub. The njit-jerse GitHub organization hosts most of these projects. Alternatively, the Checker Framework is also affiliated with us. If you’ve had a PR accepted by one of these repositories, email me about it and I will consider you for a summer research internship.
- as a condition of funding we received from the university, managed via the Center for Pre-College Programs. I am not involved in the selection of students for these programs.
Other students
I rarely work directly with non-NJIT students, unless they are advised by another professor with whom I am collaborating. Of course, there are always exceptions, and you’re welcome to email me if you think your circumstance deserves my attention. In general, though, I usually don’t respond to unsolicited emails from prospective students unless I think there is a good chance that we can work together (I get far too many of them to respond to every one!), so please don’t be offended if I don’t respond to yours.