"IDE 2.0"?
How much can the IDE predict what you will write in the next seconds?
Marcel Bruch
Dieser Vortrag steht als PDF-Dokument zur Verfügung.
Software Frameworks sind aus dem heutigen Entwicklungsprozess kaum noch weg zu denken. Kein Wunder, treten sie doch mit einer Vielzahl von Versprechen an, um die Welt der Softwareentwicklung effizienter zu gestalten. Dennoch ist ihr Einsatz nicht nur von Vorteilen geprägt; bevor Frameworks effizient eingesetzt werden können, müssen Entwickler den Umgang mit ihnen zuerst einmal erlernen. Während dieser Phase stehen dem erwarteten Nutzen also erst mal hohe Einarbeitungskosten gegenüber.
Um diese Einarbeitungskosten zu minimieren, kommen Frameworks mit einer Reihe verschiedener Dokumentationen daher. Tutorials und API Dokumentationen beispielsweise geben Aufschluss wie das Framework für gewöhnlich verwendet wird. Müssen jedoch Probleme jenseits des Üblichen gelöst werden – oder ist keine ausreichende Dokumentation vorhanden – wird der Quellcode andere Anwendungen (die das Framework auf ähnliche Weise benutzt haben) zur nächsten, zugegebenermaßen sehr komplexen, Informationsquelle.
Solche Suchen sind aufwendig und es stellt sich die Frage, ob integrierte Entwicklungsumgebungen ihre User nicht deutlich besser unterstützen könnten – zum Beispiel indem sie das Wissen wie andere Entwickler das Framework verwendet haben automatisch aus dem Quellcode bestehender Anwendungen extrahieren und anderen Entwicklern innerhalb der IDE direkt wieder zur Verfügung stellen...
Das Code Recommenders Projekt der TU Darmstadt beschäftigt sich genau mit dieser Fragestellung. Das Team rund um Prof. Mezini untersucht dabei speziell wie Code Repositories wie z.B. Google Code, SourceForge und GitHub dazu verwendet werden können um (i) intelligente Code Completion System zu entwickeln, (ii) fehlerhafte API Benutzungen zu erkennen, oder (iii) für den Entwickler wertvolle API Dokumentation mit aus dem Quellcode bestehender Anwendungen gewonnen werden kann.
Dieser Vortrag zeigt an einer Reihe von praktischen Beispielen, welches Potenzial in (auch Firmeneigenen) Code Repositories liegt und wie es genutzt werden kann eigene Entwicklungskosten zu senken und somit Mitarbeitern die Einarbeitung in neue Frameworks zu erleichtern.
Der Referent:
Marcel Bruch ist wissenschaftlicher Mitarbeiter am Fachgebiet Softwaretechnik der TU Darmstadt. In seiner Forschung beschäftigt er sich mit neuen Möglichkeiten Entwickler beim Erlernen neuer Software zu unterstützen; er ist einer der Hauptentwickler des Eclipse Code Recommenders Projekts.
