Monday, February 8, 2010

I'm published!

Last week, I found out that my paper was accepted at PLDI 2010. This was a joint work with several others at Purdue last semester, including Jan Vitek, Gregor Richards, and Sylvain Lebresne (who has since returned to France and found employment). The paper itself was submitted almost 3 months ago, in mid-November. We received our first round of reviews in the second week of this semester, and now things are wrapped up. The conference itself is June 5-10 in Toronto, which is dangerously close to the beginning of internships; hopefully I'll find a way to fly out there for a week.

PLDI was extremely rough terrain this year: out of 200 papers submitted, only 40 were accepted. Though 40 is a relatively high number of papers, this still results in a measly 5% acceptance rate for the conference. Two papers from Purdue were accepted. This is significantly above the overall 5% accept rate, but still many did not make the cut. That said, I'm really excited about some of the papers that have been accepted this year. I'm especially excited to see some of the new papers on verified compilers (Jean Yang, Zach Tatlock) and the profiler analysis work from Amer Diwan's group.

This is a major milestone for me: my first publication! I'm relieved that I actually finished a project, after a year of having no focus and research direction in Japan. Besides the ins and outs of research, I learned a lot about writing papers, moving fast, and gleaned at least some insight on the tricky problem of finding (and answering) the interesting questions of research. Unfortunately, most of the fellowship foundations and graduate schools have already looked and decided on my applications, so they will not be able to see my updated CV. At least I can update my website after applying... :)

Just as a preview, our paper "An analysis of the dynamic behavior of JavaScript programs" is somewhat of a meta-analysis. Over the past few years, many people have published papers about JavaScript. These generally are add-on type systems or static/dynamic analyses that try to make JavaScript a safer (or at least more predictable) language. JavaScript shares a number of similarities with object-oriented and C-family languages, but it also has a number of crucial differences. These include prototype-based inheritance (like Self), closures, and objects with flexible sets of fields. Many of the published analyses for JavaScript assume its behavior is similar to other languages with class-based inheritance; similarly, other papers assumed that language features such as `eval` and field deletion were rarely used. By tracing the execution of real-world JavaScript applications (Gmail, Facebook, etc), we show that these assumptions are often violated. We also produce some data that may be useful for JavaScript implementors.

Over the next few weeks we have some minor editing to do, and i'll be busy with some other project. Not to mention interviews for internships, grad school visits, and classes!

No comments:

Post a Comment