ControlFlag: nástroj na ladenie kódu

Spoločnosť Intel vydala uvoľnenie významnej verzie ControlFlag 1.0, čo je a softvérový riadiaci systém umožňujúce odhaliť chyby a anomálie vo vašom kóde zdroj pomocou systému strojového učenia trénovaného na veľkom množstve existujúceho kódu.

Na rozdiel od tradičných statických analyzátorov, ControlFlag neuplatňuje preddefinované pravidlá, v ktorých je ťažké predvídať všetky možné možnosti, ale skôr časť štatistiky využitia všetkých druhov stavieb jazyk vo veľkom počte existujúcich projektov.

Podľa výskumu sa hľadanie a odstraňovanie chýb v kóde najčastejšie vykonáva ručne a vývojárom zaberie viac ako 50 % pracovného času. 

Tento nástroj sa naučí, ako identifikovať a označiť tieto štylistické možnosti, a môžete si prispôsobiť identifikáciu chýb a opraviť odporúčania na základe svojich znalostí, čím sa minimalizujú zlé charakterizácie kódu ControlFlag, ktoré môžu byť jednoducho štylistickou odchýlkou ​​medzi dvoma tímami vývojárov.

O ControlFlag

Systém sa trénuje zostavením štatistického modelu z existujúcej matice zdrojového kódu otvorené publikované na GitHub a podobných verejných úložiskách. Vo fáze školenia systém určuje typické šablóny na vytváranie štruktúr v kóde a vytvára syntaktický strom spojení medzi týmito šablónami, ktorý odráža tok vykonávania kódu v programe.

Výsledkom je vytvorenie referenčného rozhodovacieho stromu, ktorý kombinuje vývojové skúsenosti všetkých analyzovaných zdrojových textov. Podobný proces definovania vzorov sa vykonáva pre testovaný kód, ktorý sa porovnáva s referenčným rozhodovacím stromom. Veľké nezrovnalosti so susednými vetvami naznačujú anomáliu vo vzore, ktorý sa overuje.

Z charakteristík Verzie ControlFlag 1.0, zvýraznená plná podpora šablón C a schopnosť odhaliť anomálie v podmienených príkazoch „ak“.

Napríklad pri analýze útržku kódu „if (x = 7) y = x;“ systém zistí, že konštrukt "premenná == číslo" sa vo výraze "if" vo všeobecnosti používa na porovnanie číselných hodnôt, takže údaj "premenná = číslo" v príkaze "if" je pravdepodobne spôsobený typografickou chybou.

Súprava poskytuje skript, ktorý umožňuje sťahovanie C repozitárov dostupných na GitHub a použiť ich na zostavenie modelu. Dostupné sú aj modely pripravené na použitie, ktoré vám umožnia okamžite začať kontrolovať váš kód

Systém je súčasťou projektu Machine Programming Research (MPR) od Intelu, ktorej hlavným cieľom je vďaka automatizácii 1000-násobne skrátiť čas potrebný na vývoj softvéru.

Intel v súčasnosti pracuje najmä na školení Controlflag, aby automaticky opravoval zistené chyby. Aj v roku 2020 spoločnosť vydala nástroj MISIM, vyvinutý v spolupráci s laboratóriami MIT, ktorý dokáže študovať úryvky kódu, aby pochopil, čo sa pokúša urobiť časť kódu. Systém je určený na to, aby vývojárom poskytol spôsoby, ako zlepšiť efektivitu kódu.

„Očakáva sa, že ladenie spôsobí ešte väčšie škody vývojárom a celému odvetviu,“ povedal Intel. Oznámenie... "Keď je plne implementovaný, ControlFlag môže pomôcť zmierniť túto výzvu automatizáciou problémov s vývojom softvéru, ako je testovanie, monitorovanie a ladenie."

„Hlavnou výhodou prístupu ControlFlag k rozpoznávaniu vzorov bez dozoru je, že sa v podstate môžete naučiť prispôsobiť sa štýlu vývojára. Pretože program má obmedzený vstup do ovládacích nástrojov, ktoré musíte vyhodnotiť. ControlFlag dokáže identifikovať typografické variácie v programovacích jazykoch rovnakým spôsobom, akým čitatelia dokážu rozpoznať úplné rozdiely medzi slovami a používať anglické skratky, “píše Intel.

Konečne ak máte záujem dozvedieť sa o tom viac O ControlFlag by ste mali vedieť, že je napísaný v C ++ a je open source pod licenciou MIT a jej kódom je hosťovaný na GitHub.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.