ControlFlag: një mjet për korrigjimin e kodit

Intel ka lëshuar duke lëshuar versionin domethënës të ControlFlag 1.0, e cila është një sistemi i kontrollit të softuerit që lejon zbuloni gabimet dhe anomalitë në kodin tuaj burim duke përdorur një sistem të mësimit të makinerive të trajnuar në një sasi të madhe kodi ekzistues.

Ndryshe nga analizuesit statikë tradicionalë, ControlFlag nuk zbaton rregulla të paracaktuara, në të cilën është e vështirë të parashikohen të gjitha opsionet e mundshme, por përkundrazi pjesë e statistikave të përdorimit të të gjitha llojeve të ndërtimeve gjuhë në një numër të madh projektesh ekzistuese.

Sipas hulumtimit, gjetja dhe heqja e gabimeve në kod më së shpeshti bëhet me dorë dhe merr më shumë se 50% të kohës së punës së zhvilluesve. 

Mjeti mëson se si të identifikojë dhe etiketojë këto opsione stilistike dhe ju mund të personalizoni identifikimin e gabimeve dhe të rregulloni rekomandimet bazuar në njohuritë tuaja, duke minimizuar karakterizimet e kodit të keq të ControlFlag që mund të jenë thjesht një devijim stilistik midis dy ekipeve zhvilluesish.

Rreth ControlFlag

Sistemi është trajnuar duke ndërtuar një model statistikor nga matrica ekzistuese e kodit burimor hapur të publikuar në GitHub dhe depo publike të ngjashme. Në fazën e trajnimit, sistemi përcakton shabllonet tipike për të ndërtuar struktura në kod dhe ndërton një pemë sintaksore të lidhjeve midis këtyre shablloneve, duke pasqyruar rrjedhën e ekzekutimit të kodit në program.

Si rezultat, formohet një pemë e vendimeve referuese, duke kombinuar përvojën e zhvillimit të të gjitha teksteve burimore të analizuara. Një proces i ngjashëm i vendosjes së modelit kryhet për kodin në provë, i cili krahasohet me një pemë vendimi referencë. Mospërputhjet e mëdha me degët ngjitur tregojnë një anomali në modelin që po verifikohet.

Nga karakteristikat Të versionit ControlFlag 1.0, theksohet mbështetja e plotë për shabllonet C dhe aftësinë për të zbuluar anomalitë në deklaratat e kushtëzuara "nëse".

Për shembull, kur analizoni fragmentin e kodit "if (x = 7) y = x;" sistemi do të zbulojë se konstrukti "variabla == numër" përdoret përgjithësisht në deklaratën "nëse" për të krahasuar vlerat numerike, kështu që treguesi "variabla = numër" në deklaratën "nëse" është shkaktuar ndoshta nga një gabim tipografik.

Çantë ofron një skript që lejon shkarkimin e depove C të disponueshme në GitHub dhe përdorni ato për të ndërtuar një model. Modele të gatshme janë gjithashtu të disponueshme, duke ju lejuar të filloni të kontrolloni kodin menjëherë

Sistemi është pjesë e projektit të Kërkimit të Programimit të Makinerisë (MPR) nga Intel, qëllimi kryesor i të cilit është të zvogëlojë kohën e nevojshme për zhvillimin e softuerit me 1000 herë për shkak të automatizimit.

Në veçanti, Intel aktualisht po punon për të trajnuar Controlflag për të korrigjuar automatikisht gabimet e zbuluara. Gjithashtu në vitin 2020, kompania lëshoi ​​mjetin MISIM, i zhvilluar në lidhje me laboratorët e MIT, të cilët mund të studiojnë copa kodi për të kuptuar se çfarë po përpiqet të bëjë një pjesë e kodit. Sistemi synon të përdoret për t'u ofruar zhvilluesve mënyra për të përmirësuar efikasitetin e kodit.

"Debugging pritet të shkaktojë edhe më shumë dëme për zhvilluesit dhe industrinë në tërësi," tha Intel. Njoftim… "Kur të zbatohet plotësisht, ControlFlag mund të ndihmojë në zbutjen e kësaj sfide duke automatizuar telashet e zhvillimit të softuerit si testimi, monitorimi dhe korrigjimi."

“Avantazhi kryesor i qasjes së pambikëqyrur të ControlFlag për njohjen e modeleve është se në thelb mund të mësoni të përshtateni me stilin e zhvilluesit. Sepse programi ka të dhëna të kufizuara për mjetet e kontrollit që ju duhet të vlerësoni. ControlFlag mund të identifikojë variacionet tipografike në gjuhët e programimit në të njëjtën mënyrë që lexuesit mund të njohin ndryshimet e plota midis fjalëve dhe të përdorin shkurtesat në anglisht, "shkruan Intel.

Më në fund nëse jeni të interesuar të dini më shumë për të Rreth ControlFlag, duhet të dini se është i shkruar në C ++ dhe është me burim të hapur nën licencën MIT dhe kodin e tij është pritur në GitHub.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.