Mit ControlFlag hat Intel ein neues System eingeführt, das Fehler im Quellcode automatisch erkennen soll. Zu diesem Zweck wird der Ansatz der Maschinenprogrammierung verwendet. Derzeit existiert das System nur intern bei dem Chiphersteller, der es am Intel Labs Day 2020 vorgestellt hat.
Intel und Wissenschaftler des Massachusetts Institute of Technology (MIT) hatten vor zwei Jahren eine eigene Idee zur Maschinenprogrammierung in einer Abhandlung umrissen. Das grundlegende Ziel besteht darin, Quellcode mithilfe von ML-Methoden (Machine Learning) zu erstellen.
Suchen Sie nach Ausreißern
ControlFlag soll keinen neuen Code erstellen, sondern Fehler in vorhandenen erkennen. Dazu ist die Erkennung von Anomalien durch unbeaufsichtigtes Lernen erforderlich. In diesem ML-Prozess analysiert ein System Daten, für die im Gegensatz zu geführten Lernprozessen kein menschlicher Input als Grundlage für die Klassifizierung existiert. Beispielsweise wird die Erkennung von Anomalien zur vorausschauenden Wartung oder Betrugserkennung verwendet, indem der Normalfall aus einer großen Datenmenge gelernt wird, um vor Ausreißern zu warnen.
Laut Intel hat ControlFlag bereits eine Milliarde unbeschrifteter Zeilen mit Standardqualitätscode überprüft und die entsprechenden „normalen“ Muster gelernt. Im Gegensatz zur statischen Code-Analyse-Software sucht das System nicht nach bestimmten Schwachstellen wie Speicherzuordnungsfehlern oder fest codierten Anmeldeinformationen, sondern identifiziert Anomalien unabhängig von der verwendeten Programmiersprache.
Persönlicher Stil
Das System passt sich dem Stil einzelner Entwickler an und berücksichtigt bei der Verwendung der Programmiersprachen stilistische Unterschiede. Auf diese Weise muss erkannt werden, ob eine Abweichung vom Muster ein potenzieller Programmierfehler oder nur eine stilistische Variation ist. Im Juli stellten Intel und MIT ein Programmierwerkzeug vor, mit dem Ähnlichkeiten im Code mithilfe von MISIM (Machine Inferred Code Similarity) erkannt werden können.
Intel verwendet CodeFlag wahrscheinlich bereits intern, um Fehler während der Software- und Firmware-Entwicklung zu erkennen. Weitere Details finden Sie in der Suchen Sie nach der Ankündigung im Intel Newsroom. Es fehlen jedoch Details zu konkreten Plänen für ein kommerzielles Angebot oder ein Open-Source-Projekt.
(Arm)