Oct 29, 2010

Code Recommenders Goes Eclipse!


Today is probably one of the most exciting days I had in the last year and a half. The EMO gave its ack for officially proposing Code Recommenders as Eclipse Incubator Project. For me this is a welcome point in time to look back what happened in the past 18 months and to give an outline of what will happen in the next 18 months (or so...:-) ).

The Past.

Last year in July I decided to present my research project Code Recommenders the first time on an Eclipse Demo Camp in town (Darmstadt, organized by Jochen Hiller from T-Systems) - just to see whether people would like or dislike the idea of having tools that learn what is relevant for a developer and make this knowledge available in a somewhat "educated version of code completion".

Well, I must admit that my first demo left some remarkable room for improvements... However, after my presentation I had nice and motivating discussions with Bernd Kolb and others which encouraged me to continue my work and to intensify building tools that leverage various kinds of collective intelligence and to integrate them into Eclipse.


At the beginning of September my advisor received an email of Ralph Mueller in which he invited several universities to submit a poster to ESE 2009 - and we submitted. This is the poster we presented at ESE 2009:

Roughly at the same time my colleague Martin Monperrus and I worked on a paper how to extend javadocs by mined real-usage patterns and somehow Martin managed to get in contact with Boris Bokowski who reviewed some of our mined documentation snippets. After some mails we met in Darmstadt and we presented him the project and the current tools we had developed so far. But he wasn't completely hooked. Okay, back to training :-P

A few weeks later I received a mail from S&S Editor Hartmut Schlosser who asked me whether I would like to present code recommenders on a November Eclipse Demo Camp in Frankfurt. This was pretty cool experience: This was my first invited talk. Maybe this was another highlight in the past year :-P

Summit 2009: The conference was pretty cool and the poster session was real fun. Starting at 6PM I rolled up my poster and quit service at 10PM. I got to know quite a lot well-known people from Eclipse. Among them Jochen Krause from EclipseSource whose Yoxos platform was incredibly valuable for my studies because it contained thousands of plug-ins to analyze and to learn from. Over the whole evening I received a lot of input of what people liked and disliked, what they say is missing in current IDEs or had just nice and encouraging chats.

A few weeks later I attended the Eclipse Demo Camp in Frankfurt organized by Lars Martin from Itemis. This time the presentation was a lot better than a few months ago in Darmstadt and I had the pleasure to meet Stephan and Leif from Andrena (Project Usus) , Hartmut and Sebastian Meyen from S&S, Karsten Thoms and Benny Muskalla. We had a nice evening in a Greek tavern, lots of good discussions, and frosty beverages.

A few weeks later Hartmut asked me to write an online-article about code recommenders for JAX which was a huge honor. This article made it into the February edition of the German Eclipse Magazin. Another huge honor - and pleasure - for me.

Next, I received the opportunity to give a short talk at JAX 2010. There I chat up Mik Kersten from Mylyn and he took his time and patience, stepped through the slides of my talk (in an incredible speed :-) ) and checked out the prototype on my laptop. Then he sat back, looked at me and asked: "And what now? What are your plans?" Hmm, plans... "What do you think? Would it be cool for Eclipse?" "Of course!" - and there the idea of becoming an Eclipse project materialized much more than ever before...

To shorten the remainder. In June I had a long talk at Andrena Developer's Day in Karlsruhe where I presented the complete tools suite developed so far. In July I had the pleasure to assist Jochen Hiller in organizing the Eclipse Demo Camp in Darmstadt and present code recommenders again on a demo camp. This November I'm on tour: Eclipse Demo Camps in Bonn, Dortmund and Kassel. BTW: if you are near these locations consider attending these demo camps which demo pretty interesting stuff!

And I'm also very glad to present Eclipse Code Recommenders to the Eclipse Community at the Eclipse Summit Europe 2010:


Ok, that's a quick summary of the last 18 (Eclipse-centric) months. What has changed since the first demo? In the meanwhile we refined our implementations, developed new tools like bug detectors, new kinds of code search engines, stacktrace search engines, variuos code completion engines and many things more. The word 'We' may need some refinement: In the past three semesters more than 50 students supported the code recommenders project by various hands-ons, bachelor or master theses and spent innummerable hours in designing and implementing all these ideas. Many thanks to you doing all this great work!

The Future?
So what happens next? As I mentioned, the project proposal is underway and Code Recommenders will become an Eclipse Incubator. The proposal is available for review here. However, the proposal hasn't been officially published yet because we are seeking your voice to support this project!

Thus, if you like the ideas described here in the blog or in the project propsal tell your friends about this project proposal and add a comment on this post containing your name so that we can put you on the list of interested parties (or put your name on the wiki page directly)!

Many thanks,
Marcel

10 comments:

  1. Congratulations to you and your team!

    I knew this project would make it into Eclipse.

    Greetings
    Erik Vonderheid

    ReplyDelete
  2. Marcel: I'm happy to hear this. I believe this is the next big thing for code completion in JDT. It is great to have such an innovation in Eclipse!

    ReplyDelete
  3. Thanks Lars for the early praise. We will continuously push the limits :)

    ReplyDelete
  4. This is great news! Congratulations and keep up the good work!!
    Thumbs up,
    Sheip Dargutev

    ReplyDelete
  5. Hey Sheip, how are you doing? Interested in advancing the code search engine stuff a bit? ;) There are other projects that wait for you :-P Let me know when you are looking for a thesis!


    Hey Javicka, thanks.

    ReplyDelete
  6. Congratulations! Here's hoping for better Eclipse development days :)

    ReplyDelete
  7. Oh, and I've added myself to the list:

    http://wiki.eclipse.org/Recommenders/Proposal#Interested_Parties

    :-)

    ReplyDelete
  8. Marcel, my request, PLEASE use the Git SCM for the source hosting. As is the main theme of Recommenders itself which is maximizing collaboration and crowdsourcing knowledge... let's say goodbye to the centralized SCMs...

    ReplyDelete