Plugins (1000)


Training and Consulting (67)


Eclipse Summit Europe 2009


EPIC Poll

What is your favourite developer portal?

[ Results | Polls ]

Votes: 598
Comments: 0

EPIC has moved! The content of this site has been frozen and placed in a Read-Only State. Check out our new Eclipse Marketplace site. Logins to this site have been disabled.


Category: Plugin Directory / Tools / Eclipse Code Recommender System

This listing has moved and is Out of Date. Please view the most up to date listing here:
http://marketplace.eclipse.org/content/eclipse-code-recommenders

Eclipse Code Recommenders 
Rate this plugin | Report broken link | Details | Comments (2)

Rating: 6.0 (3 Votes) | hits: 0
Eclipse Code Recommenders

Version: 0.2.3
Support Eclipse Version: 3.4, 3.5
License: Free EPL
Development Status: Alpha
Company: Software Technology Group/Darmstadt University of Technology
Plugin home pageHome Page
Plugin SupportPlugin Support
Discussion ForumsDiscussion Forum
Update Site URL: http://cage.st.informatik.tu-darmstadt.de/frameworks/core/

How much can an IDE predict what you will write in the next seconds?

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 in the near future. To a certain extent ;)

Eclipse users 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 Eclipse, 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, we all noticed that the Eclipse code assist proposals are always polluted by a bunch of irrelevant or rarely used methods. For instance every proposal contains all 10 methods of "java.lang.Object" (for instance equals, notify or wait). But when using an application class, say an SWT Button, it is more likely to call Button.setText() rather than Object.notify(). However, the Eclipse code completion system sorts the recommendations alphabetically, which means that Button.setText() can be found far below notify() even if it would be much more likely than any other method call.

To make things more complicated: Did you notice that the public interface of SWT Button consists of more the 120 methods? Finding the appropriate methods in such a long list of proposals is sometimes really complicated and especially unexperienced developers run frequently into trouble here. Consequently, learning how to use a framework like SWT is much more complicated than it needs to be (in our opinion :) ).

Because of these issues we started a new Eclipse project which aims to build an intelligent code recommender system which (i) seamless integrates into the look-and-feel of Eclipse' Code Assist, and (ii) predicts only those method calls that are likely to be used by a developer in his current (code) situation. Now, we have finalized our first prototype of such a code recommender engine cabable to predict method calls for instances of the Eclipse SWT & Eclipse JFace framework, i.e., objects like SWT Buttons, Labels, Texts etc. as well JFace Wizards, WizardPages, PreferencePages, and many more.

Visit the project home for screencasts and screenshots showing the Eclipse Code Recommender in action!

Update
Since version 0.2.0 Eclipse Code Recommenders additionally provides support for extending white-box frameworks like JFace. It recommends methods that are likely to be overridden by subclasses and recommends methods to be called within these overridden methods. Furthermore, we have created an extended Javadoc View which integrates subclassing relevant information like methods to override, methods to call & commone subclassing patterns (i.e., which set of methods is typically overridden by subclasses) to the developer. Additionally, on the method level we give hints whether a framework method should be extended rather then being re-implemented from scratch or vice versa.
Added on: 11-Mar-2009 | Updated: 23-Nov-2009




Last 2 Comments


User: AnonymousRating: 72009-09-18 11:38:56
Memory and CPU consumption have been improved significnatly in v0.2.1


User: AnonymousRating: 12009-08-12 03:38:55
resource hog which stops the workflow to 'think'