Monday, June 25, 2012


I had a great experience at PLDI.  In addition to seeing talks for some really interesting research, it was fun just to talk to folks in the hallways or during a meal.  I’m grateful to everyone who gave me positive feedback on my first PLDI talk!  So thank you to everyone who expressed interest in my research!

This was in fact my second PLDI, my first being the one last year that was incorporated into FCRC.  I really enjoyed the more intimate nature of this year’s PLDI -- although FCRC was a really exciting event, it was also a bit overwhelming to meet folks from so many different CS disciplines all at once.  I thought this year’s smaller venue and smaller crowd made it a lot easier to just bump elbows and start a casual conversation.

It’s hard to point out my favorite talks without doing an unintentional disservice to the other talks at PLDI, so I’ll just say that I was impressed with the overall quality of presentations, and I’ll definitely be following up by reading some of the papers presented this year.

Finally, some closing remarks.   The Great Wall really is very big.  The Forbidden City really is very big.  Scorpions look a lot scarier than they taste.

Thanks for such a great conference!


I had a bit of (self­-induced) trouble getting write access to this blog, so apologies for posting this a bit late.


Hi everyone,

I’m Alan Leung, a 2nd year PhD student at the University of California, San Diego. First things first, I just wanted to say how grateful I am for the generous travels grants that make travel to places like Beijing possible!

This year is the first time I’ll be presenting at PLDI, and I’m both excited and a bit anxious for my first chance to present the research we’ve done. I’ll be presenting the paper “Verifying GPU Kernels by Test Amplification,” where we explore a technique for verifying determinism in GPU kernels with a combination of dynamic race analysis and static information flow analysis. The key ingredient of our approach is that we can verify determinism using a single test execution, so long as we can show that the kernel always displays the same shared memory access behavior, regardless of the values its data inputs. We call this property access invariance. It turns out that a lot of kernels are in fact access invariant, making them amenable to our technique!

So, the first thing I hope to get out of this experience is a chance to get people as excited about the research as I am, through my talk, poster session, or maybe just chatting in the halls. The second thing I hope to gain is a new perspective on old problems, or just an awareness of new problems, by attending talks and meeting some of the brilliant folks in the PL world and beyond. Some of the best ideas can come out of the blue during a conversation. Finally, I’m a bit of a foodie, so in addition to all the food for thought we’ll get at the conference, I hope to get a chance to taste some of the great food Beijing has to offer!

Really looking forward to it!


Sunday, June 24, 2012

Enjoyed PLDI and ECOOP

I had an amazing time at PLDI and ECOOP.  I heard a lot of interesting talks and was engaged in helpful conversations.  It was interesting to see that parsing was still not solved in a talk about a new tool for parsing C with macros.  I received interesting questions after my presentation of the paper, Java Wildcards Meet Definition-Site Variance.  Peking duck is delicious.  The knock off markets are fun to shop at (e.g. on Qiamen Street), if you like negotiating.  Walking around Tiananmen square was exciting.  I really enjoyed and learned a lot from attending PLDI and ECOOP.

Friday, June 22, 2012

Back from PLDI & LCTES

I’m very glad PLDI and LCTES are held in China this year. According to the statistics, there are more than 580 attendees and about 1/3 of them come from China. It’s really a great place to attend talks and communicate extensively with other researchers.

There are many impressive talks during the conferences. For example, there are researches focusing on how to map emerging applications onto heterogeneous platforms such as CPU, GPU, FPGA, many-core accelerator, which are very practical problems in the multicore era. Also, there are researches exploring the first scalable and precise data-race detection scheme for newly-born structured parallel programming model, and novel strategies to accelerate concurrency bug detection, which are very hot topics in parallel programming. These talks are quite related to researches in our team and I would like to bring back this information to classmates in our team.

It seems that there is a broad spectrum of attendees in PLDI and LCTES. Like Marc de Kruijf, I also come from the architecture community. By the way, my session chair Florence Maraninchi happens to be one of the PC in Design Automation Conference (DAC) this year; and I just attended the DAC conference in San Francisco a week ago before I went to PLDI & LCTES. Talking to researchers from different communities help me to broaden my outlook and think in new ways. And this will certainly help me to advance my future researches.

Finally, I want to extend my sincere thanks to all who were involved in organizing the conference, the ACM SIGPLAN PAC for funding my trip, everyone who presented, everyone who came to my talk and asked such excellent questions, all the student volunteers, and anyone else I'm forgetting.


