Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Entwicklung & Design

Automatisiert coden? US-Projekt arbeitet an „Autocomplete für Programmierer“

    Automatisiert coden? US-Projekt arbeitet an „Autocomplete für Programmierer“

Autocomplete-Funktion. Hier im Sublime-Editor.

Maschinelles Lernen ist gerade in Zeiten von Big Data im Kommen. Das Forschungsprojekt PLINY soll seine Prinzipien speziell für die Software-Entwicklung nutzbar machen – nun wird es mit mehreren Millionen US-Dollar gefördert.

Projekt PLINY: Autocorrect und Autocomplete für Software-Entwickler

Wissenschaftler der Rice University wollen mit PLINY das Programmieren einfacher machen. (Foto: thinkstockphotos.com/Rice University)
Die Wissenschaftler der Rice University wollen mit PLINY das Programmieren einfacher machen. (Foto: thinkstockphotos.com/Rice University)

„Software ist heute wesentlich komplexer als vor 20 Jahren, und doch wird sie immer noch hauptsächlich von Hand kreiert, jede Zeile einzeln,“ sagt Swarat Chaudhuri von der Rice University, die das Projekt initiiert hat. Diesen Umstand wollen die Wissenschaftler ändern: mit dem Projekt PLINY, das eine Art Autocomplete-Funktion für Code entwickeln will. Die Forschungsagentur des US-Verteidigungsministeriums, DARPA, hat diese Woche angekündigt, das Projekt mit elf Millionen US-Dollar zu unterstützen.

„Die Vorschläge sollen sich nahtlos in den bereits geschriebenen Code einfügen.“

Mittels Data-Mining und Datenanalyse soll eine eigene Datenbank aufgebaut werden, die auf Open-Source-Codes beruht. Immer wenn ein Programmierer dann ein Code-Fragment fertigstellen oder debuggen will, werden mögliche Vervollständigungen aus der Datenbank abgefragt. PLINY setzt dazu auf ähnliche Algorithmen wie die heute schon bei Textnachrichten oder auch in der Google-Suche genutzte Autovervollständigungs-Funktion. Die jeweils wahrscheinlichste Alternative wird zuerst angezeigt, sollte diese nicht zutreffen, kann man aber auch weitere Optionen durchstöbern. Das Projekt will aber weiter gehen und nicht nur Texte, sondern auch die Konstrukte und Konzepte, die sich hinter den Code-Zeilen verbergen, erkennen und unabhängig von der verwendeten Sprache analysieren, um wirklich nur sinnvolle Ergänzungen anzubieten: „Die Vervollständigungen sollen sich nahtlos in den bereits geschriebenen Code einfügen,“ so Chaudhuri.

Kann PLINY wirklich die Arbeit von Entwicklern erleichtern?

Ein ambitioniertes Vorhaben, das die Wissenschaftler innerhalb von vier Jahren lösen wollen – so lange soll das Projekt voraussichtlich dauern. Doch schon jetzt sind Erfolgswahrscheinlichkeit und Nutzen des Projekts hoch umstritten. „Als wäre das Debuggen nicht schwierig genug – jetzt wird es richtig hart, weil man nicht nur den Bug finden, sondern auch noch herausfinden muss, ob und wo die Autocomplete-Funktion versagt hat,“ kritisiert ein WIRED-Leser. In seiner Befürchtung, dass die Fehleranfälligkeit bei automatisierten Codes steigen wird, steht er nicht allein da.

Nicht alle halten etwas von PLINY, wie dieser Kommentar bei WIRED zeigt.
Nicht alle halten etwas von PLINY, wie dieser Kommentar bei WIRED zeigt.

Andere fragen sich eher, inwiefern die angekündigten Features wirklich so neu sind: „DRY – schon mal gehört davon? Und einfache grundlegende Konstrukte wie Schleifen oder Methodengerüst werden jetzt schon von IDEs per Code-Templates unterstützt,“ kommentiert ein Leser bei Futurezone. Unter der Frage „Is Rice University's proposed PLINY system to auto-complete code possible?“ ist sogar schon ein eigener Quora-Thread zum Thema entstanden.

Was haltet ihr von dem Projekt?

via www.fastcolabs.com

Finde einen Job, den du liebst zum Thema TYPO3, PHP

1 Reaktionen
justmike
justmike

Man sagt, dass Korrektheit, Terminiertheit und Effizienz eines Algorithmus (noch?) nicht durch Software beurteilt werden kann. Demnach kann es derzeit also auch noch keine Software geben, die ausschließlich von Software geschrieben wurde.

Antworten

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen