Today was nearly all research talks for me. I skipped the keynote by the director of engineering at Facebook, which I guess turned out to be a bad idea, since most people seemed to think it was interesting. The first session was on static analysis and types. I finally got to see the presentation on Doop, after reading the paper on it awhile ago. Doop is a pointer analysis tool written in Datalog, which is a subset of Prolog. Since I was interested in pointer analysis for SCJ annotation verification, the Doop paper was one of the few that I read, since it particularly targets Java.
I opted out of the second morning session and spent the time between the Thorn demo and the student volunteer room instead. The Thorn demo was amusingly, heavily dominated by Purdue representatives (there was a demo yesterday that I suppose satisfied most people). It was nice to see example code. Thorn seems to have a ridiculously large amount of operators at this point, and I made remark about comparing its operator count to Perl's.
The first afternoon session was on memory. The first two presentations were rather difficult to understand, partly due to language barrier. The last paper was on object graph versioning, which is the paper that I'll be presenting at the Purdue PL seminar. The system is basically object version control. It sounds like they store each changed variable in a list when a snapshot is requested, which means constant time for most operations, but logarithmic time for snapshot retrieval. David Ungar said implementing in this into a debugger would be of great use, which reminded me of historical debugging, which will ship in Visual Studio 2010. I think having this for other languages would be great, but not at all relevant to me if implemented in Smalltalk, as they did for the initial system. A Java implementation would be ideal, but I don't actually ever use JDB (I use Eclipse for most of my work, so I use whatever Eclipse uses — don't think it's JDB).
The last research session was on language implementation. I didn't find any of the three terribly exciting, but it was cool to see Bjarne Stroustrup do a presentation. The third presentation on error recovery in parsing was semi-interesting, but I'm not familiar with SGLR parsers.
There was an ice cream social at the end to celebrate the upcoming change from OOPSLA to SPLASH. Or at least, the overall title will become SPLASH, which is Systems, Programming, Languages, and Applications: Software for Humanity. What a crazy title. Apparently OOPSLA has shifted away quite a bit from the OO, which is why the name changed. The research track remains as OOPSLA, but I guess to satisfy the other events hosted under OOPSLA, they changed the name.
It's been a fun week, albeit ridiculously tiring. I'm definitely ready to leave so I can sleep more, but I suspect things will get somewhat mundane again. After all, corn fields can't compete with Mickey Mouse. I didn't really meet anyone new, which is unfortunate, since OOPSLA is a great opportunity for that. The large Purdue presence ended up clustered together most of the time, making the most ridiculous comments about everything, as well as laughing at anything and everything, so I guess people may have thought of us as a clique. I'm also not very good at picking people's brains on their research topics, so I find it hard to approach anyone. I should probably read more papers to expand my horizon a bit more, since most of my computer knowledge seems to be industrial (and not related to programming languages), rather than academic.