Skip to content

Answers to Ph.D Advisor Guide

ThanhVu Nguyen edited this page Nov 28, 2025 · 69 revisions

Specific answers to questions about Roars Lab. Adapted from https://www.cs.columbia.edu/wp-content/uploads/2019/03/Get-Advisor.pdf, inspired by Jia-Bin Huang's answers

More general PhD admission advice can be found in this book.

Table of Contents

Disclaimer: These are my personal answers to these questions based on my experience and advising style. Other advisors will likely have different answers and styles. So take these answers with a grain of salt and use them as a reference point to compare with other potential advisors.


About the Advisor

  1. Does the professor have tenure yet? [engagement level, PhD might get interrupted]

    Yes, I got tenure in 2024. If you are wondering if I will be around for a while, the answer is yes. Northern Virginia is a great place to live and work, and Mason is growing fast and getting better every year. See more about GMU CS.

    Anyway, having tenure allows me to take risks, pick problems I care about, and ignore the ``publish or perish'' pressure that many faculty face. That also means my students have to be very independent and take initiative in their work because I won't be pushing them to do things. If you need a frequent guidance and hand-holding, then I am not the right advisor.

  2. What is the professor's formal training / background / PhD? [helps contextualize problems/approaches]

    I did my Ph.D. in CS in the University of New Mexico-Albuquerque and then a postdoc at the University of Maryland (in PLUM lab). I started wanting to work on evolutionary computing, and then gradually changed to software engineering, programming languages, and formal methods. You can see my bio and CV on my homepage.

  3. What have previous lab members done after getting their PhD? [Gone to industry?/Post-doc?/Professor?]

    So far I have only graduated one Ph.D. student: Guolong Zheng (2022), who is now a faculty at Minjiang University in China. Didier plans to graduate in May'26 and is applying for faculty positions.

    I also graduated an MS student, who now works at Oracle, and an undergrad, who works at Jump Trading.