Thursday, June 21, 2012

Amazing PLDI

I am 2nd year Phd student @ University of Utah. This is my first PLDI. It was amazing.

At first, I was amazed by the fact that attendees come from so many different background,  through talking to those researchers in and out of my own area, I was inspired. Sometimes thoughts and ideas just pop up during the process!

I am happy that some of the talks with researchers in my own field have digged into reasonable depth, that help me compare and improve my own research.

I also had my first academic talk here (I mean in the PLAS 2012). On the practice talk,  I got help not only from professors' of my own university, but also from those people I talked with. It was very nice. and Thanks for their valuable suggestions and comments. 

Lastly, I would like to thank for people organizing this spectaculars events, and thanks for the grants to our students that do help relieve financial burden. Oh, Another person I should not forget to thank: our chair: Jan Vitek! Thank you for the *temporary* volunteer to the PLDI banquet, where I met and talked with more smart people and had great fun:)

Wednesday, June 20, 2012

Back from Beijing

Coming from the architecture community and never having never attended a PL conference before, I wasn't sure what to expect... but I had a great time! And I was very impressed by the quality of the talks, which were very accessible.  So kudos to everyone who gave a talk!

Some conferences have various camps in them that specialize in specific areas.  It seems PLDI has more of a spectrum of attendees.  There's the formal methods and semantics people who blend in with the functional programming people who then, in turn, cross over with object-oriented crowd who then also cross over with the hardware-optimizing compiler crowd.  And of course there's various mixtures everywhere in between.  I like how, despite the diversity, there's a lot of sharing of ideas in ways that is easy for others to grasp.

It was good fun but I'm glad to be back.  I hope to make it to PLDI again sometime in the coming years.  Thanks to NSF for helping fund us poor graduate students!  Thanks to the organizers for such a successful conference!  And thanks to all the other volunteers as well!

Tuesday, June 19, 2012

I'm making a note here:


I had so many great experiences this PLDI; for the benefit of the reader, I will condense them down into a few choice vignettes...

1) About the people I finally managed to track down after spending countless hours reading code and being told "hmm.. I don't know, Brian wrote that..." when asking how it worked.

2) About the time I accidentally crashed the ECOOP banquet by happening to be touristing in the same district at about the same time, and ending up in a conversation about research with an attendee as it was starting.

3) Apologies to the deep-fried scorpions that Alan Leung and I ate the night after his talk at Wanfujing market. Your lives were regrettably short, but delicious.

4) About learning to haggle. I am of chinese ancestry by genealogy, but very much californian by any other metric. I am now convinced that there is some hereditary component to the ability and enjoyment  of haggling with street vendors.

