PLDI 2013 was my first major academic conference in which I participated. As a lowly undergrad, I had attended lab retreats and industry conferences previously, but PLDI was to be my first academic conference. More exciting still, I was presenting in the student research competition (undergrad division.)
Having gone through it all (including winning second place in the SRC,) I can safely say that it was an experience like no other, and one that I am extremely grateful to have had the opportunity to attend.
It's easy to lose sight of the bigger picture when you're sequestered in your lab, working long hours, for months stretching into years. You start to focus on the minutia of your research, both good and bad. Worse, you lose the larger context; you lose the ability to see how your little research project really advances the state of the art, and fits into the world around you.
For me, PLDI was a great way to ground myself and put both what I am doing, and what others are doing, into a larger context. In one place, at once time, you have some of the worlds best research and researchers all coming together, to talk about the same sort of stuff you work on every day. And better still, these world-class researchers come and talk to you, about your research, allowing you to see it with fresh eyes.
One of the hardest problems to combat as a student researcher, in my experience, is burnout. You start out with a great idea, infinite energy and drive, and you want to change the world. But if you stay shut away in your little corner of the lab, plugging away at your project without any feedback, you start to wonder if this really is the right path to be going on. You start to wonder if anybody cares about what you're doing. You start to wonder why you do it at all.
PLDI cured me of any lingering feelings of burnout. First, I had people whom I greatly respect come up and say nice things about my work, which is always gratifying. But more importantly, I saw a number of ways that I could use my research to solve pressing problems people are struggling to solve. And more than that, I got ideas for another dozen paths of inquiry for projects both related and unrelated to my current one.
I left PLDI completely energized and ready to go. I now was able to see the wider picture of how my research mattered, what the state of the industry was, and how my research could contribute to it. I also saw another dozen projects I couldn't way to look at once this project drew to a close.
This is on top of meeting all the great people, seeing all the great tutorials, and just generally having a great experience.
PLDI definitely changed how I view academic research, and I can't wait to go back again.
Matt Torok
UC Berkeley
Bachelors in Computer Science, Fall 2013
Friday, December 20, 2013
Wednesday, December 18, 2013
This was my second time at PLDI and while I didn't have a talk this time around, I had a wonderful time connecting with friends and also building new collaborations.
For example, I was able to chat with researchers of UW on the potential of an approximate computing workshop and express my support. And, just as of late, we found out that they have been able to make that possible. I was also able to coordinate two visits to Microsoft Research within that week as a result of conversations I had in the "hallway" sessions.
As to the PLDI technical track, I particularly enjoyed Verifying Higher-order Programs with the Dijkstra Monad. I also enjoyed myself at the joint SRC and main track poster session. At the poster session, I had great discussion with both the authors of Static Analysis for Probabilistic Programs: Inferring Whole Program Properties from Finitely Many Paths (main track) and Uncertain: Uncertain data as a first-order type (SRC).
Until next year,
Mike
For example, I was able to chat with researchers of UW on the potential of an approximate computing workshop and express my support. And, just as of late, we found out that they have been able to make that possible. I was also able to coordinate two visits to Microsoft Research within that week as a result of conversations I had in the "hallway" sessions.
As to the PLDI technical track, I particularly enjoyed Verifying Higher-order Programs with the Dijkstra Monad. I also enjoyed myself at the joint SRC and main track poster session. At the poster session, I had great discussion with both the authors of Static Analysis for Probabilistic Programs: Inferring Whole Program Properties from Finitely Many Paths (main track) and Uncertain: Uncertain data as a first-order type (SRC).
Until next year,
Mike
Tuesday, December 10, 2013
Reflecting on PLDI
This was my first time attending PLDI, and it was an extraordinary
experience that I hope to be able to repeat again soon. I had a great
time connecting with people and meeting new faces in between sessions
and over dinner.
- Static Analysis for Probabilistic Programs: Inferring Whole Program Properties from Finitely Many Paths
- A General Constraint-centric Scheduling Framework for Spatial Architectures
- Halide: A Language and Compiler for Optimizing Parallelism, Locality and Recomputation in Image Processing Pipelines
Overall, the atmosphere was really inspiring and I gained a totally new perspective on a number of things. Hope to see everyone next year!
Thursday, December 5, 2013
I was presenting a paper about a static analysis to infer memory ownership properties for C libraries at ISMM this year, co-located with PLDI. Overall, I enjoyed the conference. Presenting is always fun, as is putting faces to all of the names you read about. I just want to cover a few papers that stood out for me (in roughly chronological order):
One of my favorite papers was presented early: Scalable Variable and Data Type Detection in a Binary Rewriter (http://dl.acm.org/citation.cfm?id=2462165). This work takes (stripped) x86 binaries and converts them into the LLVM IR with reasonable precision. As the title hints, they recover many complex types, which is both impressive and necessary for many tools. My own work is on the LLVM IR and having a tool like this would be very useful to let me apply my work to a wider range of inputs. Not having perfect accuracy would probably be fine for many of my purposes, so this was an especially exciting piece of work for me.
Being mostly a software person, I learned a bit about different types of hardware, specifically memory that deteriorates (http://dl.acm.org/citation.cfm?doid=2462156.2462171).
On the last day of PLDI, I was actually torn between the two post-lunch sessions. I actually wanted to see all of the presentations from both sessions (one session was about Monads and FRP, while the other was about alias analysis). Being a mostly functional programmer, I decided to go to the Monads and FRP session. I couldn't digest the whole thing during the presentation, but Monadic Abstract Interpreters (http://dl.acm.org/citation.cfm?id=2491979) seemed very elegant. I'd like to spend some more time on that paper soon, actually. That said, I was more immediately excited about Asynchronous Functional Reactive Programming for GUIs, otherwise known
as Elm (http://elm-lang.org/). I've been vaguely familiar with FRP for a while, but this was a good presentation introducing it and actually demonstrating how to use it. I find that most of the discussions of FRP assume you are already an expert, rendering them somewhat unapproachable. I'm not directly interested in Elm itself, but I would very much like to try out an FRP library or two in Haskell. A side project I am working on now should afford me the opportunity soon.
On the ISMM. I am not really an expert on memory management, but I am interested in the topic, obviously. I found myself nodding along with the keynote, which basically argued that sequential consistency (i.e., what most programmers who are not computer architects or compiler writers expect) does not need to be prohibitively expensive. Maybe we will actually see sequential consistency in the wild one day.
My favorite paper in ISMM (besides mine, of course) was Control Theory for Principled Heap Sizing. I know nothing about control theory and I have never implemented a garbage collector myself (though, like everyone, I have all sorts of opinions about what makes a good garbage collector). I am not really qualified to evaluate the approach or results in the paper, but I really liked the connection between a well-known problem in Computer Science and a field of mathematics that I have never really seen before. It makes a lot of sense to look to other fields for inspiration, especially since the programming languages and compiler communities do not often focus on this type of modeling.
One of my favorite papers was presented early: Scalable Variable and Data Type Detection in a Binary Rewriter (http://dl.acm.org/citation.cfm?id=2462165). This work takes (stripped) x86 binaries and converts them into the LLVM IR with reasonable precision. As the title hints, they recover many complex types, which is both impressive and necessary for many tools. My own work is on the LLVM IR and having a tool like this would be very useful to let me apply my work to a wider range of inputs. Not having perfect accuracy would probably be fine for many of my purposes, so this was an especially exciting piece of work for me.
Being mostly a software person, I learned a bit about different types of hardware, specifically memory that deteriorates (http://dl.acm.org/citation.cfm?doid=2462156.2462171).
On the last day of PLDI, I was actually torn between the two post-lunch sessions. I actually wanted to see all of the presentations from both sessions (one session was about Monads and FRP, while the other was about alias analysis). Being a mostly functional programmer, I decided to go to the Monads and FRP session. I couldn't digest the whole thing during the presentation, but Monadic Abstract Interpreters (http://dl.acm.org/citation.cfm?id=2491979) seemed very elegant. I'd like to spend some more time on that paper soon, actually. That said, I was more immediately excited about Asynchronous Functional Reactive Programming for GUIs, otherwise known
as Elm (http://elm-lang.org/). I've been vaguely familiar with FRP for a while, but this was a good presentation introducing it and actually demonstrating how to use it. I find that most of the discussions of FRP assume you are already an expert, rendering them somewhat unapproachable. I'm not directly interested in Elm itself, but I would very much like to try out an FRP library or two in Haskell. A side project I am working on now should afford me the opportunity soon.
On the ISMM. I am not really an expert on memory management, but I am interested in the topic, obviously. I found myself nodding along with the keynote, which basically argued that sequential consistency (i.e., what most programmers who are not computer architects or compiler writers expect) does not need to be prohibitively expensive. Maybe we will actually see sequential consistency in the wild one day.
My favorite paper in ISMM (besides mine, of course) was Control Theory for Principled Heap Sizing. I know nothing about control theory and I have never implemented a garbage collector myself (though, like everyone, I have all sorts of opinions about what makes a good garbage collector). I am not really qualified to evaluate the approach or results in the paper, but I really liked the connection between a well-known problem in Computer Science and a field of mathematics that I have never really seen before. It makes a lot of sense to look to other fields for inspiration, especially since the programming languages and compiler communities do not often focus on this type of modeling.
Monday, July 15, 2013
Experience at PLDI'13
This was my first time to attend PLDI. I presented a paper entitled Steal Tree: Low-Overhead Tracing of Work Stealing Schedulers. For me, attending PLDI and presenting my paper was a great experience and I felt the reception and atmosphere at PLDI was great. The poster that I presented along with my paper was a great addition; during the session many researchers approached me and I was able to explain the work in a personalized way.
Wednesday, July 10, 2013
PLDI Done.
Another great visit to PLDI.
I gave my talk in the morning of the first day. I can't say how much that relaxed me for the rest of the conference. It was great to talk with people between sessions or over dinner or drinks later in the evening.
I thought these talks were great,
I gave my talk in the morning of the first day. I can't say how much that relaxed me for the rest of the conference. It was great to talk with people between sessions or over dinner or drinks later in the evening.
I thought these talks were great,
- Max Schäefer's talk Dynamic Determinacy Analysis [paper].
- Sebastian Burckhardt's talk It's alive! continuous feedback in UI programming [paper].
- Sriram Sankaranarayanan's talk Static analysis for probabilistic programs: inferring whole program properties from finitely many paths [paper].
- Santosh Nagarakate's talk Formal verification of SSA-based optimizations for LLVM [paper].
- Abhishek Udupa's talk TRANSIT: specifying protocols with concolic snippets [paper].
Thursday, June 27, 2013
PLDI Wrap-Up
PLDI was awesome. I attended all three days of PLDI, most of the TAPAS and PASTE workshops, and a little bit of SOAP. I gave two talks on day two of PLDI; both went fairly well, which I was pleased about. I also gave a low-key lightning talk at PASTE, which was fun. Highlights from the week are numerous, but included:
- Fred Schneider's keynote on programming languages and security. I liked his way of thinking about security as pushing around trust. I think this is a very useful way to view things and it served as an excellent lens for explaining advances in security during his talk.
- Max Schaefer's "Dynamic Determinacy Analysis" talk. The talk was very-well presented and contained some clever ideas. The idea of a sound dynamic analysis seems crazy, but their trick of making the facts collected from the dynamic analysis so specific that they must be sound is quite nice. Looking forward to a careful reading of this paper.
- Xin Zhang's "Finding Optimum Abstractions in Parametric Dataflow Analysis" talk. I am only beginning to understand this work, but the idea of analyzing counterexample trace with a meta-analysis that contains predicates about the limitations of the abstraction in addition to the usual predicates about the property is cool. I'm hopeful that I can use some of these tricks in Thresher once I understand their work better.
- The poster session. Although my poster was in an out-of-the-way part of the conference room, I had an excellent group of visitors who were very patient and thoughtful. I got some good questions and feedback and really enjoyed being able to share my work one-on-one with some folks I had never met.
- Ranjit Jhala's PASTE keynote "Rebooting Type Systems With SMT". Although I am fairly familiar with the "liquid types" line of work, it was neat to see the essence of the work distilled into a short (hour-ish) talk. I'm always excited to see what these UCSD guys will come up with next.
All in all, PLDI was a great experience and I hope to be back next year!
- Fred Schneider's keynote on programming languages and security. I liked his way of thinking about security as pushing around trust. I think this is a very useful way to view things and it served as an excellent lens for explaining advances in security during his talk.
- Max Schaefer's "Dynamic Determinacy Analysis" talk. The talk was very-well presented and contained some clever ideas. The idea of a sound dynamic analysis seems crazy, but their trick of making the facts collected from the dynamic analysis so specific that they must be sound is quite nice. Looking forward to a careful reading of this paper.
- Xin Zhang's "Finding Optimum Abstractions in Parametric Dataflow Analysis" talk. I am only beginning to understand this work, but the idea of analyzing counterexample trace with a meta-analysis that contains predicates about the limitations of the abstraction in addition to the usual predicates about the property is cool. I'm hopeful that I can use some of these tricks in Thresher once I understand their work better.
- The poster session. Although my poster was in an out-of-the-way part of the conference room, I had an excellent group of visitors who were very patient and thoughtful. I got some good questions and feedback and really enjoyed being able to share my work one-on-one with some folks I had never met.
- Ranjit Jhala's PASTE keynote "Rebooting Type Systems With SMT". Although I am fairly familiar with the "liquid types" line of work, it was neat to see the essence of the work distilled into a short (hour-ish) talk. I'm always excited to see what these UCSD guys will come up with next.
All in all, PLDI was a great experience and I hope to be back next year!
Subscribe to:
Posts (Atom)