Intel publica ControlFlag 1.2, una eina per detectar anomalies en el codi font

Intel ha publicat el llançament de ControlFlag 1.2, un conjunt d'eines que permet identificar errors i anomalies en el codi font mitjançant un sistema d'aprenentatge automàtic entrenat en una gran quantitat de codi existent. A diferència dels analitzadors estàtics tradicionals, ControlFlag no aplica regles ja fetes, en les quals és difícil proporcionar totes les opcions possibles, sinó que es basa en estadístiques sobre l'ús de diversos constructes de llenguatge en un gran nombre de projectes existents. El codi ControlFlag està escrit en C++ i és de codi obert sota la llicència MIT.

La nova versió destaca per la implementació d'un suport complet per a la detecció i l'aprenentatge d'anomalies basat en patrons de codi comuns per al llenguatge C++. En versions anteriors, es va proporcionar un suport similar per als llenguatges C i PHP. El sistema és adequat per identificar diversos tipus de problemes al codi, des d'identificar errors ortogràfics i desajustos de tipus, fins a identificar anomalies en les declaracions if i les comprovacions NULL que falten als punters. El sistema s'entrena mitjançant la construcció d'un model estadístic de la matriu de codi existent de projectes de codi obert en C, C++ i PHP, publicat a GitHub i repositoris públics similars.

En l'etapa d'entrenament, el sistema determina patrons típics per construir estructures en el codi i construeix un arbre sintàctic de connexions entre aquests patrons, reflectint el flux d'execució del codi al programa. Com a resultat, es forma un arbre de presa de decisions de referència que combina l'experiència de desenvolupament de tots els codis font analitzats. El codi que s'està revisant passa per un procés similar d'identificació de patrons que es contrasten amb un arbre de decisió de referència. Les grans discrepàncies amb les branques veïnes indiquen la presència d'una anomalia en el patró que s'està comprovant.

Intel publica ControlFlag 1.2, una eina per detectar anomalies en el codi font


Font: opennet.ru

Afegeix comentari