By attending talks and talking extensively with other researchers, both in and out of my specific static analysis niche, I learned quite a bit about both the research community, the work that we are doing, and the process by which it is leaking out into the industrial community. In particular, in the niche of static analysis, my feeling was that the biggest holes in our research are not expressiveness, as we (ie, I, in particular) are wont to pursue, but first, frameworks for handling the features and scale used in real industrial code, and second, error and warning reporting. (On the latter note, special attention should be given to the Dilligs' excellent paper and talk, which pushed this problem forward in a particularly important way.)

The overall feeling I got was that the common case in static verification is not one in which code is correct, and a programmer simply needs some assurance that this is the case, but that code is inevitably incorrect in some way, and the programmer simply needs some feedback on how robust his or her code will be when used at scale prior to deployment, and more particularly, how that robustness will change as he or she evolves that code.

Finally, I want to extend my sincere thanks to all who were involved in organizing the conference, everyone who presented, the NSF for funding my trip, everyone who deigned to listen to me babbling on about my work in the hall or at lunch, everyone who came to my talk and asked such excellent questions, all the student volunteers, the city of Beijing, and anyone else I'm forgetting.


Monday, June 18, 2012

Hi all,

I'm Mike Vitousek, a first-year PhD student at University of Colorado at Boulder. This trip was my first visit to China, my first PLDI or ECOOP, my first presented technical talk, and the second conference I've attended. It was, of course, a really great experience!

I gave my first technical talk on the first day of the conference (at STOP, not at the main conference) and it was a great experience. In a lot of ways it was an ideal first talk, I think -- it was at a workshop filled with people who were all directly interested in the kinds of work that I'm doing. I was also proposing something somewhat controversial* so I got to experience (constructive) criticism of our ideas -- definitely a good thing! The rest of the STOP workshop was great too; I'm definitely interested in the dependent types in Javascript work that was presented and I'll be tracking the work on Big Bang with interest.

Beyond that, I liked a whole lot of the talks and sessions at PLDI and ECOOP. Some standouts for me were Hackett and Guo's work on Javascript type inference, the work from Rice on gradual permissions, the formal C# tutorial and the Grace tutorial. In addition, I really enjoyed meeting lots of people at PLDI, and there are a lot of people there that I hope to speak with and maybe work with in the future.

Basically, the trip was awesome and I'm really glad I was able to go on it. It made me think, and made me think about how I think. I'm looking forward to the next one!

* We proposed an approach to gradual typing that results in casts on objects permanently and monotonically making the object's type more specific, which could cause flow-sensitivity and "spooky action-at-a-distance." Check it out here:

Thursday, June 14, 2012

Relaxing in Beijing

Hi, I'm Mike, and I just finished my 6th year (I all starts to blur at some point) as PhD student at MIT. I didn't receive the login info for submitting posts until just the other day, so my pre-PLDI post is now a post-PLDI post and my post-PLDI post will be a post-Beijing post.

Anyway, my trip to Beijing has been entirely dedicated to relaxing; I spent the first few days getting everything set for my presentation on Monday on Reasoning about Relaxed Programs (aka, Proving Acceptability Properties of Nondeterministic Relaxed Approximate Programs). And since Monday I've actually been relaxing myself by catching up with people in the PLDI community, eating great local food, and exploring around Beijing.

After looking over all the posts on the blog, I'm surprised to see that I've bumped into quite a few of you over the past few days. And now I'm looking forward to seeing what post-PLDI stories pop up here in the next few weeks.

Tuesday, June 12, 2012

"Why, hello" from San Diego (from Beijing)

Hi all,

My name is Alexander, and I'm a 1st year PhD student at UC San Diego, and this is my first PLDI. I was prepped with the understanding that these conferences are, in a sense, primarily about networking. And this is probably the right thing anyway - ideally there is an exposure to at least a few ideas that seem personally relevant or interesting, and the opportunity to meet a good number of like-minded individuals from the community.

This has essentially been my experience. At this point I've attended a few talks that have been exceptionally cool (in my opinion). I've talked to people who weeks ago were merely names on DBLP - either about our work or about the weather or about the experience of actually getting to Beijing.

The best part is experiencing everything for the first time - which only makes me more excited to return to future PLDIs, whether to give a talk or just catch up with old friends. I hope to see you all again in the years to come.


P.S. it would seem a miss if I didn't plug something related to me, so you can read about the research that we presented earlier in the week at

PLDI is awesome

I am John, an nth year PhD student from the UMass Amherst.
It's awesome that we can attend both PLDI and ECOOP within the same trip.
After only hearing the first day of talks at PLDI, I've already heard cool ideas and useful work.  I enjoy seeing language neutral or very general frameworks such as the Implicit Calculus that can be applied to almost any language within the domain of the problem; in this case, a language involving generics/parametric polymorphism.
The Diderot language provides a great example of a DSL allowing non-expert programmers to write highly efficient code that is close to the algorithmic specification with notation from the problem domain.  The variety of problems being addressed in the papers and techniques involved makes programming languages really feel like the core of computer science.

I should mention my talk, since I am here to present my ECOOP paper with Yannis Smaragdakis and Christoph Reichenbach titled, "Java Wildcards Meet Definition-Site Variance".  The topic of variance is about how to allow generics (parametic polymorphism) and subtyping (inclusion polymorphism) to coexist fruitfully in a programming language.  Keeping in mind the subsumption principle:  Anything a supertype can do should be able to be performed by the subtype:  It is not safe to assume a List<Dog> (a list of Dogs) is a (subtype of) List<Animal> because a List<Animal> can add a Cat to itself but a List<Dog>.  This paper covers how to combine popular approaches to variance, use-site variance (adopted in Java as wildcards) and definition-site variance (supported in C# and Scala) in the same language.  The paper presents the VarJ calculus, a model for Java with both wildcards and definition-site variance.  The VarJ calculus extends the very cool TameFJ calculus by Nicholas Cameron et al., which was used to produce the first proof of soundness of Java wildcards.  Our paper was written to also provide a template to support variance with safe type checking to your calculus.  One of my goals was, if you read this paper, you will know how to add variance to your type system.

I will conclude with a few benefits (though there are far more) of attending this PLDI and ECOOP:

1) I will learn about very general approaches and new ways of thinking.
The talks are thought provoking and help me with determining future projects to work on.

2) Being around other people who find type systems interesting and are applying them motivates me greatly. It's nice to be able to discuss new ideas without having to constantly justify the point of your existence.

