ControlFlag: isang tool sa pag-debug ng code

Inilabas ng Intel naglalabas ng makabuluhang bersyon ng ControlFlag 1.0, na a sistema ng kontrol ng software nagpapahintulot tuklasin ang mga error at anomalya sa iyong code source gamit ang isang machine learning system na sinanay sa isang malaking halaga ng umiiral na code.

Hindi tulad ng tradisyonal na static analyzer, Hindi inilalapat ng ControlFlag ang mga paunang natukoy na panuntunan, kung saan mahirap hulaan ang lahat ng posibleng opsyon, ngunit sa halip bahagi ng mga istatistika ng paggamit ng lahat ng uri ng mga konstruksyon wika sa isang malaking bilang ng mga kasalukuyang proyekto.

Ayon sa pananaliksik, ang paghahanap at pag-alis ng mga bug sa code ay kadalasang ginagawa nang manu-mano at tumatagal ng higit sa 50% ng oras ng trabaho ng mga developer. 

Natututo ang tool na tukuyin at lagyan ng label ang mga stylistic na opsyon na ito, at maaari mong i-customize ang pagkilala sa bug at ayusin ang mga rekomendasyon batay sa iyong kaalaman, na pinapaliit ang ControlFlag na hindi magandang characterization ng code na maaaring isang stylistic deviation lang sa pagitan ng dalawang team ng mga developer. .

Tungkol sa ControlFlag

Ang system ay sinanay sa pamamagitan ng pagbuo ng istatistikal na modelo mula sa kasalukuyang source code matrix bukas na inilathala sa GitHub at mga katulad na pampublikong repositoryo. Sa yugto ng pagsasanay, tinutukoy ng system ang mga tipikal na template upang bumuo ng mga istruktura sa code at bumuo ng isang syntactic tree ng mga koneksyon sa pagitan ng mga template na ito, na sumasalamin sa daloy ng pagpapatupad ng code sa programa.

Bilang resulta, nabuo ang isang puno ng pagpapasya sa sanggunian, na pinagsasama ang karanasan sa pag-unlad ng lahat ng nasuri na pinagmulang teksto. Ang isang katulad na proseso ng pagtatakda ng pattern ay isinasagawa para sa code na sinusuri, na kung saan ay inihambing sa isang reference decision tree. Ang malalaking pagkakaiba sa mga katabing sangay ay nagpapahiwatig ng anomalya sa pattern na bini-verify.

Sa mga katangian Ng bersyon ControlFlag 1.0, ang buong suporta para sa mga template ng C ay naka-highlight at ang kakayahang makakita anomalya sa kondisyong "kung" na mga pahayag.

Halimbawa, kapag nag-parse ng code snippet "if (x = 7) y = x;" matutuklasan ng system na ang "variable == number" construct ay karaniwang ginagamit sa "if" na pahayag upang ihambing ang mga numerical value, kaya ang "variable = number" na indikasyon sa "if" na pahayag ay malamang na sanhi ng isang typographical error.

Ang kit nagbibigay ng script na nagbibigay-daan sa pag-download ng mga C repository na available sa GitHub at gamitin ang mga ito upang bumuo ng isang modelo. Available din ang mga ready-to-go na modelo, na nagbibigay-daan sa iyong simulan kaagad ang pagsuri ng code

Ang system ay bahagi ng proyekto ng Machine Programming Research (MPR) mula sa Intel, na ang pangunahing layunin ay bawasan ang oras na kinakailangan para sa pagbuo ng software ng 1000 beses dahil sa automation.

Sa partikular, kasalukuyang nagtatrabaho ang Intel upang sanayin ang Controlflag upang awtomatikong itama ang mga natukoy na error. Noong 2020 din, inilabas ng kumpanya ang MISIM tool, na binuo kasabay ng MIT labs, na maaaring pag-aralan ang mga snippet ng code upang maunawaan kung ano ang nilalayon na gawin ng isang piraso ng code. Ang sistema ay nilayon na gamitin upang magbigay ng mga developer ng mga paraan upang mapabuti ang kahusayan ng code.

"Ang pag-debug ay inaasahang makakagawa ng higit pang pinsala sa mga developer at sa industriya sa kabuuan," sabi ng Intel. Anunsyo… "Kapag ganap na naipatupad, ang ControlFlag ay maaaring makatulong na mapagaan ang hamon na ito sa pamamagitan ng pag-automate ng abala ng software development gaya ng pagsubok, pagsubaybay at pag-debug."

“Ang pangunahing bentahe ng hindi pinangangasiwaang diskarte ng ControlFlag sa pagkilala ng pattern ay maaari kang matutong umangkop sa istilo ng developer. Dahil limitado ang input ng program sa mga control tool na kailangan mong suriin. Maaaring matukoy ng ControlFlag ang mga pagkakaiba-iba ng typographic sa mga programming language sa parehong paraan na maaaring makilala ng mga mambabasa ang kumpletong pagkakaiba sa pagitan ng mga salita at gumamit ng mga pagdadaglat sa Ingles, "sulat ng Intel.

Sa wakas kung interesado kang malaman ang tungkol dito Tungkol sa ControlFlag, dapat mong malaman na ito ay nakasulat sa C ++ at open source sa ilalim ng lisensya ng MIT at ang code nito ay naka-host sa GitHub.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.