I developed a passion for compilers in 2022 and started to learn about them. Now, I’m planning to pursue a Ph.D. in programming languages this year. Although I haven’t delved into type systems and formal methods yet, I’m eager to explore these areas. In the meantime, I’ve built a compiler from scratch for a simplified C language.
I know that many members of our community are experts in compilers and programming languages, I humbly seek advice on selecting a research topic for my Ph.D. studies. What areas or specific topics within the field of programming languages would you recommend for my research?
In short: you should browse papers to get a sense of what you like.
- look at the papers published at recent conferences of the field (POPL, ICFP, PLDI, ESOP, OOSPLA, APLAS, CPP, etc.); one way to look at this is to browse recent issues of the PACMPL journal, which serves as the proceedings venue for several of these conferences
- skim the papers whose title make you curious: read the abstract and, if you are curious for more, read the introduction, related works and conclusion
- at this point you should have a sense of active topics of the field, and also of what groups are doing research that you feel passionate about; these could be groups you could ask for internship topics, or opportunities for doing a PhD.
The conferences listed above are in the “programming language research” community, which is in fact distinct from the “compilation” research community. (In a simplified way: most “compilation” research focuses on low-level language, C and below, while “programming languages” research focuses on designing new programming languages or developing tooling for existing languages, but less on low-level implementation.) More usual-language-implementation-oriented conferences include CGO (code generation) and ISMM (memory management), and more usual-language-static-analysis-oriented conferences include VMCAI and SAS.