Qualified candidates are those who have background and expertise in most or all of the following areas:
- functional/logic programming with OCaml, Haskell, or Prolog
- experience with automated theorem provers, particularly Coq or ACL2
- strong formal programming language analysis background, such as type theory or model-checking
- binary reverse-engineering and analysis expertise with tools like IDA, OllyDbg, ImmDbg, etc.
- strong knowledge of binary bytecode and machine languages, such as Java Bytecode, ActionScript Bytecode, Microsoft .NET CIL, Intel x86/x64 machine code, or ARM machine code
- excellent English technical writing skills (i.e., the ability to write polished, succinct, and elegant English prose without prolixity)
If you lack expertise in these areas, I will usually not agree to supervise you until you have accumulated the necessary background by taking and excelling in one of my courses.
Prospective PhD students:
Prospective PhD students already enrolled at UTD:
If you are already enrolled in the Computer Science PhD program at UTD, and you are searching for a graduate advisor, please feel free to email me to set up a time to meet and discuss research opportunities. I am generally open to advising students who already have background in the areas listed above.
If you lack such expertise, I will typically ask you to take and receive a grade of A in at least one of my graduate courses before I will agree to supervise you. Therefore, you should enroll in one of those if you have not already done so. However, if you have taken comparable courses from other professors or at other quality institutions, I am willing to make exceptions.
Prospective PhD students NOT already enrolled at UTD:
I get a large volume of emails per year from students I have not met and who have no apparent expertise in my field of study, but who claim to have an interest in my research and wish to join my research group. If you send me such an email, please do not expect a reply. I unfortunately receive too many to read them all, and most of them are from students who have sent similar emails to many other professors in an attempt to "troll" for positions. This makes it difficult to distinguish the few qualified applicants from the many unqualified ones.
If you have not yet received an offer of admission to the graduate program at UTD, please direct your correspondence to the Graduate Admissions Office rather than to me. I am not part of the admissions committee, and I will not contravene the normal admissions process on your behalf. (If you are genuinely qualified to work in my lab, then satisfying UTD's very reasonable admissions criteria should be no problem for you.)
If you have an admittance offer from UTD but have not yet accepted it, and you are currently located in North America, then I am happy to discuss research opportunities over email or in person. However, I will not usually respond to requests from students located elsewhere in the world until they are enrolled.
There are, of course, special cases that constitute valid exceptions to all of the above:
- If you or your supervising professor have a preexisting relationship with me (e.g., we met at a conference or collaborated on a project or paper), then please email and mention the nature of this connection within the first couple sentences.
- If you are currently studying or have received a degree from a school that is ranked within the top 200 universities worldwide, then mentioning your school within your first couple sentences greatly increases the chances that your email will stand out from the pack.
- If you are an author of a publication in one of the top programming languages conferences and/or top security conferences, then please mention your publication and its connection to my research.
Prospective MS students:
MS research opportunities are generally for course credit only (e.g., independent study or Masters Thesis), unpaid, and are only available to students who are presently enrolled and physically located in the Dallas area. If you are not already enrolled at UTD, please direct all correspondence to the Graduate Admissions Office and not to me. I regret that I cannot reply to inquiries from unenrolled students seeking Masters supervision. In addition, I usually only agree to supervise Masters students who have excelled in at least one of my courses, or who come to me recommended by a fellow UTD professor. Therefore, if you would like to participate in research for course credit, the first step is usually to enroll in one of my classes, or in other relevant classes or programs at UTD, such as our excellent Scholarship For Service (SFS) cyber-security program.
Prospective undergraduate researchers:
Research opportunities for undergraduates typically come in four varieties:
- Informal opportunities that are neither paid nor for course credit are almost always available for any undergraduates who are interested. If you accomplish something notable during one of these experiences, it can often turn into an undergraduate honors thesis or independent study. Please email for an appointment and we can discuss possibilities.
- Independent studies are potentially available for undergraduates who want course credit for research. However, please be sure that you are adequately self-motivated and diligent before you apply for one. An independent study generally involves a fairly significant, concrete goal (usually an implemented system and written report) but not much other structure. For example, there are typically no homework assignments or exams to keep you on track. Therefore, many students start independent studies with lofty goals but have little to show at the end, resulting in a poor grade. Candidates must therefore ensure that they are prepared to pursue a research goal that, unlike your other courses, will usually lack clear steps or milestones, and require significant independent thought.
- Undergraduate honors theses are potentially available for students who have excelled in one of my courses, an independent study under my supervision, or an informal research experience under my supervision. These are generally comprised of a significant body of research conducted over the course of one year, culminating in a written thesis (and usually an implemented system).
- Paid undergraduate research positions (not for course credit) are only available if there is a specific opportunity advertised at the top of this page.
Prospective post-doctoral researchers:
I presently do not have any post-doctoral positions available, unless one is advertised atop this page. However, if you send me your resume, I will keep it on file in case a position becomes available. (This is potentially fruitful, since sometimes positions become available suddenly and I have a short time to fill them. In those cases, I look through recently submitted resumes for potential candidates.)