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!

Tuesday, June 25, 2013

Jacob Brock - PLDI Conclusion

I had a great time at the conference.  I caught the last day of PLDI on Wednesday, and then attended ISMM on Thursday and MSPC on Friday.  Here are a few of the presentations I found most interesting:

  • Quipper: A Scalable Quantum Programming Language (Green, et al.)
    • This work addresses the problem of forming a practical language for quantum computation, since the hardware interface is much different that in traditional computers.  After formulating the language, Green, et al. implement seven of the 45 quantum algorithms reported in S. Jordan's "Quantum Zoo".
  • Elephant Tracks: Portable Production of Complete and Precise GC Traces (Ricci, et al.)
    • Elephant Tracks produces traces of events related to garbage collection (such as object birth and death times) for Java programs.  It has already been a useful tool for Li, et al. of the University of Rochester (who presented at MSPC).
  • Introducing Kernel-Level Page Reuse for High Performance Computing (Valat, et al.)
    • Valat, et al. discovered that page zeroing is responsible for up to 40% of the page fault cost at operating system level.  To manage this cost, they proposed to use memory pools for each process so that free pages would be reused by the same process, allowing for less page zeroing.  For memory hungry parallel applications they managed to improve performance by up to 66%.
In addition, I had some good conversations that may help with my own research on cache sharing.  Elliot Moss recommended I look at his work on program profiling for GC to help me predict per-program cache usage, and Matt Davis shared some of his unpublished work and thoughts on cache optimization with me.

I am grateful for the opportunity to attend the conference!

Jake Brock

Sunday, June 23, 2013

My First PLDI

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.

Thursday, June 20, 2013

Conclusion of PLDI

  I had an excellent time at my first PLDI!  The experience was very rewarding, and I will hope to attend the next year and many years beyond!  I only knew a few attending members when going into the conference, but now I felt I have begun to start building a much stronger network in the PLDI community.  My advisor introduced me to several other faculty members, and I spent a good deal of time introducing myself to others.  I found an excellent time to do this was during the student poster presentations, and I hope the posters will return again next year.  I also spent a good deal of my time at PLDI watching many quality talks in the concurrency, program synthesis, language design, and the other talks from other tracks.  The Microsoft excursion was also very nice from a students prospective, as I got some insight as to what it would be like to work at MSR.  Attending this conference has helped inspire me to continue working hard on my research, and I will look forward to next years PLDI!

Wednesday, June 19, 2013

Jacob Brock from University of Rochester


I will be attending and presenting PACco-authored with Xiaoming Gu, Bin Bao and Chen Ding, my advisor at the University of Rochester at ISMM, as well as a short paper at MSPC.  I am most looking forward to hearing other speakers; my favorite thing about conferences is that it's impossible to predict what talks will really stand out, but a few that I am particularly looking forward to are "Analyzing Memory Ownership Patterns in C Libraries" and "The Bloat-Aware Design for Big Data Applications" at ISMM and "Introducing Kernel-Level Page Reuse for High Performance Computing" and "All-window Data Liveness" at MSPC.

I look forward to learning about the newest developments, and meeting new connections!

-Jake

Saturday, June 15, 2013

PLDI First-Timer

I'm Sam Blackshear from the University of Colorado at Boulder. This will be my first time at PLDI. I'll be presenting two papers: Thresher: Precise Refutations for Heap Reachability (co-authored with my advisor Bor-Yuh Evan Chang and our collaborator Manu Sridharan from IBM Research) and Almost-Correct Specifications: A Semantic Framework for Assigning Confidence to Warnings (with Shuvendu Lahiri, my Summer 2012 internship mentor at Microsoft Research Redmond). It's been a lot of work to prepare for the conference, but I am really excited to share the work I've been doing with others and get some useful feedback from all of the smart and experienced folks here.

