PLDI2013 was the first PLDI I’ve attended, and it was an incredible experience. On Sunday I presented a tutorial on using LLVM for program analysis and transformation. I think the tutorial was well received and I had a bunch of people come up to me after to share positive feedback. The tutorial has been through a lot of iterations and the members of the PL lab at UMD are to thank for its quality.
I met a lot of new people and I hope to keep in touch with them. I spent a lot of time at the reception, the poster sessions, and the lunches talking. The presentations were really good, the entire conference left me inspired to come back and get some good work done.
I really enjoyed the “Taming Compiler Fuzzers” paper and spent a good amount of time talking and thinking about it. I think that there’s a very powerful connection between performing test case minimization in c-reduce and minimizing other kinds of potentially buggy input that is fuzzer generated. Researchers (some academic, some industrial) talk about Turing-complete inputs to programs as protocols and the complications of verifying and fuzzing those protocols give us new security challenges every day.
The keynote by Fred Schneider on the second day, “Programming Languages in Security”, was very inspiring and I really hope the slides are posted online. It contained a lot of thoughts and ideas that I had been trying to express in my head and stated things I have been thinking about intersections between PL and security that I find very satisfying.
I was really happy to find a balance between attendees from industry and academia. I love that PL, as a topic, attracts all kinds of research from many different application domains, from language construction, to runtimes and memory management, to verification and security. The conversations that happen around the intersection of theory and practice for such a broad and deep field is intoxicating.