Rambles around computer science

Diverting trains of thought, wasting precious time

Fri, 22 May 2009

ICSE days one and two: a story of two thirds

As I write, two of the three days of conference programme are over, so it's time for a quick report. Overall it's been good. As usual, I can both acclaim and lambast the breadth of subject area covered by this community that calls itself “software engineering”. On the one hand, it's great to take a wide view of things, and is in the best possible academic and scientific spirit. On the other hand, one can question the productivity of gathering together so many diverse people (with diverse interests) under the one roof. Three sessions in parallel is the norm, and that's rather too many for me, because it means that I inevitably end up missing some papers that I'd be interested in. No grouping is perfect, and of course, the tyranny of dominant decomposition means that there has to be one---and without the ability to be in two places at once it's fairly restrictive.

Oh well. I've still seen several really good papers. Yesterday in the first NIER session there was a huge amount of stuff, some fascinating, some less fascinating and some just a bit baffling from the six-minute presentations. Codebook is a fairly neat idea, although perhaps a bit bandwagonesque, and there's a thematically similar thing called Tesseract being demoed tomorrow. Also although I'm perhaps not a disinterested observer, the bug-reporting stuff of Silvi et al is quite promising (albeit very early days). In the program analysis session, there was a very interesting paper about “dimension inference” (type inference but focussing on providing a richer set of types for expressions denoting primitive values, like ints or floats, rather than structured values or functions) in the program analysis session. This kind of typing is an idea that has probably occurred to a lot of us, but it was done well in this paper, particularly thanks to the inference cleverness, and it's heartening that such ideas can still be novel enough to be publishable. (That's “novel enough” not necessarily “novel” in absolute terms---one questioner implied that some chap had done something very similar in his thesis in 2000 or 2001, and I know that one of the Nicks or Andrews at MSR has also done some work in a similar vein.)

In the development tools session were three very neat talks---first by Sven Apel about a system for composition by source-level superimposition (since which I've since been marshalling my thoughts into arguing why it's not a great idea, but thought-provoking nonetheless), second by Emily Hill about a smarter keyword search over source code, and last but not least, a truly unforgettable talk by Steve Reiss. Both the work he was presenting and the manner in which he presented it shared two properties: bonkers but extremely likeable. The idea is that rather than writing new code, we should be able to search for existing code which meets our requirements, and have a tool which automatically munges it to fit our specification (described mainly as unit tests), our compilation context and our coding style. His system gets raw results from code search engines like Google Code and then explores thousands of variations in parallel---seeing whether they compile, seeing whether they pass the unit tests and, if so, transforming them to fit a supplied description of code style. It's chock-full of ad-hoc kludges, but it seem to work at least sufficiently to be somewhat useful... I should really read the paper. (I also enjoyed his sense of humour, not only in his eccentric delivery but also the fact that his slide backgrounds were brown, or Brown, to reflect his affiliation.)

All that was yesterday. Today was slightly leaner for me, not helped by the six concurrent sessions in the 2pm slot, but there was a very interesting talk about a “genetic programming” approach to automatically generating patches for fixing observed bugs. Tools which automatically find and fix bugs are a favourite these days, not only in the SE community but also elsewhere (I forget where Dawson Engler publishes his stuff but it appears not to be here). “Genetic programming” seems just to mean speculative or pseudo-random mutation of code, combined with selection based on some fitness function (i.e. whether it passes the test). The approach is fairly clever and seems to have been thoroughly worked through---the distinguished paper award appears deserved. Later in the awards plenary session, I was particularly interested by the retrospective on the famous Multi-Dimensional Separation of Concerns paper of Peri Tarr et al. All four of the authors were present and participated jointly in the presentation, and although the technical content is of course excellent, more unexpectedly I found some other messages particularly interesting and encouraging on a personal level. Firstly was the suggestion that “if you have an idea you believe in, you should go ahead and write it up even if you're not sure you know what you're talking about”, in reference to the hurried and somewhat evaluation-free nature of the submission, which nevertheless deservedly managed both to get accepted and to exert huge influence. Secondly was William Harrison's critique of the current state of programming languages and the importance of revisiting the distinction between language and middleware. This is particularly close to the heart of my own work and attitude, so it was nice to hear him coming out with some of the same arguments I've made to myself.

Of course, conferences are also a social occasion, and yesterday I wasn't really enjoying this aspect. I became suddenly aware of how few people I knew andh how hard it is to “get in” on meeting more in such situations. Following the NIER session---after having sat through one too many presentation about requirements engineering---I was also feeling that my work was marginal and uninteresting to the crowd present. Essentially my worry was that I didn't belong here---and not because there was any more appropriate research community for my work, but just that few people are interested in what I do full stop. I'm not sure how true this is, but it prevailed in my mind into the poster session, as I was initially disappointed in the apparent lack of interest in my poster. But by the end, a half-dozen people or so had come up and shown interest---some even said some nice words---so it wasn't so bad. Somewhat less enjoyably though, the session was held outside in the pool area, rather overcrowded with too many posters and too many people in too small a space, while the breeze was getting up and leaving the easels in danger of blowing over. Food and drinks were circulating among the audience, but us poor presenters were left starving with only the latter, and a mini-disaster struck as the wind blew my poster and easel towards me---I instinctively raised my right hand to stop it, thereby managing to spill a lot of wine down the side of my poster. That didn't help my frame of mind, and as the temperature declined rapidly around my jumperless self, I couldn't wait to get out of there and get some dinner. A large crew of us, mostly previously unacquainted, eventually found the Cactus Cafe, and by the time I finally ate it was approximately a starving 10pm.

Ultimately though, no matter how discouraged I was feeling on the first day, you can't beat a conference for getting ideas and encouragement. I've already mentioned the encouragement I got out of the influential paper session. More generally I've seen and heard plenty to get me thinking, and have had plenty of thoughts about my own work to jot down as a result. At lunch today I chatted to Sudheendra Hangal, author of the dimension-checking paper, and he's keen to come to Cambridge to give a talk when in the UK later this year. So at least that's some evidence that I'm not having a completely networking-free trip. Hopefully there will be more of this kind of thing in store tomorrow.

Oh, and organisationally, the conference is not bad. The only grumbles are the aforementioned overcrowding, that the wireless doesn't work (neither for me nor for others I've spoken to) and that there's a bit too much crosstalk between the talk rooms (you can hear applause, and sometimes mic'd voices, from neighbouring rooms). Oh, and I was also irritated when, having turned up on Tuesday evening, I had no way of telling when I needed to get up the next morning, because I couldn't register and get my printed programme until the morning itself---which is rather too late to decide when to set one's alarm. However, the food is excellent, and in an enlightened move there's even decaf coffee available. Tonight's trip to the aquarium was fun, modulo the same hardly-knowing-anyone issues as usual, and the food was again excellent, although I would hardly call it a “banquet” given that it was fairly hard to find somewhere to sit down.

[/research] permanent link contact


Powered by blosxom

validate this page