Zum Stand der Dinge beim Projekt Eclipse Code Recommenders

Das Eclipse der Zukunft: Intelligent, sozial, kollaborativ

Die IDE ins Zeitalter der sozialen Vernetzung zu führen, ist Ziel des Projekts Code Recommenders, das vor kurzem als offizielles Eclipse-Projekt angenommen wurde.
Im Rahmen des Projektes werden Tools entwickelt, die den Quellcode bestehender Anwendungen analysieren und Muster erkennen, wie Entwickler die API eines Frameworks korrekt benutzen. Dabei werden die erkannten Muster anderen Usern innerhalb der IDE zur Verfügung gestellt – z. B. als intelligente Code Completion, erweiterte API-Dokumentation oder durch smarte Beispielcode-Suchmaschinen. Projekt-Leiter Marcel Bruch informiert über den aktuellen Stand des Projektes, das den Codenamen „IDE 2.0“ trägt.

JAXenter: Das Code-Recommenders-Projekt ist offiziell als Eclipse-Projekt angenommen worden. Was kann die aktuell zum Download angebotene Version?

Marcel Bruch: Version 0.1 und seit heute 0.2 bringen vier neue Code Completion Engines für Eclipse mit. Die intelligente „Call Completion Engine“ sowie die „Overrides Completion Engine“ waren Bestandteil von 0.1 und schon in früheren Versionen vor Eclipse enthalten. In 0.2 kommen zusätzlich zwei brandneue Completion Engines zum Einsatz: Die „Chain Completion Engine“ und unsere neuen „Dynamic, Example-Driven Code Templates„. Beides sind Weiterentwicklungen von früheren Ideen, die – was uns ganz besonders freut – von Studenten der TU Darmstadt mit viel Zeitaufwand und Herzblut umgesetzt wurden!

Neben diesen Neuerungen sind 0.1 und 0.2 aber vor allem ein kompletter Rewrite des Systems. Das war notwendig, um zum einen die Anforderungen der Eclipse Foundation auf eindeutig geklärte Urheberrechte zu erfüllen, zum anderen aber auch, um den Ballast früherer Versionen endgültig über Bord zu werfen.

Allerdings sind wir noch nicht da, wo wir gerne hin möchten. Derzeit arbeiten wir an besseren Vorhersagemodellen mit einer deutlicher höheren Präzision, genaueren statischen Analysen und bemühen uns jetzt wieder verstärkt darum, mehr und mehr Frameworks zu unterstützen.

JAXenter: Welche Vorteile hat es für das Projekt, Teil von Eclipse zu sein?

Marcel Bruch: Das ist im Moment noch schwer zu sagen. Sicher ist, dass die Aufmerksamkeit, die das Projekt derzeit bekommt, deutlich zugenommen hat. Das sehen wir an den gestiegenen Besucherzahlen für Blog und Webseite, der Resonanz in Twitter und daran, dass Code Recommenders 0.1 innerhalb von zwei Wochen auf Platz 75 der monatlichen Eclipse Marketplace Download Statistik gelandet ist.

Das Interesse an dem Projekt ist sehr groß. Eine der schwierigsten Aufgaben wird jetzt sein, dieses Interesse in eine aktive User Community umzuwandeln. Damit die Code Recommenders Vision „IDE 2.0“ funktionieren kann, sind viele User notwendig – und das geht meiner Meinung nach nur mit Eclipse. Bis jetzt stehen die Zeichen gut.

JAXenter: Welche Zusammenarbeiten gibt es zwischen Code Recommenders und anderen Eclipse-Projekten?

Marcel Bruch: Wir bauen gerade Kontakte auf. Jede Menge Unterstützung erhalten wir momentan von RAP und dem Yoxos Team, die uns mit ihrem Yoxos Marketplace Zugriff auf ein riesiges Repository an aktuellen Eclipse Plug-ins für unsere Analyse bieten. Andere Projekte haben Interesse an verschiedenen Teilprojekten angemeldet. Hier gibt es jedoch noch keine konkreten Zusammenarbeiten.

Allerdings ergeben sich ganz aktuell erste Kooperationen außerhalb des Eclipse-Umfelds. Zum Beispiel startet gerade eine Kooperation mit der „University of California Irvine“, in der wir mithelfen werden, die „nächste Generation Codesuchmaschinen“ zu entwickeln. Auch erste Industriekooperationen laufen bereits an.

Wir sind interessiert, weitere Kooperationen aufzubauen bzw. neue Committer für das Code-Recommenders-Projekt zu finden. Das Code Recommenders Forum ist eine gute Möglichkeit, Kontakt aufzunehmen und mehr über die einzelnen Teilprojekte zu erfahren.

JAXenter: Die IDE wird mit dem Code-Recommenders-Projekt quasi sozial. Ein anderer neuer Ansatz im Eclipse-Universum besteht darin, die IDE ins Web zu verfrachten – mit Eclipse Orion. Gibt es zwischen den Code Recommenders und Orion Berührungspunkte?

Marcel Bruch: Orion ist ein spannendes Projekt, das wir mit großem Interesse verfolgen. Orion ist von Grund auf für kollaborative Softwareentwicklung und das Teilen von Informationen ausgelegt. Code Recommenders setzt auf ähnliche Prinzipien – wenn auch mit einem etwas anderen Fokus, um Wissen von Entwickler zu Entwickler weiterzugeben.

Berührungspunkte zwischen Orion und Code Recommenders liegen also auf der Hand. Im Moment konzentrieren wir uns jedoch erst einmal auf Java in Eclipse und dann auf JavaScript und Orion.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.