Intel publiceert ControlFlag 1.2, een tool voor het detecteren van afwijkingen in de broncode

Intel heeft de release van ControlFlag 1.2 gepubliceerd, een toolkit waarmee u fouten en afwijkingen in de broncode kunt identificeren met behulp van een machine learning-systeem dat is getraind op een grote hoeveelheid bestaande code. In tegenstelling tot traditionele statische analysers past ControlFlag geen kant-en-klare regels toe, waarin het moeilijk is om in alle mogelijke opties te voorzien, maar is het gebaseerd op statistieken over het gebruik van verschillende taalconstructies in een groot aantal bestaande projecten. De ControlFlag-code is geschreven in C++ en is open source onder de MIT-licentie.

De nieuwe release valt op door de implementatie van volledige ondersteuning voor het detecteren en leren van afwijkingen op basis van gemeenschappelijke codepatronen voor de C++-taal. In eerdere versies werd vergelijkbare ondersteuning geboden voor de talen C en PHP. Het systeem is geschikt voor het identificeren van verschillende soorten problemen in code, van het identificeren van typefouten en niet-overeenkomende typen tot het identificeren van afwijkingen in if-instructies en ontbrekende NULL-controles in pointers. Het systeem is getraind door een statistisch model te bouwen van de bestaande codereeks van open source-projecten in C, C++ en PHP, gepubliceerd in GitHub en soortgelijke openbare repositories.

In de trainingsfase bepaalt het systeem typische patronen voor het construeren van structuren in de code en bouwt het een syntactische boom van verbindingen tussen deze patronen op, die de stroom van code-uitvoering in het programma weerspiegelt. Als gevolg hiervan wordt een referentiebesluitvormingsboom gevormd die de ontwikkelingservaring van alle geanalyseerde broncodes combineert. De code die wordt beoordeeld, ondergaat een soortgelijk proces waarbij patronen worden geïdentificeerd die worden gecontroleerd aan de hand van een referentiebeslissingsboom. Grote verschillen met aangrenzende takken duiden op de aanwezigheid van een anomalie in het patroon dat wordt gecontroleerd.

Intel publiceert ControlFlag 1.2, een tool voor het detecteren van afwijkingen in de broncode


Bron: opennet.ru

Voeg een reactie