Wednesday, August 17, 2016

Post PLDI 2016

Hello all,

I wanted to first thank all the organizers for putting on this year's conference. It was really easy to work with you as a student volunteer and you were very helpful when things went awry.

I had a lot of fun at this conference, and I really enjoyed all the talks I went to. My favorite talks were "Input Responsiveness: Using Canary Inputs to Dynamically Steer Approximation" and "Stratified Synthesis: Automatically Learning the x86-64 Instruction Set", and I also enjoyed both of the keynotes.

I also thought the student volunteer dinner was a really great opportunity to get to know other students working in the same field. I had interesting conversations throughout the conference with new people that I met along the way.

Thanks again to everyone and I hope to see you again next year!

Monday, July 11, 2016

Post PLDI 16

Hello again friends,

Participating in PLDI 16 was a great experience! I honestly expected volunteering to be more trouble/time consuming, but I was wrong. The coordination and the tasks were flawless and didn't at all affect participating in the conference!

The conference was great, I loved the PLMW workshop since I believe we needed more of the "psychological" part about being a successful researcher in PL.

All the talks I attended were very informative and Inspired lots of ideas to my research.

I met a lot of great people and made many many friends :)

I hope I will get the chance to participate again in the future PLDI conferences!

-Nour

Post PLDI 2016

I've really enjoyed PLDI in 2016. This was my second time being a volunteer @ PLDI and I had a great time again. This time I have attended the PLMW for the first time too. While the talks about academic life ups and downs were ok, I have really enjoyed the talks about research topics from established researchers. These provided great overview of PL topics I was not intimately familiar with and helped me understand the more detailed talks in the main research track, which make the conference even more rewarding.


Thursday, July 7, 2016

Post PLDI 2016

PLDI 2016 was awesome. Attending PLMW was a wonderful experience. It was a great opportunity to listen to the frontiers and talk to them. All the presented papers contain cutting edge research ideas. But in my opinion "Stratified Synthesis: Automatically Learning the x86-64 Instruction Set" worth a special mention. Volunteering in a top-tier conference of my area of research enabled me to make a lot of connections with the PL community. Hats off to all of you guys for making it a great success. I am looking forward to meet you all again.

Wednesday, July 6, 2016

Post PLDI 2016

PLDI 2016 was a blast, attended many interesting talks at PLDI and ISMM. Also enjoyed attending a couple of tutorials, mainly "One VM to Rule Them All, One VM to Bind Them" which I enjoyed a lot. It was fun to meet up with fellow researches in the field. Volunteering at PLDI has many perks. Been able to fellowship closely with fellow volunteers was most profound for me. I would definitely encourage fellow students to volunteer at PLDI and other academic conferences to enjoy the experience.

Monday, July 4, 2016

Post PLDI 2016

Having attended ISMM and PLDI proper I have come out of the experience with many benefits:

