ControlFlag: un instrument de depanare a codului

Intel a lansat lansarea versiunii semnificative a ControlFlag 1.0, care este un sistem de control software permițând detectați erori și anomalii în codul dvs sursă folosind un sistem de învățare automată antrenat pe o cantitate mare de cod existent.

Spre deosebire de analizoarele statice tradiționale, ControlFlag nu aplică reguli predefinite, în care este greu de prevăzut toate opțiunile posibile, ci mai degrabă parte a statisticilor de utilizare a tuturor tipurilor de construcţii limba într-un număr mare de proiecte existente.

Conform cercetărilor, găsirea și eliminarea erorilor din cod se face cel mai adesea manual și necesită mai mult de 50% din timpul de lucru al dezvoltatorilor. 

Instrumentul învață să identifice și să eticheteze aceste opțiuni stilistice și puteți personaliza identificarea erorilor și puteți remedia recomandările pe baza cunoștințelor dvs., minimizând caracterizările de cod proaste ControlFlag, care ar putea fi pur și simplu o abatere stilistică între două echipe de dezvoltatori.

Despre ControlFlag

Sistemul este antrenat prin construirea unui model statistic din matricea codului sursă existentă deschis publicat pe GitHub și în depozite publice similare. În etapa de instruire, sistemul determină șabloane tipice pentru a construi structuri în cod și construiește un arbore sintactic de conexiuni între aceste șabloane, reflectând fluxul de execuție a codului în program.

Ca urmare, se formează un arbore de decizie de referință, care combină experiența de dezvoltare a tuturor textelor sursă analizate. Un proces similar de setare a modelului este efectuat pentru codul testat, care este comparat cu un arbore de decizie de referință. Discrepanțele mari cu ramurile adiacente indică o anomalie în modelul care este verificat.

Dintre caracteristici Din versiune ControlFlag 1.0, suportul complet pentru șabloanele C este evidențiat și capacitatea de a detecta anomalii în declarațiile condiționale „dacă”.

De exemplu, atunci când analizați fragmentul de cod „dacă (x = 7) y = x;” sistemul va detecta că constructul „variabilă == număr” este utilizat în general în declarația „dacă” pentru a compara valorile numerice, deci indicația „variabilă = număr” din afirmația „dacă” este probabil cauzată de o eroare tipografică.

Trusa oferă un script care permite descărcarea depozitelor C disponibile pe GitHub și folosiți-le pentru a construi un model. Sunt disponibile și modele gata de utilizare, permițându-vă să începeți imediat verificarea codului

Sistemul face parte din proiectul Machine Programming Research (MPR) de la Intel, al cărui obiectiv principal este reducerea timpului necesar dezvoltării software de 1000 de ori datorită automatizării.

În special, Intel lucrează în prezent pentru a instrui Controlflag să corecteze automat erorile detectate. Tot în 2020, compania a lansat instrumentul MISIM, dezvoltat în colaborare cu laboratoarele MIT, care poate studia fragmente de cod pentru a înțelege ce are scopul de a face o bucată de cod. Sistemul este destinat să fie utilizat pentru a oferi dezvoltatorilor modalități de îmbunătățire a eficienței codului.

„Depanarea este de așteptat să provoace și mai multe daune dezvoltatorilor și industriei în ansamblu”, a spus Intel. Anunț... „Atunci când este pe deplin implementat, ControlFlag poate ajuta la atenuarea acestei provocări prin automatizarea problemelor dezvoltării software, cum ar fi testarea, monitorizarea și depanarea.”

„Principalul avantaj al abordării nesupravegheate a ControlFlag în ceea ce privește recunoașterea modelelor este că, în esență, puteți învăța să vă adaptați la stilul dezvoltatorului. Deoarece programul are intrare limitată la instrumentele de control pe care trebuie să le evaluați. ControlFlag poate identifica variațiile tipografice ale limbajelor de programare în același mod în care cititorii pot recunoaște diferențele complete dintre cuvinte și pot folosi abrevieri în limba engleză”, scrie Intel.

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta Despre ControlFlag, trebuie să știți că este scris în C++ și este open source sub licența MIT și codul său este găzduit pe GitHub.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.