ControlFlag: nástroj pro ladění kódu

Intel vydal vydání významné verze ControlFlag 1.0, což je softwarový řídicí systém to umožňuje odhalit chyby a anomálie ve vašem kódu zdroj pomocí systému strojového učení trénovaného na velkém množství existujícího kódu.

Na rozdíl od tradičních statických analyzátorů ControlFlag neuplatňuje předdefinovaná pravidla, ve kterém je obtížné předvídat všechny možné možnosti, ale spíše část statistiky využití všech typů staveb jazyk ve velkém počtu existujících projektů.

Podle výzkumu se hledání a odstraňování chyb v kódu nejčastěji provádí ručně a zabere více než 50 % pracovní doby vývojářů. 

Nástroj se naučí, jak identifikovat a označit tyto stylistické možnosti, a můžete si přizpůsobit identifikaci chyb a opravit doporučení na základě svých znalostí, čímž minimalizujete špatné charakterizace kódu ControlFlag, které mohou být jednoduše stylistickou odchylkou mezi dvěma týmy vývojářů.

O ControlFlag

Systém je trénován vytvořením statistického modelu z existující matice zdrojového kódu otevřené publikované na GitHubu a podobných veřejných úložištích. Ve fázi školení systém určuje typické šablony pro vytváření struktur v kódu a vytváří syntaktický strom spojení mezi těmito šablonami, který odráží tok provádění kódu v programu.

Výsledkem je vytvoření referenčního rozhodovacího stromu, který kombinuje vývojové zkušenosti všech analyzovaných zdrojových textů. Podobný proces nastavení vzoru se provádí pro testovaný kód, který se porovnává s referenčním rozhodovacím stromem. Velké nesrovnalosti se sousedními větvemi indikují anomálii ve vzoru, který je ověřován.

Z charakteristik Verze ControlFlag 1.0, plná podpora šablon C je zvýrazněna a schopnost detekovat anomálie v podmíněných „if“ příkazech.

Například při analýze fragmentu kódu „if (x = 7) y = x;“ systém zjistí, že konstrukt "proměnná == číslo" se obecně používá ve výrazu "if" k porovnání číselných hodnot, takže údaj "proměnná = číslo" ve výrazu "if" je pravděpodobně způsoben tiskovou chybou.

Stavebnice poskytuje skript, který umožňuje stahování repozitářů C dostupných na GitHubu a použít je k sestavení modelu. K dispozici jsou také modely připravené k použití, které vám umožní okamžitě začít kontrolovat kód

Systém je součástí projektu Machine Programming Research (MPR) od Intelu, jejímž hlavním cílem je díky automatizaci 1000krát zkrátit čas potřebný pro vývoj softwaru.

Intel v současné době pracuje zejména na školení Controlflag, aby automaticky opravoval zjištěné chyby. Také v roce 2020 společnost vydala nástroj MISIM vyvinutý ve spolupráci s laboratořemi MIT, který dokáže studovat úryvky kódu, aby pochopil, co se kus kódu snaží dělat. Systém je určen k tomu, aby poskytoval vývojářům způsoby, jak zlepšit efektivitu kódu.

"Očekává se, že ladění způsobí ještě větší škody vývojářům a průmyslu jako celku," řekl Intel. Oznámení… "Když je ControlFlag plně implementován, může pomoci zmírnit tento problém automatizací potíží s vývojem softwaru, jako je testování, monitorování a ladění."

„Hlavní výhodou přístupu ControlFlag k rozpoznávání vzorů bez dozoru je to, že se v podstatě můžete naučit přizpůsobit se stylu vývojáře. Protože program má omezený vstup do ovládacích nástrojů, které potřebujete vyhodnotit. ControlFlag dokáže identifikovat typografické variace v programovacích jazycích stejným způsobem, jakým mohou čtenáři rozpoznat úplné rozdíly mezi slovy a používat anglické zkratky, “píše Intel.

Konečně pokud máte zájem o tom vědět více O ControlFlag byste měli vědět, že je napsán v C ++ a je open source pod licencí MIT a jeho kódu je hostován na GitHubu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.