I'm also going to attend the TAPAS and PASTE workshops. I've never attended a workshop before and I am hoping that getting together with other small groups of program analysis-y people will spark lots of great conversations.

Most of all, I am hoping to meet lots of new people and hear all about cool research that's been going on around the world this year.
Can't wait!

- Sam

Thursday, June 13, 2013

Preparing my talk for PLDI

    In order to prepare for PLDI, I have gone through a few iterations of my presentation.  The first version of my slides consisted of a slide each for each of the main sections of my paper.  After I completed this, I started thinking about a theme for my talk in hopes to make the talk more engaging.  One way I have achieved this, is to frame my talk around a story during the introduction, and then interlace core questions throughout the talk.  I had the opportunity to present a practice talk to my research group and gain some great recommendations!  I recommend to other students presenting to definitely make time for a practice talk to your peers and advisor.  If you can get others not working directly in y our research, that can be useful as well.  Often you are so close to your research, that it is hard to put yourself in the position of an audience member who is not an expert in your particular subject area and engage them.
    Now that my talk has been prepared, I am looking forward to the presentation.  Listed below are some resources I am reviewing before my talk that will hopefully benefit others.


  • http://www.cs.berkeley.edu/~fox/paper_writing.html (some notes in the middle)
  • http://www.cs.berkeley.edu/~jrs/speaking.html
  • http://cseweb.ucsd.edu/users/elkan/254/speaking.html (Some helpful notes on powerpoint slides)

Tuesday, June 11, 2013

My third attendance of PLDI

Hi, I'm Nick Johnson from Princeton University.  This will be my third time attending PLDI.  You may have met me in San Jose in 2011, or heard my talk in Beijing in 2012.  This year, I will present "Fast Condensation of the Program Dependence Graph," which I authored with Taewook Oh, Ayal Zaks and my advisor, Professor David August.

Presently, Princeton is closed, so I thought I'd take the opportunity to write a blog post.

I really like PLDI.  Why?  Just like its name (PL+DI), I think it strikes a great balance between programming language (PL) research and the hard evaluation that you can only achieve through design and implementation (DI).  Together, PL adds principle to DI, and DI focuses PL.  It's like beautiful math mixed with applications of consequence. You'll consistently find great papers at PLDI.

A conference, of course, is not just about the research but also about the attendees.  At PLDI, you meet representatives of academia, private research and industry whose expertise range from architecture to PL.  It's a really fun conference.  If you're a grad student and this is your first attendence, I highly recommend you meet as many new people as you can.

I'm looking forward to visiting Seattle, as I haven't been there in at least a year.  A friend of mine recommends kayaking in the arboretum near UW.  Find me at PLDI and let me know if you'd like to join.

Cheers

Sunday, June 2, 2013

First time PLDI Attendee

Hello!

  My name is Michael Shah, and I will be attending PLDI 2013 in Seattle, Washington this year!  I am quite excited to be attending this conference for the first time.  I have recently completed my Masters degree in Computer Science Engineering at Tufts University, and I will begin working on a Ph.D. in the Fall of 2013.
  I am looking forward to attending PLDI, because it is a conference that brings together the top researchers and practitioners from around the world into one location.  It will be very valuable to hear the talks in fields I am researching in as well as other fields of research that are brand new to me.  I hope these talks will help unveil key research questions in the future, as well as help me develop my skills as a researcher.  I hope to be able to interact with many of the speakers and others in attendance to learn about their research.  I further hope that these interactions can lead to collaborations between my research group and others who want to pursue mutually exciting opportunities!
  I am also very much looking forward to being able to present work of my own during the Fun and Interesting Thoughts session.  It is not often I will have such a great forum of listeners, so I am very much looking forward to their constructive feedback and questions.  The challenge for me, will be how to structure a talk that is both engaging and can provoke some of the sharpest minds with interesting thoughts.
  In my next entry, I will follow up with more thoughts on the conference and my personal preparation on achieving the most possible from this conference.