Monday, July 7, 2014
Tuesday, July 1, 2014
One of the most interesting and well delivered talks for me was Martin Rinard's recovery shepherding work. The whole idea of continuing to go on executing even when things go wrong is hard to conceive in practice, but Rinard's excellent oratorship could have swayed some members in the audience :) I had nice discussions with Vikram Adwe, Shriram Krishnamurthi, Yannis Smaragdakis, and got some feedback on my work. I also ended up meeting some local student volunteers for dinner after the SRC session, and got a flavor of Edinburgh student life style. The SRC session, though long and tiring, ended up being quite useful, generating a bit of a crowd and feedback.
The idea of having a one minute advertisement for upcoming talks worked out very well. Conferences with parallel tracks should try and adapt this. Previous conferences have tried poster sessions etc., to achieve a similar effect, but according to me, the ad-style works out very well.
Few of the talks were very refreshing with their ideas. The one on differentiating between shape-types and material-types in Java, and the large scale study that developers always separate between them was a pretty cool observation. Another one showed that testing for compiler bugs by eliminating input dependencies yields impressive results. MSR's tree-DSL for specifying and manipulation tree-based languages called Fast was quite interesting, and had a nice web front end to play with.
Overall, PLDI was a very fruitful experience, and I am looking forward to the next one at Portland!
Monday, June 23, 2014
Saturday, June 21, 2014
Thursday, June 19, 2014
The Future of PLDI session was also very enlightening. I enjoyed Jan and Sriram's impersonation of each other. I like the idea of having more dedicated reviewers per topic and the idea of the two-phase review process. I would also like to vote for automatic upgrade of the PLDI papers to Journals (with the authors having the option of submitting an extended version which is not bound by the page limits of PLDI).
My talks at the associated workshops (X10 and ARRAY) went very well too, got lots of interesting questions and positive feedback. I also had the opportunity to network and discuss with researchers in similar fields.
I'm also glad that I got to go to Edinburgh and experience the city. It is charming beautiful. After the conference, I also made a small trip around the Highlands - Isle of Skye, Loch Ness, Loch Lomond, etc. It is so green and peaceful. Definitely plan to visit Scotland again.
The poster session was very helpful, I got lots of interested listeners and useful feedback. I am very grateful to NSF-SIGPLAN for the travel support that I received. Looking forward to attending PLDI 2015.
Wednesday, June 18, 2014
This was also the first time that I gave a talk at a conference (as well as my first conference!). It was definitely nerve-racking at first, but the anxiety went away soon afterwards. I would definitely look forward to attending future conferences!
I'm also glad that I got to go to Edinburgh and experience the city. The architecture was very pretty and the food was delicious. I'd like to thank ACM, NSF, and Professor Zhang for giving me this opportunity!
Tuesday, June 17, 2014
I also really enjoyed the "Future of PLDI" discussion. I resonated with a few of the things said, including the idea of making some optimizations on the reviewing process. In my opinion, having each reviewer handle 20 papers is too much; it cannot allow enough time for reviewers to obtain an in-depth understanding of each paper. Reducing the number of papers assigned to each reviewer and reducing redundancy in reviewing resubmitted papers could go hand-in hand. One idea was to allow authors to submit with a list of conferences they would be willing to publish to. Since authors are likely to re-submit the same work to lower-tier conferences, the reuse of reviewers would save reviewer-time. Another idea I liked was to pre-publish on a site like arXiv and encourage peer feedback prior to publication. This would improve the quality of submissions, likely streamlining the review process.
All in all, attending PLDI gave me a chance to meet fellow researchers, and get better acquainted with the community and research at large. Thanks for the opportunity!
Monday, June 16, 2014
I actually had quite a busy time before and during the PLDI. I had one paper and one poster to present. Plus, I need to help work on the slides of another paper of mine, which is presented by another coauthor. Basically, I spent the whole couple of weeks before PLDI working with PowerPoint and rehearsing my talk.
However, all these efforts didn't end up in vain. I had a great time during the poster session and presenting the paper. I had a good time chatting with people and received interesting feedback. It felt especially good when others came to you and expressed how much they liked your work. During the poster session, I even had a chance to describe my work to Neil Jones, the receiver of Programming Languages Achievement Award this year.
Having felt so good about this year's PLDI, it makes me look forward to future PLDIs.
The poster session was excellent. It was a good way to engage people in a 1-on-1 format, which can be a much more focused way to share your work. I wish I had time to take a look at other students' posters, instead of being glued to my own!
I also gave a talk. It was my first major conference talk, and I was terribly nervous as I gave it, but it seemed to go well despite that. The questions after the talk indicated an insightful and attentive audience.
My only complaint is that the ballroom projector wobbled whenever anyone was near it. Given the quality of the conference in every other regard, it seemed a little silly to have a bobbling projector :-).
Thanks to the NSF for funding.
Hope to see everyone I met again in the future,
Sunday, June 15, 2014
Our work on Verification Modulo Versions was well-received. Francesco gave a great presentation and I had several discussions with people who enjoyed the paper/talk.
The SRC poster session and talk also went well. I had an especially interesting discussion about the relationship of what we're doing to some concepts in machine learning, which could be a very interesting future research direction. I managed to finish my talk on time and got some excellent questions from the audience. I really liked hearing the other SRC talks and getting to talk with some of the other students about their work--some really interesting ideas in there!
Hope to be back for PLDI '15 in lovely Portland.
The paper I presented on my language FAST received very good comments and many people showed interest in the topic.
Attending and presenting at PLOOC, the workshop on PL technologies in MOOCs, was also very helpful.
I loved the 1 minute talks at the beginning of the day. They were very helpful in choosing which talks to attend (or not attend).
As many pointed out few things fell a bit short:
- The parallel sessions were poorly organized. The two main examples being Atomicity and Parallelism happening at the same time. The same for Verification and Static Analysis 1.
- The second room for the "B-track" wasn't adequate. It felt like there were business class and economy class papers. The first room was a theatre, the second one was awful with bad audio, a shaky projector and not enough chairs.
- Lunch: inadequate portions but most important it was not possible to sit. For many shy students (especially first year PhD) it's not easy to go and talk to many professors. Lunch is usually one of those occasions where it is enough to sit at the table to start a discussion. This wasn't an opportunity this time.
Thursday, June 12, 2014
It was a joy to attend and present
our research to renowned scientists.
(Thanks to the ACM and NSF.)
After rehearsing time and time again,
the time had come to bring Shapes to the show.
It was a joy to attend and present.
A teaser, poster show, and main event,
the third run by coauthor Fabian M.
(Thanks to the ACM and NSF.)
All went well 'till a man in the back said,
"I invented this stuff score years ago!"
It was a joy to attend and present.
Silenced but not appeased the old man left
We carefully considered his comments.
(Thanks to the ACM and NSF.)
Typeclasses could have reined F-Bounds; instead,
industry shaped a fix over the years.
It was a joy to attend and present.
(Thanks to the ACM and NSF.)
Monday, June 9, 2014
APPROX is not to be missed!
I am Jesse Huang, an undergraduate at Rutgers University and working with Professor Zhang. I am participating in the International Symposium on Memory Management (ISMM), which is co-located with PLDI. We are exploring how to use atomic operations extensively for computation rather than communication on GPUs. I will be presenting our discoveries on Thursday.
This will be the first conference that I will attend! I'm pretty excited, since this will be a new experience for me. I'd like to thank NSF for helping fund me to attend this conference!
In addition, I will be presenting my poster on Monday: "￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼￼Fair Partition-Sharing for Multicore Caches", and my fellow Rochester students' paper at MSPC on Friday: "Affinity-Based Hash Tables". I look forward to getting to hear all about the latest research, and meet a few people along the way!
Sunday, June 8, 2014
I just finished my third year at University of Massachusetts and first year in the Programming Languages and Systems lab. This is my first PLDI. At the SRC I will be presenting my work on SurveyMan, a programming language and runtime system for designing, debugging, and deploying scientific surveys at scale. I keep a research blog, where you can read more about current directions of the research.
I'm grateful to the NSF for providing funding to allow me to be here and am looking forward to meeting everyone!Emma Tosch
Saturday, June 7, 2014
I'm cobbling together a talk for the conference itself (paper: Expressing and Verifying Probabilistic Assertions) as well as a slot in APPROX, a new-this-year workshop on approximate and probabilistic computing. I'm both excited and nervous for both.
Since conference talks are on my mind, I wrote a longish blog post about lessons I've learned so far in grad school about preparing them. Rather than clog up this page with that text, I posted it to my own blog.
See you in Edinburgh!
Thursday, June 5, 2014
I'm a second year PhD student at Brown University, advised by Shriram Krishnamurthi. This will be my first time attending PLDI, as well as my first time visiting Edinburgh. People keep going "ooh, Edinburgh!" and then suggesting sites to visit, so I look forward to the trip. My thanks to the NSF for helping fund me to attend PLDI.
I'm generally interested in programming languages, with a special interest in syntactic sugar. I'll be presenting in the main conference (Tuesday, Olio, 15:45):
Resugaring: Lifting Evaluation Sequences through Syntactic Sugar
Syntactic sugar is pervasive in language technology. It is used to
shrink the size of a core language; to deﬁne domain-speciﬁc
languages; and even to let programmers extend their language.
Unfortunately, syntactic sugar is eliminated by transformation, so the
resulting programs become unfamiliar to authors. Thus, it comes
at a price: it obscures the relationship between the user’s source
program and the program being evaluated.
We address this problem by showing how to compute reduction
steps in terms of the surface syntax. Each step in the surface
language emulates one or more steps in the core language. The
computed steps hide the transformation, thus maintaining the
abstraction provided by the surface language. We make these statements
about emulation and abstraction precise, prove that they hold in our
formalism, and verify part of the system in Coq. We have
implemented this work and applied it to three very different languages.
I look forward to meeting many of you at PLDI!
Tuesday, June 3, 2014
I am Xin Zhang, a third year Ph.D from Georgia Tech. I have been fortunate to attend PLDI since my first year with the generous support from my advisor Mayur Naik, SIGPLAN and NSF.
PLDI has always been a major festival of the year for me. Not only is it a chance to hear talks on top-quality publications of our field, but it is also a rare chance to meet people in the community. Every time after PLDI, I always got back with fresh ideas and energies to work on research. I am confident I will feel the same after this PLDI.
Our group has two papers accepted at PLDI this time, and I am one of the authors for both papers.
"On abstraction refinement for program analyses in Datalog" proposes a novel counterexample-guided refinement (CEGAR) based approach via partial MAXSAT which automatically searches efficient abstractions for a given program analysis in Datalog. For a given query like a aliasing check (v!=u), our approach will either find a cheapest abstraction which proves this query or conclude that there is no abstraction in the space that can prove the query. The key observation here is that there is a natural connection between Datalog and SAT formula. Each grounded Datalog rule is basically a Horn clause. By encoding the derivations in Datalog as the hard constraints in MAXSAT, our approach successfully avoids all the counterexamples. By encoding the cost of the abstractions as weights of soft constraints in MAXSAT, our approach effectively chooses the cheapest abstraction while avoiding all the unviable abstractions.
"Hybrid top-down and bottom-up interprocedural analysis" introduces a novel interprocedural analysis framework which combines conventional top-down analysis and bottom-up analysis, and outperforms both empirically.
I am looking forward to seeing you guys at PLDI!
Monday, June 2, 2014
I'm currently finishing up my third year in the PhD. program at Washington University in St. Louis and will be attending my first PLDI. I will be presenting work done by my co-authors and I at the co-located workshop MSPC. Our paper, "Trash in Cache: Detecting Eternally Silent Stores" discusses a technique to track liveness of objects while they are in cache, allowing us to clear dirty bits and avoid write-backs of any dead data in cache. I will also be presenting a poster based on this work Monday night during the SRC. I look forward to answering any questions and receiving feedback from everyone.
I am very excited to attend PLDI thanks in part to NSF funding through ACM SigPlan. I look forward to hearing as many talks as possible. I also look forward to discussing research and life with as many of you as possible. See you all there and safe travels.
Sunday, June 1, 2014
Friday, May 30, 2014
While I'm writing this post, my passport with the UK visa stamp is still travelling somewhere in the US. Did I tell you that my flight is next Monday? Anyway, it was really close, and there was time that I thought I could not go.
This is going to be my third experience with PLDI (the two previous ones were in San Jose in 2011, and Seattle in 2013). I had lots of fun last time, and I believe it will be even more exciting this year.
I will present two papers at the conference. The first paper, Compiler Validation via Equivalence Modulo Inputs, introduces a novel method to generate compiler test programs from existing code. We found nearly 200 GCC and LLVM bugs over the last few months. This work was done at UC Davis with my advisor Zhendong Su and my lab-mate Mehrdad Afshari. The second one, FlashExtract: A General Framework for Data Extraction by Examples, presents a framework that allows easy creation of specialized synthesizers to support data extraction by examples. I did this work with my co-advisor, Sumit Gulwani at Microsoft Research during my two MSR internships last year.
See you guys in a few days!
Our PLDI paper introduces an abstract interpretation-based framework for leveraging multiple versions of the same program to present only warnings resulting from the changes in the program to the user, thereby reducing the number of false alarms reported.
My SRC work on piecewise refutation analysis presents a new technique for precise and scalable goal-directed static analysis. The idea is to use cheap up-front information (such as a points-to analysis) to soundly "jump" around the program in order to focus a precise symbolic analysis only on the code that matters for the property of interest, enhancing scalability.
PLDI was awesome last year and I am hoping this year will be just as great. I've already read several very nice papers from this year's program and am looking forward to hearing about more work in the presented talks and meeting more people. Can't wait!
It was another cold Ithaca morning. November 1st, 2012. All Saints Day, if that's your style, or All Hollows Day for the traditionalists. Either way, it was a day to remember.
I didn't know it right then. Woke up, like any other morning, scrambled out of bed and into a coat, and stumbled up the 40-degree, 900 foot incline separating my apartment from the university. That's Cornell for ya, Cornell in a nutshell. They say the hill's a metaphor; don't believe it. It's all part of the game, just another one of the little jokes we tell to survive the winter and isolation. You gotta forget the cold somehow.
My hands were still stinging from the frost when he walked through the door. Immediately, I knew something was up. Something was different. For starters, he was younger than you'd expect. Young for a professor. He was wearing a t-shirt, too. Beneath my double-layer coat, sweater, and long underwear I shivered a little on his behalf. Poor guy must've been from out of town. Then there was his computer, his slides. He didn't use powerpoint and he didn't use beamer. Instead, he projected a blank page on his tablet and scribbled notes with a stylus. Revolutionary. But most surprising were his feet. He wasn't wearing shoes.
The man was Ross Tate. The lecture was the Curry-Howard isomorphism. That summer I analyzed a mountain of code to see if one of his ideas held up in practice. It did, so together with PhD student Fabian Muelboeck we wrote it up in a paper. This summer, I'm fortunate enough to get to share this idea.
The paper is titled Getting F-Bounded Polymorphism into Shape and it's about an idea from Ross's friends in industry that has powerful consequences. They treated some classes/interfaces differently from others. Things like Comparable, Equatable, Addable, Clonable received special treatment in their codebase. Instead of being passed around as data or instantiated, they only modified other class/interface declarations. String, for example, might extend Comparable<String> to support a new method in type-safe way.
Ross determined the core rules influencing their guidelines. I did a survey of 60 java projects to determine whether other developers followed the same rules. It turns out they did. Ross then formalized these rules and made them part of the type system. Here's where the magic happens.
Just by separating these concepts--constraints vs. data--we eliminate cyclic dependencies in the type system. Immediately, subtyping becomes decidable under a simple algorithm. With a little more work, non-syntactic equality and decidable joins pop out. Future work is promising; in fact, I'm currently working on proving conditional inheritance in our system. It's one firm step towards a type safe world.
I'm glad to have gotten to work with Ross, and I'm grateful to be able to attend PLDI to share this idea with the community. Shouts out to PLDI, ACM SIGPLAN, and the NSF for making this happen.
Wednesday, May 28, 2014
Tuesday, May 27, 2014
I am a 2nd year PhD student from Purdue University.
My paper "Accurate Application Progress Analysis for Large-Scale Parallel Debugging" was accepted in the conference. In this paper we present a highly accurate automated debugging technique for parallel applications written in MPI.
Parallel scientific applications which run on supercomputers with hundreds of thousands of processes are extremely difficult to debug. Our approach will be able to identify the root-cause of the problem and its associated code region with minimal manual interaction.
This is a joint work between Purdue and Lawrence Livermore National Lab.
I will also be presenting a poster of the paper during the poster session.
I will be attending PLDI for the first time so I am really excited. I have already shortlisted all the interesting talks I am going to attend. Also I hope to meet other researcher working on exciting problems which might lead future collaborations. The NSF SIGPLAN travel award helped me a lot in managing my travel budget. I am really thankful to PLDI organizing committee and SIGPLAN for giving me this opportunity.
Department of Computer Science at Rice University working under the supervision
of Prof. Vivek Sarkar in the Habanero Extreme Scale Software Research Project.
My research interests mostly include Parallel Programming Models and Runtime
Systems with the aim to make writing task parallel programs on multicore
machines easier for programmers.
While I have attended conferences such as OOPSLA and ECOOP in the past, I am
looking forward to attending PLDI and visiting Scotland for the first time this
year. I'm excited to be going to the conference and co-located workshops. I will
be presenting two papers in co-located workshops:
- "A Case for Cooperative Scheduling in X10's Managed Runtime" at the X10 workshop.
In this work, we motivate the use of a cooperative runtime to address the problem of scheduling parallel tasks with general synchronization patterns. Current implementations for task-parallel programming models provide efficient support for fork-join parallelism, but are unable to efficiently support more general synchronization patterns that are important for a wide range of applications. In the presence of patterns such as futures, barriers, and phasers, current task-parallel implementations revert to thread-blocking scheduling of tasks. Our experimental results show that our cooperative runtime delivers significant improvements in performance and memory utilization on a range of benchmarks using future and phaser constructs, relative to a thread-blocking runtime system while using the same underlying work-stealing task scheduler.
- "Exploiting Implicit Parallelism in Dynamic Array Programming Languages" at the ARRRAY workshop.
We have built an interpreter for the array programming language J. The interpreter exploits implicit data parallelism in the language to achieve good parallel speedups on a variety of benchmark applications. Many array programming languages operate on entire arrays without the need to write loops. Writing without loops simplifies the programs. Array programs without loops allow an interpreter to parallelize the execution of the code without complex analysis or input from the programmer. Our implementation of an implicitly parallelizing interpreter for J is written entirely in Java. The interpreter itself is responsible for exploiting the parallelism available in the applications. Our results show we attain good parallel speed-up on a variety of benchmarks, including near perfect linear speed-up on inherently parallel benchmarks.
Hope you get the time to attend my talks and I'll also be running into you at
the various sessions. Do provide any feedback you have whenever we meet. Looking
forward to meeting all of you and making new friends and possibly also exploring
a bit of Edinburgh.
I will participate in the Student Research Competition, presenting a system called FACADE, which is a compiler and runtime system for Big Data applications. In this system, we propose a new programming model that breaks the long-held object-oriented programming principle: objects are used both for data representation and data manipulation. Instead, we make a clear separation of them. FACADE has the ability to automatically transform existing Java programs into our model with very minimal users' effort. And it guarantees an upper bound of number of data objects regardless how much data a program needs to process.
I look forward to hearing all the talks. I wish PLDI could record all the talks so I wouldn't have to make painful decision of which session to attend. But that's just my wish :) (is there anyone out there having the same wish?)
Monday, May 26, 2014
Fast (rise4fun.com/Fast/) is a programming language for static analysis and optimization of programs that manipulate tree data structures that I developed during my first internship at Microsoft Research together with Margus Veanes, Ben Livshits, and David Molnar.
AutomataTutor, on the other hand, is a tool for automatic grading and feedback generation of Finite Automata constructions in undergrad education that I developed in collaboration with my advisor (Rajeev Alur), Sumit Gulwani, Dileep Kini, Mahesh Viswanathan, and Bjoern Hartmann.
Finally I'll present my ongoing research on the static analysis of Web Scrapers at the PLDI SRC.
Besides the talks, I really look forward to meet the other researchers attending the conference and hear what they will present.