Group Composition & Structure

  1. Do you work with undergraduate students? [if you are an undergrad applicant]

    Yes, I work with many undergraduates over the years. Typically at any time I have 2--3 undergraduates working in the lab.

    Undergrads are supported either through research grants (e.g., NSF REU, university funding), hourly pay, or as volunteers. I give undergrads real research problem to work on and complete freedom to explore their ideas. I treat undergrads as my PhD students and push them beyond their comfort zone to realize their potential, e.g., KimHao published 9 papers at top conferences as an undergrad, and Linhan started as an undergrad and is now a Ph.D. student.

    See the Roars People section for current undergrad members. Linhan

  2. How many students are in the group? [Number of undergrad/masters/phd/post doc]

    Check out the Roars People section. Currently we have 6 PhD students and also undergrads! We have yet to have a postdoc, but I would be interested in hosting one if there is a good match.

  3. What is the lab structure? [how collaborative/disjointed are lab members' projects?]

    Each Ph.D. student has projects that they lead. Lab members are encouraged to collaborate on similar topics. In weekly lab meetings, you will hear about the progress of other projects and can contribute ideas or help with problems. We also have a lab server on Discord where we chat about research and other random things.

    As examples, Didier works on Complexity analysis. KimHao on analyzing build systems. Hai works on DNN verification. Linhan works on DNN testing. Hai and Linhan collaborate as their projects involve neural networks.

  4. Do students mostly work with senior students or directly with professor?

    They work directly with me, but I also encouraged new lab members to work with senior students with similar interests.


Advising Style & Meetings

  1. Does the advisor consider themselves a "hands-on" or "hands-off" advisor?

    I am a very hands-off advisor. I think students who need a lot of guidance and support may not enjoy working with me.

    I will help suggest ideas and directions, but I expect my students to be able to work independently and take ownership of their projects. My students, including undergrads, to be self-motivated and take initiative in their work. I fully trust my students, and expect them to be responsible for their own progress.

    For new and junior students I can provide some help (e.g., with writing). As students become more senior/mature, I would gradually transition to a hands-off advisor. However, if I see new members capable of working independently from day one, I will let them do so from day one -- I don't get in the way of capable students. I highly encourage my students to talk to other lab members for help and guidance, e.g., more experienced students can help new students with ideas and research guidance. My lab members are very close and collaborative---which I am very proud of.

  2. How does the advisor give feedback on papers / what is their feedback style?

    For the students' first papers, I would ask for drafts and revise the draft iteratively with the students (e.g., through Overleaf). In some cases I would rewrite most of the students' drafts, especially the Intro and Evaluation, for their first papers. This helps the students see how papers are written. Same thing with paper rebuttals, I will work with the students and revise the writing directly.

    As the students have more experiences, I will let go more and more. By the time the students can write the paper completely by themselves without much revision and editing from me, then I know they are ready to graduate.

  3. Are there lab meetings? What are other meetings you will see your advisor in a group with other people?

    Roars Group meetings: Yes, we meet weekly in the conference room on Thursday afternoon in the CS conference room. Everyone speaks, everyone contributes. Typically the students talks about what they have been doing in the past week and what they will do next week. They also talk about issues they are facing and others contribute ideas to help solve the problems.

    Sometimes after status updates a student will present their work in depth. The meeting usually lasts about 1–2 hours depending on how much we have to discuss.

  4. What does a group/lab meeting look like? [Or other relevant meetings]

    We start talking about our status, e.g., each person talks about their work for about 2–4 mins. This is inspired by the SCRUM method used in the PLUM Lab at UMD.

    Then we go in depth in some topic, e.g., a student might talk about some problem they are working on, show their computation on the board or present results. Sometimes we read papers or look at some existing tools/techniques. We plan to use about an hour for this but usually it goes beyond that. I usually have to go pick up my kids at that time, but the students want to continue and they keep going.

    Sometimes we just relax and watch a movie (e.g., the PhD Movie).

    Most of our communications happen on Discord server outside the meetings where we chat about research and other random things (e.g., plan for Thanksgiving party).

  5. How often does the advisor meet with their students? [1:1 or all together? Daily guidance by PI or post-doc?]

    In addition to weekly lab meeting described above, students talk to me about their projects for longer sessions whenever they need (and during paper deadlines, we sometimes meet several times a day on Zoom).

    Many of my students work late and night and so do I (after kids gone to bed!). So I've been making myself available to work with my students at night whenever they need (often 9:30 PM – 11:30). We are all becoming night owls!

    That said, I highly value independence, and so if you prefer to work during the day, that's totally fine too! Some of my students have families and kids and so they do what works for them. In short, as long as it works for you and you're productive, it doesn't matter to me.

  6. How often are students expected to be contactable by their advisor.

    Most of my communications with students happen over Discord. I rarely contact them through email unless it is something important, (e.g., the university asks me to get in touch with you about something). For such occasions, I expect you to respond to my emails quickly. However, in general, communications through Discord are more casual and you can respond when you see them --- though I find that all my students are quite responsive on Discord.


Research Areas & Projects

  1. How directly applicable will your future technical skills be to the roles you want after graduating. (If set on industry)

    Skills you learn in my group - formal reasoning, verification, program analysis, being independent, writing well, etc--are real skills that are applicable to both academia, industry, and everywhere else.

    Actually this question is kind of strange (but it was on the original list).

  2. What research methods does the lab use? (What types of papers / contributions / conferences targeted)

    Our work is often on developing new techniques/algorithms and building tools. We target top-tier conferences in the field (e.g., ICSE, FSE, ASE, ISSTA, OOPSLA, PLDI, CAV). For work we wish to extend, we also publish in journals such as IEEE TSE.

    Ok, that was a boring answer. More interesting one is that we develop tools that actually work and we don't just publish papers or incremental results, we also win competitions and awards. Our competitors are the best in the world and we enjoy beating them. For example, NeuralSAT is often considered one of the best at DNN verification competition and outperforms many other state-of-the-art tools.

  3. What are some of the projects that you and your students are currently working on?

    We are working on various software analysis projects, including formalizing and proving mathematical theorems, neural network verification and inference, analysis on highly-configurable software, and program testing, analysis, and repair.

    Ok, cross out program repair — I moved on from that. Nowdays I am more interested in DNN verification and reasoning and also using LLM-based proof assistant to formalize and prove mathematics.

  4. In general, do you tend to give your students projects or have them select their own?

    I prefer students to develop and pursue their ideas that are related to my research. However, this could be challenging for junior students. For junior students, I give them smaller projects or have them work with with a more experienced student to learn research skills.

  5. Do you have particular projects that you see me working on?

    It depends on your background and interests, but I do have many ideas to try. However, in recent years, I have been focusing more on DNN reasoning and verification, so something related to that.

  6. How much freedom do you think I'd have in selecting my own projects?

    We need to find projects or research directions that we are both interested in. Once we have agreed on a research direction you will have a lot of freedom to explore and develop your own projects.

    However, if you want to do something that I am not interested in, then I would rather you find another faculty because I can't guide a topic I don't know or care about.

  7. Are there other students you are interested in working with? If so, what would they be working on project-wise?

    Not sure what ``other students'' means.

  8. Would they have their own line of work or contribute to a bigger project/someone else's project?

    All of my students have their own line of work. Sometimes they collaborate with other students and in the beginning they may work on smaller projects with other students. But eventually they will own their projects.


Expectations & Progress

  1. What progress does the advisor generally expect from a student in the course of a semester? [Submission/Publication pace]

    I expect the student complete and submit a paper to one of the top conferences each year. It does not have to be accepted because the reviewing could be noisy, but it is crucial to complete a paper and submit it. You can see how my students publish in the Roars Publications section and also this collaborator page.

  2. What other expectations does the advisor have for their students: time/vacation/paper/project/experiment wise etc.

    I want you to be independent and take initiative in your work. Don't just wait for me to tell you what to do. If you have an idea, try it out yourself and show me the results.

    I want you to work hard but also have FUN with your research.

    You will have freedom to choose what you want. It needs to be related to my interest, but I am open to your ideas (but of course if you can't find anything, I have many ideas to try).

    I want you to ask questions and open to learn new things from others (e.g., your lab mates, whom are probably better resources to learn from than me).

    I want you to listen to me, but also be independent and challenge me. I am not always right and I want you to tell me when I am wrong. I want you to be able to defend your ideas and work when being challenged by me or others. I want you to be able to convince me that your idea is better than mine. As an example, if I tell you to try X, but you think Y is better, then you should do both X and Y and show me both results. It doesn't matter if X or Y is better, but that you believe in your idea and can get results to support it.

  3. When have you given a letter of concern? Why?

    I haven't given a letter of concern yet, and I hope I never have to.

    when a student does not meet the expectation (not completing and submitting work in a year) and needs to be on track. Here is the expected progress for a CS Ph.D. student. By the end of the second year, you should publish at least a second-author paper. You are doing well if you publish a first-author paper at that time. By the end of the third year, you are considered behind if you do not publish a first-author paper and are seriously behind if no good submissions were made. A typical student in SE/PL will have 4–5 publications, my students often have more than that.


Funding & Financial Support

  1. Where does their funding primarily come from? [If military / industry-focused funding bothers you, figure this out]

    Most of my funding sources are from NSF and some are from the industry (e.g., gifts from Amazon and Facebook). All of my funded projects are on basic/fundamental scientific research.

  2. What are their constraints from their funding source? [Some restrict research topic and change final deliverables. Some add work — writing progress reports, traveling, preparing presentations for the funding source or engineering overhead for integration]

    Since my funding source are mainly from NSF or unrestricted from industry, our work has few constraints. Occasionally, I may need your assistance on progress reports and presentations if you are funded through specific grants.

  3. If your advisor made you work on a project in their area that you are least interested in (e.g. for a grant) would you still be excited doing work? [Useful for choosing between advisors]

    It is extremely unlikely that you have to work on something you're not interested in.

  4. If you run out of your primary funding for a student how do you expect the student to handle that? [advisor’s responsibility / you’ll have to write a grant with me / dept will cover the student / you have to find their own funding]

    One of my responsibilities is finding funding to support my students, and I have been quite lucky to have sufficient funding to support my students (including summer). However, as a fallback, the department can also cover the student with TA-ship. CS@GMU is very good at providing Ph.D. students TA-ships.


Program Requirements

  1. What does the quals process look like?

    The department has a very specific guideline that students need to follow for the comprehensive exam. In short, it's quite straightforward and the student needs to write a paper describing the research area and problem they want to work on and present that paper.

  2. Is there a TA requirement? / How often would I be expected to TA?

    There is no TA requirement from the university or the department. Nevertheless, I strongly recommend doing a TA at least once or twice during your PhD. TA is a great way to get introduced to teaching, and can really help if you're interested in an academic career. More practically, in some cases not having to support you as a GRA during the normal Spring/Fall semesters would allow me to support you during the Summer.


Recruitment & Fit / Placement

  1. Are you taking a student? Do you have funding to take students in this year (or, for which projects)

    While I am not actively recruiting (my lab already has quite a few students), I am always looking out for standout students. Standing out is difficult to define, but generally the student does something unique that shows initiative, creativity, and technical skill (e.g., see the Reddit example below).

  2. What factors will affect whether or not you take a student?

    I am interested in students who are unique and stand out in some way. Of course this is hard to describe and subjective, but I will recognize it when I see it.

    Here's a concrete example: One day the CS faculty were talking about a Reddit post from a GMU student who built a web app to identify "easy A" classes at GMU (because they find RateMyProfessors not useful). Many profs. were upset about this app because it would encourage students to take easy classes and avoid challenging ones. But I was intrigued.

    I didn’t care much about the app itself, but the initiative and technical skill caught my attention instantly: the student finds a problem, designs a solution using an unconventional way (from publicly available FOIA data that no one uses), and implement a usable app that attracts many students (and professors hate it).

    That same evening, I dropped a message in our lab Discord and told my students to find out who this person was (yes, my students are excellent at digging information). Within a short time, we had a name. I emailed him immediately, talked the next day, and hired him on the spot as an RA.

  3. How do you anticipate your funding to change during my time as a student?

    Your study will be fully funded either by a research (RA) or a teaching assistantship (TA). I have been quite successful in securing funding for my students, so I do not anticipate any changes in funding during your time as a student.

  4. Do you think our research interests are a good match?

    You tell me! Take a look at my research lab.

  5. I'm interested in working with you. Do you think I'd have a good chance of working with you if I come to your university?

    If you come to GMU and want to work with me, let's chat. The best way to impress me is taking my classes and doing well in them. I recruit several of my students from my classes (e.g., Guolong and Didier).


Co-Advising & External Collaborations

  1. Would the advisor be interested in co-advising?

    I was co-advised during my PhD and it worked out, but I prefer to be your main or sole advisor. I think it is better for the student to have one main advisor, and then have other faculty members as collaborators (not co-advisor). This way, you can get more attention from me while still being mentored by other experts. For example, Hai is advised by me but also collaborates (and therefore mentored) by Matt Dwyer at UVA through our NeuralSAT project. It's also easier for me because I do not want to deal with conflicts between co-advisors, e.g., if they want you to do something that I don't want you to do (and vice versa).

    If you are interested in something that I am not too interested then I would not want to be your main advisor. I would rather you find another faculty member who is more interested in your work and can help you with it. I think this is a better fit for both of us.

  2. How do you handle it when a student outgrows your expertise — they know more than you?

    I expect this to happen. At some point you will know more than me in your area of research. Depending on your projects, I may introduce students to researchers or faculty who are experts in that area and collaborate with them so they can help you in your project. For example, KimHao works with Quoc Sang at Facebook on build systems, and Hai works with Matt Dwyer at UVA on DNN verification. In short, if you become better than me in your area, then I've done my job!

    Note that if you want to change or try research direction that I don't have much expertise or interest in, then I can't help you much there. I can try to find another faculty member who can help you, but if you want to work on something completely different, then we may need to discuss switching advisors. This is common in academia (almost happened to me during my PhD) and I have no issue with you doing that.


Lab Resources & Working Environment

  1. What equipment are provided to students?

    I purchase computers and electronics for my students (e.g., computers, laptops, monitors, hard drive, memory, headsets, keyboards, etc). Our lab has several powerful servers that are shared among the students.

    Let me put it this way: our lab machines are much better than most other labs and our experiments get done much faster than other groups.

  2. Do students work together in common space? Do students often get meals together?

    Sort of. Due to office space limitations, my students are sharing space with other SWE PhD students. There are advantages of that as you get to interact with more people outside our lab.

  3. Do students often work late? [Often / only before conference deadlines.]

    We work late mostly before the conference deadline. I also stay up quite late to chat with students if they need. Though it really does not matter to me when you work as long as you are productive.

  4. Are there snacks in the lab?

    Not sure, sometimes I see some snacks. When I was a grad student, I often steal pizza and food from other labs (I many plenty of stories). I often email my students when I see free food announcements.

    More generally, we work hard but also have lots of fun, many of which involve eating and gathering.


Conferences, Travel & Internships

  1. How often do grad students get to attend conferences? [Pace + What constraints]

    If you have a full paper at a conference, even not as first author, I will support your travel to the conference to present it. I also encourage you and other lab members to go to local conferences or workshops (e.g., PL meetings at school in the Northeast region such as Stevens, Princeton, UPenn). I often send my students to the annual, week-long Formal Techniques Summer School in San Francisco (CA).

    For full disclosure, I am not a big fan of attending conferences. I think they are useful but I am just not into traveling. I rather stay at home and play with my kids and work on my research. But this is just me and I wholeheartedly support my students to attend conferences, and I introduce them to other researchers through emails and collaboration.

  2. How many conferences are students expected to target a year? [remember pubs $\neq$ submissions]

    From second year onward, I expect my students to submit at least one first-author paper to a major conference each year (e.g., ICSE, FSE, ASE, ISSTA, PLDI, OOPSLA, CAV). Essentially I expect you get some results to present after a full year of research, and continue that pace throughout your PhD.

  3. Is the professor in an 80/20 with a company? Are students’ research projects tied to industry funding?

    No, but I collaborated with researchers from the industry (e.g., Facebook) and have industrial grants/awards (e.g., Amazon). Some students’ projects are to solve industrial problems (and they get opportunities to do internships at cool companies).

  4. Will it be acceptable/encouraged to intern at a company during the summer? [Does this change with seniority?]

    Definitely, in fact I encourage you to do that. E.g., KimHao works at Facebook (twice) during the summer.


Culture, Time Off & Social Life

  1. How often do students take time off? Are there lab / department outings / events?

    Time off: Academic is flexible and I want my students to take time off when they need it (seriously!). I expect my students to be in the lab at least 3 days a week but if they need to take time off (e.g., health appointments, personal/family events), they can always tell me and take sometime off.

    Lab dinner/gathering: Usually twice a semester (e.g., group gathering at the beginning and the end of a semester and during Thanksgiving). We also go out to lunch (typically after paper submission deadlines). Once a year we also hang out with other labs in the depts at Round One (bowling and arcade).

    Department outings/events: there are fun events throughout the semester in both the SWE group and the department. I highly encourage my students to attend these.


Support, Conflicts & Student Well-Being

  1. If one of your students is being treated unfairly — by a collaborator, committee member, or even within the department — how do you handle it?

    I am very protective of my students. I can be hard on them in research, but outside of the lab, I will stand up for them. Not only obvious cases like unfairness treatment but also when I feel they need support, e.g., I would shield them from being overworked or being taken advantage of by others. My priority is the well-being of my students, period.

  2. How do you deal with students who are struggling? Do you "let go" of students who are not making progress?

    I have never let go of a PhD student yet, and I hope I never have to. Once I take in a PhD student, I see it as my responsibility to get them through the program and into a good career (job that they like).

    Every PhD students will struggle at some point, but I believe my students capable of pushing through challenges, and I will work with my students to make sure that happens. So no, I don't give up on students easily. It’s usually easier for them to give up than it is for me to give up on them — and sometimes that difference is what gets them through.

Clone this wiki locally