1) New ideas for my own research.
2) Having met people doing fascinating work to discuss with.
3) I have a much better idea of the direction the field is going, and the expectations for a `good' paper.

I particularly enjoyed volunteering, giving me a better appreciation of what goes into making one of these conferences work.

Saturday, July 2, 2016

Post PLDI

It was a wonderful experience attending PLDI'16 and presenting my first paper at ISMM. It was a great learning experience.
The entire event was very well organized and it provided a platform for students to meet each other and also to listen and interact with the best in the field.
My heartfelt thanks to Dan and Annabel. Thanks to SIGPLAN PAC for funding my travel.
Hope to see you all in PLDI'17.

Saturday, June 25, 2016

Post-PLDI 2016

I had a great time volunteering at and attending PLDI 2016.  The volunteering responsibilities allowed me to help make the conference run more smoothly and did not detract from the event at all – the duties mostly required attending talks that I wanted to attend.  This PLDI was at a great location and had many good papers and presentations.  I'm looking forward to watching the recordings for the sessions where two sessions that I wanted to attend were concurrent.

My favorite sessions were PLMW, Energy & Performance, and the two Down to the Metal sessions.  Specifically, I thought Programming with Estimates by James Bornholt and GreenWeb: Language Extensions for Energy-Efficient Mobile Web Computing by Yuhao Zhu were particularly well-delivered talks.  In addition to the great banquet, all of the lunches and breakfasts were good and I met many researchers that I had not run into to before.  Thank you to all of the presenters, attendees, and other volunteers for making PLDI 2016 successful!

Friday, June 24, 2016

Back from PLDI 2016


PLDI 2016 ended several days ago. It is my honor to attend the premier conference on programming language as a student volunteer. It is also my honor to get financial support from ACM SIGPLAN PAC. 

Thanks to the conference committee who decided to hold the conference in the beautiful city, Santa Barbara. The weather is mild and comfortable. The conference hotel is near the beach and the scenery is charming. Thanks to Dan and Michael, who arranged the jobs for volunteers carefully so that we, student volunteers, had enough time to listen to reports and meet with experts. 

Because I am interested in program verification, I attended the SOAP workshop and the program verification sessions. The work reported there is great and it is worthwhile to learn from the papers and the reporters. It is a nice experience to attend PLDI, but I think it would be better if I had a paper there. I will work harder. See you PLDI 2017 when I hope that I can meet with you with my own paper.

Thursday, June 23, 2016

Post-PLDI 2016

I had a great time at PLDI, my first conference. Not only were the talks interesting, but we got to enjoy the sun, the beach, and the mountain views (Waterloo, Ontario is very flat). I also enjoyed chatting with the people I'd randomly bump into.

I attended PLMW, and found all the talks (keynotes, technical talks, and professional development) to be very valuable. I would definitely recommend PLMW to all early grad students, as well as senior undergrads considering graduate school.

And then there was the main PLDI conference. My only "complaint" is that there were so many interesting talks and I was so tired that everything blurred together! So I'm looking forward to when the recordings are posted, so I can take another look and also read some of the papers.

Thank you to everybody who was involved in making this a great event!

Landing back in Canada from PLDI

I'm back in the (surprisingly warmer, too warm) climate of Canada. I had a great time at PLDI this year. The location was fantastic, the talks were interesting, and the people were great. Both keynotes were exceptional and really motivating. I'd like to thank all the organizers and volunteers that made this conference run as smoothly as it did.

The SRC was a really good opportunity to get some great feedback. I'm very appreciative for being able to do this. It appears we're on the right track, and there's some excitement towards our research, which is great.

I really enjoyed all of the low-level x86 talks. It's pretty surprising as to what still can be done by looking at assembly. The "Programmatic and Direct Manipulation, Together at Last" talk was very interesting as well. I really like the presentation style.

I also have a (customary, apparently) sunburn to remember the trip. Hope to see everyone at the next one!

Wednesday, June 22, 2016

Back from PLDI'16

ISMM and PLDI have just ended. It was an awesome experience for me to learn from and know about other attendees. I much enjoyed chatting with the researchers in the compiler field. Not only the knowledge they share, -- most importantly--, but also the way doing research they told me really attract me. The paper I like most is the best paper from ISMM, which provides a sound way to optimize cache performance by combining hardware and software. Also, the talk was also fantastic. I wish next year I can present a paper in PLDI'17. By the way, the outdoor lunch was extremely enjoyable!

Back from PLDI

I had a great week in Santa Barbara for PLDI 2016!

As I wrote previously, I hoped to have a chance to chat with some other students, and this was definitely the case -- I met some really cool people.

I felt like my talk went fairly well, although sadly the SDN session was not as well-attended as I had hoped. In any case, I got to hear about some other cool SDN projects.

I also had a chance to do some hiking in the mountains above Santa Barbara, which was very fun.

Hopefully I'll have a chance to attend PLDI next year!

jed

Post-PLDI

This is the first academic conference I attended, and it was an awesome experience that's way beyond my expectations. I did not expect to meet so many friendly people, all willing to tell me their experiences, share similarities, give me suggestions and encouragements. The PLMW workshop, which was why I got interested in attending PLDI, was also very useful and fun--especially the mentoring session in the noon. Thanks to NSF funding and my roommates, they made this trip possible and affordable. The conference organizers did a great job, and the student volunteer chairs were extremely nice and helpful.

I listened to many interesting talks and met some truly inspiring people. The poster session is especially fun for me, particularly because I can ask as many questions as I want almost one-on-one with the presenter. It's like I attended an intense 5-day workshop which is also incredibly fun, and walked away with a lot of knowledge and ideas. I'm definitely looking forward to attend more future conferences, and meeting friends old and new there.

Looking forward to the recorded videos for talks on YouTube. :)

Tuesday, June 21, 2016

A Successful PLDI

I'm back in Massachusetts from my first PLDI, and it was great!

A lot of people invested their time into making this a fantastic event, and I specifically wanted to thank:

  • The Program Chair Emery Berger and General Chair Chandra Krintz for a fantastic set of keynotes and accepted papers.
  • Annabel Satin from the ACM for all of her logistical work making sure people had places to stay and generally keeping the conference on the rails!
  • Student Volunteer chairs Michael Christensen and Dan Barowy for wrangling all of us volunteers.
I wrote up some more thoughts on my blog here.  I'm very glad and grateful to have attended PLDI 2016, and I hope to see people next year in Barcelona!

Home From PLDI

This was my first time attending PLDI and my first time volunteering.  Volunteering was fun.  I had the opportunity to assist during PLMW and to check tickets at the banquet.

I enjoyed PDLI, especially PLMW and the synthesis talks.  I think synthesis is a funny problem where we want end-users to produce programs without knowing how to program.  I expect that, at least, these efforts can help programmers save time in writing code.  Everyone at PLDI is working on interesting problems.  I look forward to attending PLDI next year and see many of you again!


Another Successful PLDI!

After nearly a week in beautiful Santa Barbara, PLDI is over. The location could not have been more perfect: the weather was spectacular, the wine was delicious, and the Santa Barbara community was warm and receptive to the hundreds of researchers descending upon their town.

Hats off to the following people for making PLDI a great success:

  • general chair Chandra Krintz for choosing such a wonderful location and handling many of the logistics of a conference this size
  • ACM's Annabel Satin for communicating with hotel staff when issues arose, and for her innumerable other duties. If there's a problem at PLDI, you'll see her somewhere in the periphery dealing with it!
  • Student volunteer co-chairs Dan Barowy and Michael Christensen for wrangling all of us student volunteers and using efficient communication channels
  • PC chair Emery Berger (and the rest of the PC!) for putting together an excellent program
This year, PLDI had two very interesting keynotes from Ben Zorn and Luiz Barroso that urged our community to look at a variety of interesting problems that could use language-based solutions. Ben's keynote concerned a variety of topics, from handling bugs in the data programs operate on to privacy issues in the Internet of Things, and spawned a number of conference jokes involving malevolent smart forks. Luiz's talk described unique performance challenges involved in warehouse-scale computing, where it is most important to reduce tail latencies. I found a summary of an older version of his talk online.

I attended many research presentations, including all of those mentioned in my pre-PLDI post, and enjoyed the breadth and depth of the program. Since all talks were recorded this year, I can go back and review presentations that I did not quite grasp and watch presentations that I missed! I hope the talks are uploaded soon.

Next year, PLDI will be in Barcelona. I definitely plan to attend!

Monday, June 20, 2016

Post-PLDI 2016

This year's PLDI was the first time that I attended a large conference on programming languages. I listened to many interesting presentations at the main conference, and especially at the ARRAY workshop. But much more important than the technical knowledge and feedback that I gained at the conference, were the people that I met at PLDI. Most of them are working on different research topics; but as it turned out, some of them are working on very similar topics and there may be a chance that we collaborate in some way in the future.

I think that at PLDI I gained a lot of inspiration for my own research and made many friends, whom I will hopefully and probably meet again at future conferences and maybe at next year's PLDI! I would also like to thank the organizers who did a very good job, selected a beautiful location, and put together an awesome program for all students who attended PLDI.

Sunday, June 19, 2016

Reflections on PLDI

My original reason for attending the conference was to meet with Fabrice Rastello to discuss our upcoming project on performance debugging and auto-tuning. While he is of course very busy at this kind of venue (and everywhere else, I think!) we did manage to find an hour for a focused discussion about the state of current work on the project, and the basic components to be added during my internship. Our project relies substantially on finding and/or creating a flexible emulation platform that supports custom ISA definitions along with stable execution of concurrent programs. Our top candidates are gem5 and QEMU, though both suffer from chronic disorder in the codebase, and neither offers all the functionality we need. While it would be ideal to apply some of the fancy tools that were presented this week at PLDI, such as Heule's work on automatically learning the x86-64 instruction set, we may be stuck manually implementing a lot of instructions in one of these messy emulators.

Since my advisor Brian Demsky and I have recently submitted a security paper to CCS, we thought it would be advantageous to enter the same work in the PLDI student research competition. This turned out to be a bit of a squeeze, since our CCS submission was a bit early to begin with (one benchmark missing, for example), and we had not thought much about presenting the ideas in short form. But the effort paid off--several people offered interesting feedback about our tool during the poster session, which led to a few important additions to my presentation for the second round. I've asked the judges for their feedback as well, though I think the competition has been more than enough extra work for them already :-)

One thing I always enjoy at conferences is talking with people who I rarely see anywhere else. This week I caught up with Matt Brown from UCLA, who is continuing his work on self-typed and self-optimizing interpreters in lambda calculus. He also told me about an interesting project at Viewpoints Research where he did an internship recently--combining copy-on-write immutable semantics with traditional programming language features to make that paradigm more widely accessible. Kirshanthan Sundararajah from Purdue is working on a cache locality optimization for dual tree traversals--i.e., traversing the same tree twice simultaneously, for example as nested subtrees. This technique automatically inverts the traversal at the point where the inner subtree becomes fully cache bound. He claims the optimization can be done entirely at compile time, based on static analysis, though I'm waiting to see the paper!

Of course I enjoyed discussing research with the other student contestants as well, though you can read about their work in the official abstracts. Three of the finalists had techniques that I may be able to use in various aspects of my security work. It was especially convenient that my poster was placed in between two of them, so I had plenty of opportunities to discuss the details.

Papers and Presentations


PLDI

There were 10 papers that I found especially interesting and relevant to my current and recent work, or that I believe are especially important for the future of programming language research. The presentations were mostly disappointing--in most cases I was able to learn more about the technique from less than one page of the paper than from the entire 30 minute talk. It makes me wonder if there should be a separate acceptance phase for presentations, such that some accepted papers would not be presented during the conference sessions. This would free up significant time for other activities which might be more beneficial for the attendees anyway.

  1. End-to-end verification of information-flow security for C and assembly programs 
    • Verification of low-level implementations is miserably technical, yet is handled in an elegant manner by Costanzo et al., and was also presented in a very clear and understandable way.
  2. On the complexity and performance of parsing with derivatives 
    • This paper stands out for me only because the talk was excellent--despite the speaker's distracting habit of getting stuck on a phrase and taking several attempts to finally say all the words.
  3. A design and verification methodology for secure isolated regions 
    • Isolated regions provide great security benefits, but only up to the limits of our verification techniques. While I'm no expert on the subject, this seemed like an excellent improvement over existing approaches. 
    • My only complaint about the presentation is that the author completely neglected to introduce the Intel SGX instruction set, or explain anything about secure isolated regions. 
  4. Transactional data structure libraries
    • Transactional software components are one of my favorite topics, and I believe the efficiency of software development in large, business-critical applications will come to depend more and more on them. 
    • The presentation covered all the main points, but was a bit confusing on just about every aspect. Several members of the audience asked basic questions like, "xyz... what exactly is that?"
  5. Data-driven precondition inference with learned features
    • Learning preconditions is a fundamental step towards many aspects of reliable computing. This technique significantly reduces the manual effort required to establish accurate preconditions.
    • However, the presentation was not useful at all. The time would have been much better spent reading the paper.
      • The basic problem was never established: i.e., that inference operates on a fixed set of atomic predicates which must be manually specified or derived from somewhere.
      • Focused mainly on the PIE workflow, rather than explaining how it infers the aforementioned set of atomic predicates.
      • The transition to the subtopic of inferring loop invariants was totally abrupt, entirely lacking any attempt to relate the two applications of the inference technique.
  6. Input responsiveness: using canary inputs to dynamically steer approximation
    • Sophisticated tools often miss opportunities to greatly improve their performance by taking a few simple, intuitive steps to learn things that a concrete analysis couldn't resolve in years of runtime. This approach is a great example.
    • The talk really needs to focus on a basic example, showing exactly what kind of approximations are tolerated by the conventional approach, and how the irrelevant options are pruned by the canary tests.
  7. Stratified synthesis: automatically learning the x86-64 instruction set
    • Everyone knows the details of hardware instructions (or lack thereof) are a constant source of trouble in low-level implementation. After just a few weeks working with DynamoRIO, I found a bug in the encoding of a multimedia instruction that had not been encountered despite years of regular use in dozens of research projects. This technique could be a game changer for all kinds of bare metal tools.
    • The presentation never bothered to introduce the most basic aspects of the technique. It dove directly into comparisons of various things, and salient details about something or other, but never explained how the thing actually works. The first paragraph of section 3.1 is far more useful than this entire 30-minute talk.
  8. Fast synthesis of fast collections
    • Well what more could you want from a synthesis tool? But the presentation didn't give me an idea of its capabilities, and the paper seems to relate everything in terms of prior work, which is never adequately summarized. 
    • The basic mechanics of the tool were also completely elided from the talk. Reading one page of the introduction (paragraphs 3 through the end) filled in the blanks for me in less than 2 minutes.
  9. Just-in-time static type checking for dynamic languages
    • Definitely a must-have for any type-sloppy language. I can't critique the talk because I missed it :-)
  10. FlexVec: auto-vectorization for irregular loops
    • An interesting approach to improving vectorization in a cost-effective way, but I'll have to read the paper to say anything more about it (missed the talk). 

ISMM

I was only able to attend half a day of ISMM, and while I found all the topics interesting, many of the presentations were missing the key points. My favorite paper is Liveness-based garbage collection for lazy languages, not because I thought it was the most important idea, but because it was the only one I could reasonably understand without reading the paper! I'll read the others later--but as for promoting their work at the conference, those authors certainly missed their chance with me.

LCTES

The talks in the "Worst-Case Analysis and Error Handling" session were all very interesting, but none provided significant information beyond the published abstract. Fortunately I brought my laptop and was able to use the time to make slides for my presentation.

Venue


The Fess Parker hotel was luxurious, and the meals and coffee breaks were well supplied with excellent fare. Here in Orange County, most of the beach-front property is private, so it was especially nice to enjoy waterfront views from the lunch table. However, I was slightly annoyed that the hotel room rates were totally unaffordable, even for a shared a room. Parking was $19 per day, making it unreasonable to drive from another location as well. It turned out ok though--I found an airbnb up on one of the hills and packed my trusty road bike to facilitate the commute. Santa Barbara is a nice town to bike in, once you know the pleasant way across the freeway and some efficient routes through town. It was also relieving to get away from the sterile confines of the hotel in the evenings and enjoy the more organic setting of a neighborhood full of trees, birds, fresh breezes, and the inimitable tones of wild coyotes.



Saturday, June 18, 2016

Another PLDI

PLDi has ended and it was another good experience for me. I enjoyed a lot of good talks and chats, especially during the poster presentation.
The organization of this year PLDI is awesome! Can't complaint of such a location with the beach right in front of the conference hotel. I love the outdoor lunch/reception! I just wish that there are some more social activities/sightseeing but regardless, the conference was good!

Do we know when will the talk recordings will be released?