Intel Labs erhält Forschung zur Maschinenprogrammierung, um die Softwareentwicklung zu automatisieren, Codierungsfehler zu reduzieren und Fachkräftemangel zu beheben
Intel hat in seinen Intel Labs, der Drehscheibe des Unternehmens für experimentelle Projekte mit langfristiger Perspektive, ein interessantes Programm aufgelegt. Das Projekt Machine Programming Research (MPR) wird versuchen, die Softwareentwicklung für komplexe Plattformen zu automatisieren und gleichzeitig Codierungsfehler zu reduzieren. Der Hauptgrund für das Projekt scheint der zunehmende Mangel an ausgebildeten oder erfahrenen Programmierern zu sein, die komplexen Softwarecode zuverlässig und konsistent schreiben können.
Das MPR-Projekt von Intel Labs wird verschiedene Formen des maschinellen Lernens und andere automatische Methoden verwenden, um eine Plattform zu schaffen, die in der Lage ist, ihre eigene Software zu erstellen, sagte Justin Gottschlich von Intel Labs, der gebeten wurde, ein Team von Forschern für die maschinelle Programmierung zu leiten. Das ultimative Ziel von MPR scheint die Entwicklung einer vollständig automatisierten Plattform zu sein, die in der Lage ist, Software und Code mit minimalen menschlichen Eingriffen und Fehlern zu schreiben. Das Projekt scheint jedoch für Leute gedacht zu sein, die nicht in der Lage sind zu programmieren. Der MPR sollte schließlich Menschen ohne Programmierkenntnisse, aber reichlich Kreativität helfen, ihre gewünschte Software oder Plattform zu entwickeln, ohne jemals selbst eine einzige Zeile Code schreiben zu müssen.
Intel Labs bekommt Maschinenprogrammierung Forschung macht hohe Versprechungen über realistische Probleme in der Softwareentwicklung:
Software ist tief in jeden Aspekt der modernen Zivilisation integriert. Allerdings ist die Entwicklung und Wartung von Software ein zeitaufwändiger und fehleranfälliger Prozess, bemerkt Justin. Er behauptet, dass „Maschinenprogrammierung“, bei der die Macht zur Erstellung und Wartung von Software in jeder Hand liegt, den komplexen Prozess erheblich vereinfachen könnte. Das Hauptproblem im Segment Softwareentwicklung ist die Verfügbarkeit von engagierten, erfahrenen und zuverlässigen Senior-Entwicklern.
Einfach ausgedrückt besteht ein gravierendes Missverhältnis zwischen dem wachsenden Bedarf der Branche und der Fähigkeit der realen Welt, qualifizierte Fachkräfte anzubieten. Justin beobachtet, dass es in naher Zukunft immer schwieriger, vielleicht sogar unmöglich werden wird, „Entwickler zu finden, die auf all dieser Hardware korrekt, effizient und sicher programmieren können“.
Die maschinelle Programmierung verwendet mehrere automatische Programmiertechniken, die von präzisen (z. B. formale Programmsynthese) bis hin zu probabilistischen (z. B. differenzierbare Programmierung) Verfahren reichen. Es nutzt und lernt auch von allem, was Intel und andere Hardwarehersteller bisher an Hardware und Software entwickelt haben.
Die beiden am meisten benötigten Aspekte der Softwareentwicklung sind Zuverlässigkeit und Konsistenz. Wie Windows 10 OS-Updates haben deutlich und routinemäßig angezeigt, Genauigkeits- und Leistungsverbesserungen sind fast immer mit Fehlern verbunden und seltsame Verhaltensmuster. MPR hat sich zum Ziel gesetzt, gängige Bugs, Fehler und andere Probleme, die regelmäßig ihren Weg in die Software finden, zu untersuchen und zu beseitigen. Der nächste Schritt wäre offensichtlich, sie automatisch zu reparieren, bemerkte Justin.
Das MPR-Programm von Intel reduziert nicht nur häufige Fehler in der Software, sondern verbessert auch die Menge an Code, die in die Software fließt, und reduziert sie schließlich. Durch den Wegfall von Codezeilen würde die Software schlanker, sauberer und effizienter. Darüber hinaus würde sich mit einer geringeren Anzahl von Code in der Software auch die Genauigkeit verbessern.
Es könnte den Anschein haben, dass Intel darauf aus ist, Jobs in der Softwareentwicklung zu eliminieren. Justin stellte jedoch kategorisch fest, dass das MPR-Programm des Intel Lab nicht dazu dient, die Belegschaft zu reduzieren. Im Gegenteil, MPR ist bereit, zahlreiche neue Arbeitsplätze und Arbeitsmöglichkeiten zu schaffen. Darüber hinaus besteht die Kernagenda von MPR im Wesentlichen darin, die Fachleute freizustellen, um komplexere Komponenten der Softwareentwicklung zu übernehmen. Dies liegt einfach daran, dass MPR schließlich die niederen, alltäglichen Aspekte der Programmierung übernehmen würde. Mit den Einstiegsblöcken für Software könnten sich Programmierer darauf konzentrieren, mehrere Plattformen wie maschinelles Lernen und formale Techniken, heterogene Hardware und viele Programmiersprachen besser in die Softwareplattformen zu integrieren.