Date and Time

Organizer

Presenters

If you would like to present at the DemoCamp, please feel free to add your name and topic to the list. Depending on the number of people interested we may have to limit the number of presenters and time of each demo.

We would like to thank all those who responded to the call for presenters. At this time all selected authors have been notified. The Eclipse DemoCamo 2009 will include the following 6 tracks:

At first glance, you might answer: nothing. Indeed, the information needed to complete the source code is primarily in the developer's brain. Yet we present a code completion system that is able to predict the code you will write. To a certain extent.

Most users of a modern integrated development environment (IDE) know code completion. When writing source code, a widget can propose you a list of code snippets to be inserted in the current source file. For instance, when writing Java software with the Eclipse IDE, pressing Ctrl-Space gives you all the methods callable on an instance x according to its declared type. This feature really increase the speed of writing code, especially when the results are filtered by the first characters of the method name.

However, most users of the Eclipse code completion system also noticed that the proposals are always "polluted" by the 10 methods of "java.lang.Object" (for instance equals, notify or wait) and when using an application class, say Mail, it is more likely to call Mail.send() rather than Object.notify(). However, the Eclipse code completion system sorts the recommendations alphabetically, thus, gives Mail.send() as 7th proposal even if Mail.send() would be much more likely than any other method on the list...

Our research projecty addresses this flaw of current IDEs by building Intelligent Code Recommender Systems which seamless integrate into the look-and-feel of the IDE used. But building intelligent code completion goes far beyond filtering the methods of java.lang.Object: it is about guessing what the programmer is actually doing next and predicting only those elements that are relevant for a developer for his task at hand.

In this demo we present how intelligent code completion systems may support your daily work by recommending (i) method likely to be used in your code, (ii) presenting frequent 'Class Extension Patterns', i.e., which methods typically should be overridden by subclassers, common object usage patterns (and some more) - all tightly integrated into the Eclipse IDE.