Intel veröffentlicht ControlFlag 1.2, ein Tool zur Erkennung von Anomalien im Quellcode

Intel hat die Veröffentlichung von ControlFlag 1.2 veröffentlicht, einem Toolkit, mit dem Sie Fehler und Anomalien im Quellcode mithilfe eines maschinellen Lernsystems identifizieren können, das auf einer großen Menge vorhandenen Codes trainiert wurde. Im Gegensatz zu herkömmlichen statischen Analysatoren wendet ControlFlag keine vorgefertigten Regeln an, bei denen es schwierig ist, alle möglichen Optionen bereitzustellen, sondern basiert auf Statistiken über die Verwendung verschiedener Sprachkonstrukte in einer Vielzahl bestehender Projekte. Der ControlFlag-Code ist in C++ geschrieben und steht unter der MIT-Lizenz als Open Source.

Die neue Version zeichnet sich durch die Implementierung vollständiger Unterstützung für die Erkennung und das Lernen von Anomalien auf der Grundlage gängiger Codemuster für die Sprache C++ aus. In früheren Versionen wurde eine ähnliche Unterstützung für die Sprachen C und PHP bereitgestellt. Das System eignet sich zur Identifizierung verschiedener Arten von Problemen im Code, von der Identifizierung von Tippfehlern und Typkonflikten bis hin zur Identifizierung von Anomalien in if-Anweisungen und fehlenden NULL-Prüfungen in Zeigern. Das System wird trainiert, indem ein statistisches Modell des vorhandenen Code-Arrays von Open-Source-Projekten in C, C++ und PHP erstellt wird, das in GitHub und ähnlichen öffentlichen Repositories veröffentlicht wird.

In der Trainingsphase ermittelt das System typische Muster für den Aufbau von Strukturen im Code und erstellt einen syntaktischen Baum von Verbindungen zwischen diesen Mustern, der den Ablauf der Codeausführung im Programm widerspiegelt. Als Ergebnis entsteht ein Referenz-Entscheidungsbaum, der die Entwicklungserfahrungen aller analysierten Quellcodes vereint. Der überprüfte Code durchläuft einen ähnlichen Prozess zur Identifizierung von Mustern, die anhand eines Referenzentscheidungsbaums überprüft werden. Große Abweichungen von benachbarten Zweigen weisen auf eine Anomalie im überprüften Muster hin.

Intel veröffentlicht ControlFlag 1.2, ein Tool zur Erkennung von Anomalien im Quellcode


Source: opennet.ru

Kommentar hinzufügen