ControlFlag: kodo derinimo įrankis

„Intel“ išleido išleisdama reikšmingą versiją ControlFlag 1.0, kuri yra a programinės įrangos valdymo sistema todėl aptikti savo kodo klaidas ir anomalijas šaltinis naudojant mašininio mokymosi sistemą, parengtą naudojant didelį esamo kodo kiekį.

Skirtingai nuo tradicinių statinių analizatorių, ControlFlag netaiko iš anksto nustatytų taisyklių, kurioje sunku numatyti visus galimus variantus, bet veikiau visų tipų konstrukcijų naudojimo statistikos dalis kalba daugelyje esamų projektų.

Remiantis tyrimais, klaidų paieška ir pašalinimas kode dažniausiai atliekamas rankiniu būdu ir užtrunka daugiau nei 50% kūrėjų darbo laiko. 

Įrankis išmoksta atpažinti ir pažymėti šias stilistines parinktis, taip pat galite tinkinti klaidų identifikavimą ir taisyti rekomendacijas, remdamiesi savo žiniomis, sumažindami „ControlFlag“ netinkamo kodo charakteristikas, kurios gali būti tiesiog stilistinis dviejų kūrėjų komandų nukrypimas.

Apie ControlFlag

Sistema yra mokomas kuriant statistinį modelį iš esamos šaltinio kodo matricos atidaryta, paskelbta „GitHub“ ir panašiose viešose saugyklose. Mokymo etape sistema nustato tipinius šablonus, kad sukurtų kode struktūras, ir sukuria sintaksinį jungčių medį tarp šių šablonų, atspindintį kodo vykdymo srautą programoje.

To pasekoje formuojamas nuorodų sprendimų medis, apjungiantis visų analizuojamų šaltinių tekstų kūrimo patirtį. Panašus modelio nustatymo procesas atliekamas bandomam kodui, kuris lyginamas su atskaitos sprendimų medžiu. Dideli neatitikimai su gretimomis šakomis rodo tikrinamo modelio anomaliją.

Iš charakteristikų Iš versijos ControlFlag 1.0, paryškintas visas C šablonų palaikymas ir gebėjimas aptikti sąlyginių „jei“ teiginių anomalijos.

Pavyzdžiui, analizuojant kodo fragmentą "if (x = 7) y = x;" sistema aptiks, kad konstruktas "kintamasis == skaičius" paprastai naudojamas "if" sakinyje, norint palyginti skaitines reikšmes, todėl "kintamasis = skaičius" teiginyje "if" tikriausiai atsirado dėl tipografinės klaidos.

Rinkinys pateikia scenarijų, leidžiantį atsisiųsti C saugyklas, esančias „GitHub“. ir panaudoti juos modeliui kurti. Taip pat yra paruoštų naudoti modelių, todėl galite iš karto pradėti tikrinti kodą

Sistema yra Mašinų programavimo tyrimų projekto dalis (MPR) iš Intel, kurios pagrindinis tikslas – dėl automatizavimo 1000 kartų sutrumpinti programinės įrangos kūrimo laiką.

Visų pirma, „Intel“ šiuo metu stengiasi išmokyti „Controlflag“ automatiškai ištaisyti aptiktas klaidas. Taip pat 2020 m. bendrovė išleido MISIM įrankį, sukurtą kartu su MIT laboratorijomis, kuri gali ištirti kodo fragmentus, kad suprastų, ką kodo dalis bando padaryti. Sistemą ketinama naudoti siekiant suteikti kūrėjams būdų, kaip pagerinti kodo efektyvumą.

„Tikimasi, kad derinimas padarys dar daugiau žalos kūrėjams ir visai pramonei“, – teigė „Intel“. Skelbimas... „Visiškai įdiegtas ControlFlag gali padėti sumažinti šį iššūkį automatizuodamas programinės įrangos kūrimo rūpesčius, tokius kaip testavimas, stebėjimas ir derinimas.

„Pagrindinis „ControlFlag“ neprižiūrimo modelio atpažinimo privalumas yra tas, kad iš esmės galite išmokti prisitaikyti prie kūrėjo stiliaus. Kadangi programa turi ribotą įvestį į valdymo įrankius, kuriuos reikia įvertinti. „ControlFlag“ gali nustatyti tipografinius programavimo kalbų variantus taip pat, kaip skaitytojai gali atpažinti visiškus žodžių skirtumus ir naudoti angliškas santrumpas “, - rašo „Intel“.

Pagaliau jei norite sužinoti daugiau apie tai Apie „ControlFlag“ turėtumėte žinoti, kad ji parašyta C ++ ir yra atvirojo kodo pagal MIT licenciją ir jos kodą yra priglobtas GitHub.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.