3) Talking to other researchers about research projects and learning about the variety positions they work in is very exciting.
It's great to hear about job opportunities where programming language techniques.

4) The cultural and social educational benefits are obvious but still should be mentioned.  This is my first time in Asia.

Looking forwarding to meeting more attendees.

Monday, June 11, 2012

Greetings from Beijing!

Hi Folks,

My name is Ming, and I'm an nth year PhD student at UC San Diego (consider your favorite, or least favorite n...). Although I believe we students were asked to contribute to this blog prior to the conference starting, I'm afraid I'm a bit tardy and instead am posting while enjoying the first day's sessions.

In theory, I am here to present my paper on statically proving the determinism of parallel programs using the Liquid Effects system. In fact, I have already given the presentation and will instead be enjoying the rest of the conference program.

I believe there are at least a few concrete benefits I am getting out of attending this PLDI, but I will limit myself to discussing two of them.

1) Every conference I attend, I find myself exposed to at least 2 or 3 new problems that I had not previously considered, but due to either the persuasiveness of a presentation, or a conversation with another attendee, thereafter decide to be paramount to scientific advancement.

2) From speaking to other researchers, I often get the feeling that our work on refinement types is considered by some to not be generally accessible. However, my feeling is that the truth is exactly the opposite -- and that our goal is and has been to make both the inputs and outputs to verification maximally accessible to both practitioners and other researchers.

However, it can be hard to get this across in the technical paper; the conference talk, on the other hand, is a much better arena for this, because it can emphasize the action of the tools that result from our work. Hopefully, the talk I have constructed serves this purpose, and I have done my colleagues a favor in spreading understanding of their hard work to those who might have dismissed it immediately if only exposed to the paper.

Finally, I'd like to end with some shameless self-advertisement. For more information about our paper, and the associated Liquid Types project, please visit the following URLs:

Further, releases of our tool CSolve, for proving assertion safety and determinism of C programs, can be found here:

Thanks for reading, and I hope everyone enjoys the rest of the conference!


Sunday, June 10, 2012

Greetings from Utah!

Greetings to everybody @PLDI.

I am a 2nd Phd student at University of Utah, area of interest is static analysis and programming languages, working with Matthew Might, I am so exciting to attend PLDI (and ECOOP) this year.

I am going to present a paper at Programming languages and Analysis for Security (PLAS): Hash-flow Taint analysis for Higher-order programs.  It is about static taint analysis based on abstract interpretation for scripting languages. I have my experiments on Python, while the technique can be applied to other scripting languages, to detect XSS attacks.

Wish you have wonderful time in Beijing!

Saturday, June 9, 2012

The Blond Man's Travel Log

I have been requested to make a blog post both before and after the conference. The pre-conference post is to introduce "who [I am] and what [I expect] to get out of PLDI 2012." Other than that, I have been given no limits whatsoever on the nature of this post. I shall use roughly two paragraphs to satisfy the rather drab requirements, then, as laziness is next to godliness, I shall simply duplicate and slightly paraphrase my travel log. I've been in Beijing for five days now. Please note that these were written as separate entries, and, as such, will not come across as a single cohesive story.

My name is Gregor Richards and I am a student at Purdue University. Because it turned out rather relevant to my travels, I'll mention that I have long blond hair. To say that this is an unusual sight in Beijing would be an understatement. I always wear a hat, and typically wear a brightly-colored necktie. I suppose these are not the "who I am" details expected of me, are they? I'm a PhD student studying under Jan Vitek, and I've primarily done empirical studies of dynamic languages, focusing on JavaScript. I'm more recently looking at making a gradually-typed dialect of JavaScript given everything I've learned from the empirical studies.

What I expect to get out of PLDI is what I expect to get out of any conference: A few good ideas, a lot of good conversations, and some unfortunately dull food that's sort of an insult to the venue. In addition to attending PLDI, I'm the chair and host of the ECOOP 2012 Doctoral Symposium, which should be a fun experience.

Now, with no further ado, my travel log.

