Intel will Fehler im Sourcecode mit Machine Programming aufspüren

ControlFlag nutzt bei der Suche nach Programmierfehlern Unsupervised-Learning-Methoden für die Anomalie-Erkennung.

In Pocket speichern vorlesen Druckansicht 35 Kommentare lesen

(Bild: BEST-BACKGROUNDS / Shutterstock.com)

Lesezeit: 2 Min.

Intel hat mit ControlFlag ein neues System vorgestellt, das selbsttätig Fehler in Sourcecode erkennen soll. Dazu nutzt es den Ansatz des Machine Programming. Derzeit existiert das System nur intern beim Chiphersteller, der es im Rahmen des Intel Labs Day 2020 vorgestellt hat.

Die eigene Vorstellung von Machine Programming hat Intel zusammen mit Wissenschaftlern des Massachusetts Institute of Technology (MIT) vor zwei Jahren in einer Abhandlung dargelegt. Das grundlegende Ziel ist das Erstellen von Sourcecode durch Machine-Learning-Methoden (ML).

ControlFlag soll jedoch keinen neuen Code erstellen, sondern Fehler in vorhandenem erkennen. Dazu setzt es auf Anomalie-Erkennung durch Unsupervised Learning. Bei diesem ML-Verfahren analysiert ein System Daten, für die im Gegensatz zu Supervised-Learning-Verfahren keine menschlichen Eingaben als Grundlagen zum Einordnen existieren. Die Anomalie-Erkennung kommt beispielsweise für Predictive Maintenance oder Betrugserkennung zum Einsatz, indem sie aus einer großen Datenmenge den Normalfall lernt, um vor Ausreißern zu warnen.

Laut Intel hat ControlFlag bereits eine Milliarde ungelabelter Zeilen von Standardqualitätscode überprüft und entsprechende "normale" Patterns gelernt. Das System sucht anders als Software zur statischen Codeanalyse nicht nach konkreten Schwachstellen wie Speicherzuweisungsfehler oder hartkodierte Credentials, sondern identifiziert Anomalien unabhängig von der verwendeten Programmiersprache.

Das System passt sich wohl an den Stil individueller Entwicklerinnen und Entwickler an und berücksichtigt stilistische Variationen beim Einsatz der Programmiersprachen. Auf die Weise soll es erkennen, ob eine Abweichung vom Pattern ein potenzieller Programmierfehler oder schlicht eine stilistische Variante ist. Im Juli hatte Intel zusammen mit dem MIT ein auf Machine Programming aufsetzendes Tool zum Aufspüren von Ähnlichkeiten im Code über sogenannte Machine Inferred Code Similarity (MISIM) vorgestellt.

Intel nutzt CodeFlag wohl bereits intern, um Bugs während der Software- und Firmwareentwicklung aufzuspüren. Weitere Details lassen sich der Ankündigung im Intel Newsroom entnehmen. Details zu konkreten Plänen für ein kommerzielles Angebot oder Open-Source-Projekt fehlen darin jedoch.

(rme)