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.
My recommendation:
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.