There was a man in the Toronto airport. He was wearing a pressed salmon-colored suit. The slacks matched the jacket. His hair was jet black and slicked. He looked like he had just stepped out of the seventies, and yet was ready to walk right into a board room and negotiate a hostile takeover.

He is my new personal hero.

We were on the same flight, myself and the man in the salmon-colored suit. He went through the customs line next to mine. He wore white leather shoes and a pink wristwatch, and carried a distinctively businesslike briefcase. A daring look to be sure, but one achieved flawlessly and with gusto. Somewhere in Beijing, the Salmon Man roams, being more awesome than I am.

Perhaps I am jealous of his splendor. Perhaps I simply revel in the idea that such a human being exists. Good journeys, man in the salmon-colored suit.

Today, I walked on the Great Wall of China.

My guide informed me that there were three options: The cable car, which was of course quite simple, the north path, which was relatively easy but crowded with tourists, or the south path, which was very steep but, naturally, less crowded. I tied back my hair, rolled up my sleeves, and chose the south path.

It was strenuous but not grueling. About forty minutes in, I took a break to visit a small pavilion. It was down a flight of stairs from the wall, buffeted by trees, the branches of which canopied the staircase giving it a very regal feel.

As I reached the bottom of the stairs, two cute, bubbly Chinese women about my age waved excitedly at me, hollering "Hello! Hello!"

"Ni hao," I replied simply.

I sat down and stretched my legs, glad to give myself a brief reprieve. One of the women was not especially inconspicuous as she snapped photographs of this unusual foreigner. I unbound my magnificent golden mane and tousled it slightly for her benefit. She did little to hide her enthusiasm.

I may never be able to pull off a salmon-colored suit, my friends. But I have my charms.

As I got up to leave, she built up the courage to ask me – or, as it were, gesture for me – to take a picture with her. Her friend did the same. I thought it odd, but they were only the first. By the time I lost count around the tenth such tourist, I was more amused than baffled.

At the Great Wall of China, I am the tourist attraction.

Today I had one, and only one, goal: to buy a hat. I asked the Internet for a good hat shop in Beijing, it told me one, and I went there. The shop was along the Wangfujing Street shopping district, and so I took the opportunity to do some touristy shopping as well.

The street itself was really quite dull. There were a few interesting stores and I almost bought an overpriced silk shirt, but overall it wasn't an exciting experience. The side streets were a whole other matter.

Branching from Wangfujing itself are three or four narrow passages which are absolutely packed with vendors selling either food or cheap novelty garbage. The crowds are incredible, but I'll talk about that more in the being-stared-at post. More to the point, the sheer variety of foods available was amazing. It was unfortunate that I had already eaten lunch, and wasn't hungry at all, because I could have packed myself with steamed buns, shish kabob, strange seafood and things I can't identify.

My shopping spree over, I hailed a cab. I showed the driver the Chinese printed address of my hotel, and he offered me a price to get there.

Now, if you know Beijing, are coming to Beijing for the conference(s) yourself, or are just generally wise, there should be a klaxon in your mind going off. I assure you, I'm quite aware of this ruse myself. The taxis in Beijing are metered; if they offer you a fixed price, they're ripping you off.

I had taken a taxi the other way just that morning, and properly metered to boot. So I knew what the appropriate price was. He was offering about double, less than I would expect for a ripoff. Something about the gall and the whole lunacy of the moment amused me. So, I put on a bright grin, affected the role of the hopeless American tourist, and allowed myself to be had.

Probably that decision wouldn't have paid off in terms of entertainment, but for the fact that I knew I was being had. The way taxis work in Beijing is that they have a visible flag that shows they're for hire, and when the meter is running, the flag is down. As such, people still hailed this taxi. And that's when the beautiful interaction occurred.

Some native would hail the taxi. The driver would be hilariously unsubtle in waving them off. They'd see me in the back, and give a knowing look. Sometimes even a wink! As if to say, "Aha, good luck to you, intrepid cab-driver-cum-scam-artist. Let's not let Whitey get off easy."

Those looks were absolutely priceless. Enjoy my extra $6, cabbie. It was worth the price.

If being stared at were an Olympic sport, I would be its gold medalist. Unfortunately, I'm four years too late to compete at this venue.

Today, on a friend's recommendation, and in spite of my best judgment, I took the subway. The only real issue is that the nearest station is a 25 minute walk from my hotel. It is extremely inexpensive, at ¥2/trip (about 30¢). However, I was taking it at rush hour, and it was very, very crowded.

I'm not sure if I can explain satisfactorily what "crowded" means here. It's not so much an issue of personal space as it is coming to terms with the fact that you will be groping someone today, whether you wish to or not. I found myself entrenched in a female enclave, several of the members of which were gawking at their newly entrapped human curio. I tried not to think too carefully about the situation, for fear of the distinct, albeit unlikely, possibility of uniquely male consequences.

Nonetheless it was a straight shot to my stop, then a short walk to my destination, Tiananmen Square and the Forbidden City. If you expect me to describe these attractions, you've forgotten who's writing these, consider reading Wikipedia.

In spite of the fact that sheer numbers would dictate that most visitors here should be Chinese, I still find it surprising just how few people of European descent there are. There are certainly a few, but there were probably no more than twenty who weren't associated with tour groups.

That fact, along with the complementary fact that I'm me, meant that I got a lot of attention. Now, I've been stared at in many countries, including my own, and by many people, but there is usually a pattern. When I catch someone staring at me, they stop. It's a very natural reaction. It's not that I'm offended, my eccentricities are, after all, quite intentional, but that's just the social norm. That is not, it would seem, the social norm here, or at least not with me.

Whenever someone stares at me, or I see someone trying to take candid photographs of me, I smile at them and say "ni hao!" This is the point at which a gawker in any other country would turn away. Not here. I have observed three reactions:

  1. The gawker does not react at all. That is to say, they just keep right on gawking.
  2. The gawker returns my greeting, but otherwise just continues to stare at me.
  3. The gawker asks to take my picture or have their picture taken with me.

I have never, not even once, observed the expected behavior of acting as if they were caught in the act.

That being said, it's not every tourist who builds up the courage to ask me for a photo. Many take photos of me with varying degrees of candidness, but only the brave few actually ask. The very fact that I'm writing this should seem bizarre to me, but after three days of this, it feels normal. That can't be good.

Every time someone asked to have their picture taken with me today, I insisted that they also take a picture on my camera. Unfortunately, most people just wanted a picture of me, not with me, a contingency I wasn't prepared for, so I only got five such pictures. Not quite enough for the "Gregor poses with random Chinese people" photo collage I had in mind.

We are more alike, my Chinese cousins, than unlike. But I suppose it is those un-likenesses that make life interesting.

A picture of me with two enthusiastic Chinese girls:

As an aside, I have a fondness for caricatures. Admit it: If you looked like me, you would have a fondness for caricatures as well. Here is me, as drawn by a caricaturist on a ceramic plate: . Perhaps a Chinese friend could tell me how horribly he mangled the transliteration my name?

Ah, the food. I don't really have an anecdote here, so this post will be more of a series of observations.

Every time I go into a restaurant, it starts the same way. I say "ni you mei you yingwen caipu[sic]?" and they stare at me for a moment, trying to understand what I just said through my thick accent and poor intonation. Usually they figure it out, then open a menu and point to the iffy English translations. I make an "okay" gesture, indicate that I am alone, and am led to a seat.

(Note: My phrasebook lied to me. caipu is "cookbook", not "menu". So that's probably part of the confusion. Oh well.)

Food is stupidly inexpensive, from my perspective. I routinely order the most expensive thing on the menu simply because at most restaurants that still leaves every meal under $8, so from a western perspective, I'm getting a pretty good deal. I probably look like an ass, always ordering this way, but oh well. I've had some better meals run me around $25, but always for things that would have been more expensive and worse in the US.

It's probably racist of me to notice this, or perhaps it's just the influence of westernization on Chinese food, but the first thing that struck me is that there simply isn't any chicken. Occasionally there will be one chicken item on a menu, but it's not the norm. Mind, I probably wouldn't be eating chicken anyway, that just seems like a very idiot-western-tourist approach to food, but I still expected it to be an option.

I've had beef tendon and heart, ox tripe (whatever that is), intestines (the menu was not kind enough to inform me in English of what kind of intestines I would be enjoying), pork, crab and lamb, but no chicken. I actually don't eat much meat other than poultry normally, so it's been a bit odd.

They always bring me a fork. I refuse to use it. In spite of how much I like to complain, I'm actually perfecty competent with a pair of chopsticks. I have good dexterity, so it would be pretty pathetic if I couldn't use the utensil of choice of billions of people. I'm not offended by them offering me a fork, I understand, but there is one thing that irks me. Because I'm so routinely offered a fork, I've taken to grabbing the chopsticks on the table immediately upon sitting down, and clicking them idly in the air, just to be a very clear indication that I can use them. That doesn't make any difference. Sometimes I'll be a few minutes into a meal, successfully eating without making a mess, and then they'll bring me a fork. "Come on," I think to myself, "I'm doing just fine, don't patronize me!" I wave these offers off to the best of my ability.

Some restaurants don't even give me chopsticks. Ironically, the only restaurant I've been to that hasn't offered me a fork was a Thai restaurant. If you don't understand why this is ironic, then you're probably the kind of buffoon who asks for chopsticks in a Thai restaurant, and you should take a careful look at your life.

Cold water doesn't exist. Just to be clear, this isn't like many places in Europe, where iced water doesn't exist. Even lukewarm water is not an option. When possible I'm ordering soda simply because it's served chilled. The waiters sometimes seem baffled that an adult would order soda with a meal; I don't drink alcohol. If I ask for water, they will bring me that most unrefreshing of all possible beverages, hot water. I have no idea how to indicate to them that I would like cold water. On several occasions I've poured hot water for myself and waited for it to cool down to sufferable temperatures.

Normally I've tried to end these with something pithy. Unfortunately, I simply haven't any pith here. I've really enjoyed the food, and the culture gap has been entertaining. Eating in Beijing is a good thing to approach lightheartedly. I'm never quite sure what I'm going to get, but it's always been good.

(This entry resulted in a recommendation for a Peking Duck restuarant, leading to the next, and final, entry in my travel log thusfar.)

Authentic Peking Duck in Peking. Or is it Beijing Duck in Beijing? Fairly certain both options offend someone. Either way, it was a meal I frankly lack the magniloquence to describe sufficiently. Suffice it to say that it was excellent.

Plus, two added bonuses! For one, they did not presume to offer me a fork. Finally! And for two, when they had finished slicing the duck for both my table and the table next to it, and were left with deciding which would get the gizzard, liver and other assorted organ meat, they chose me! The white guy! Huzzah! Both of these felt like a (small) honor to me.

My travel log will probably be considerably less interesting as we get into the conference proper. Nonetheless, if you'd like to keep up, I'm posting it on Facebook,

With valediction,
 - Gregor Richards

Greetings from Seattle

Hello everyone,

I am Daniel Perelman, a 2nd year PhD student at the University of Washington, working with Dan Grossman and Sumit Gulwani (Microsoft Research). My research is in the area of program synthesis, and I am also interested in static analysis and type systems.

I will be presenting a paper "Type-Directed Completion of Partial Expressions" co-authored with Sumit Gulwanti, Thomas Ball, and Dan Grossman. In the paper, we present a new perspective on API discovery: of using "partial expressions" which are expressions with holes in them to allow programmers to communicate their knowledge of APIs they are looking for in a flexible way. We show that even simple partial expressions are surprisingly expressive due to the rich type structure of languages like C# and Java. Come see my talk at session 5A for more information.

Any C# programers are invited to try out the tool I developed based on the ideas in the paper: (source code available there, too).

This will be my first time attending an academic conference, so I am looking forward to having a chance to meet with other researchers.

I look forward to meeting everyone in Beijing!

你好 — Greetings from 北京。

Hi everyone,

I’m a French student spending a year at Purdue University, Indiana, before I start my PhD. There my research focuses on the verification of compilers for managed languages – like Java; concurrent garbage collection is really a fun topic.

It is my first time attending such a conference and my first time as well coming to Asia. I’ve just arrived after a long trip, and Beǐjīng looks so huge and full of people speaking Chinese only, which doesn’t make my life easier since I’m hardly understood by anybody here. I hope you’ll help me improving my (pathetic) Chinese-speaking skills.

Here a modest picture of an endless road inside Beǐjīng: right below the street lamp you can see on the left is where the shuttle from the airport dropped me. This narrow place in the middle of the road is indeed (according to the bus driver) the so called 安贞桥西 bus stop.

In addition to the fun of traveling, I’m really glad to be able to attend to PLDI and ECOOP. There will be a lot of interesting people, plenty of nice talks. This will surely be an enjoyable week!

I’m looking forward to meet you all tomorrow.


Ps: this has been posted from the USA through a ssh tunnel…

Friday, June 8, 2012

Hello everybody,

My name is Soha. I am excited about the conference, i've never been in a conference with such importance before. So i guess i'm a little bit tensed, but i'm sure that i'm going to enjoy it, meeting people in the same field, researchers whom i used to read their papers and admire their work, now i get the chance to actually meet them in person and talk about their work and my work. That is such a privilege.

I am also a volunteer at the conference, so hopefully that would put me into action right away. It is a nice opportunity to be part of the organization team, to see how they are actually making it happen, to socialize and make new friends.

See you all in a couple of days.


Wednesday, June 6, 2012

Almost there

This will be my first PLDI and first ECOOP experience.  I'm looking forward to it.  My background has not been in PL but in numerics and HPC.  This conference will a nice step on my transition to the PL world.  It is one thing to read the papers, but it is another to meet the personalities, and talk to both the old-hats and the newcomers.

The biggest difficulty in all this is choosing what talks to make and what to miss.  Between the two conferences, the several workshops, and all the tutorials, this is an insanely packed week.  

And frankly, I can't wait for the conference.  Yes, it should be fun and exciting, but also, we can call this conference program done.  A note to whoever has to do the next conference:  keep all the conference info in a master document whose starting format is easily translated.  For this year, someone else did the website first, and the conference program was made from those pages.  Blech.  Getting good design and layout from a web page onto paper is a mess.  Endless cut and pasting, and then endless last minute updates make for a mess and more work that is necessary. 

The Art and Beauty of Test Case Reduction for Compiler Bugs

Hi everyone,

My name is Yang Chen, a fifth year PhD student in the School of Computing at the University of Utah, advised by Prof. John Regehr

First of all, I confess that the title was almost stolen from my advisor's blog entry :-). I am choosing this title because it is hard for me to find a better description to summarize our PLDI '12 paper entitled "Test-Case Reduction for C Compiler Bugs", co-authored with John Regehr, Pascal Cuoq, Eric Eide, Chucky Ellison and Xuejun Yang. This paper presents our efforts towards automatically producing valid and reportable test cases from large bug-inducing C program. 

Out of the three new reducers described in our paper, two of them are tied with Csmith, our random C program generator which has uncovered more than 450 previously unknown bugs in a variety of C compilers. Our best reducer, C-Reduce, is generic and capable of reducing any C programs. Since the paper was accepted, we have made our progress in adding C++ specific transformations. C-Reduce works much better on C programs by now. 

Csmith and C-Reduce are both open-source software. Also, you can watch our development on github (Csmith repo and C-Reduce repo). Suggestions, critiques or patches are all welcome!

I am looking forward to meeting you guys in Beijing!

Sunday, June 3, 2012

Greetings from Oxford

Hello everyone,

I'm Luke Cartey, a 3rd year DPhil (PhD) student at the University of Oxford, working with Oege de Moor, my supervisor. My area of interest is language support for high-performance graphics cards - especially how we can generate efficient GPU programs from domain-specific languages.

I'm attending PLDI to present our paper, co-authored with Rune Lyngsoe, on "Synthesising Graphics Card Programs from DSLs". Working closely with Rune, a bioinformatician, we have come up with a high-level functional language for describing recursive problems in bioinformatics. This language can be augmented with a number of embedded extensions to support different applications.

In the paper we show how we can analyse this language to automatically identify and generate a parallel graphics card implementation that performs at a similar level to hand-coded GPU applications. The key to our technique is to keep our language simple, thus making it feasible to analyse the recursive dependencies. We use the polyhedral model to generate efficient code.

I'll be presenting our talk on Monday 11th June, in Session 2B - please do come along and find out more about our work!

Saturday, June 2, 2012

Getting ready for PLDI:

Hi! I'm Michael Pradel, a PhD student from ETH Zurich who is looking forward to attending PLDI. We are going to present our work on testing thread-safe classes. As concurrent programs are getting more and more important, testing thread-safe classes does as well. We present a fully automatic and precise testing tool that reveals thread safety bugs without reporting false positives.

To make our work accessible to researchers and developers, we are launching on the occasion of PLDI. The site allows to upload Java classes and to check their thread safety. If you have a class that is supposed to be thread-safe, just upload it and give our checker a try! During our evaluation, the tool was able to find previously unknown bugs in the JDK and in Apache Commons DBCP.

I'm looking forward to discussing interesting research at PLDI and hope that the conference will be an exciting experience for everyone!