ЦонтролФлаг: алат за отклањање грешака кода

Интел је објавио издавање значајне верзије о ЦонтролФлаг 1.0, који је софтверски систем управљања омогућавајући откријте грешке и аномалије у вашем коду извор користећи систем машинског учења обученог на великој количини постојећег кода.

За разлику од традиционалних статичких анализатора, ЦонтролФлаг не примењује унапред дефинисана правила, у којој је тешко предвидети све могуће опције већ пре део статистике коришћења свих врста конструкција језика у великом броју постојећих пројеката.

Према истраживањима, проналажење и уклањање грешака у коду најчешће се обавља ручно и одузима више од 50% радног времена програмера. 

Алат учи како да идентификује и означи ове стилске опције и можете да прилагодите идентификацију грешака и исправите препоруке на основу свог знања, минимизирајући ЦонтролФлаг карактеризације лошег кода које могу једноставно бити стилско одступање између два тима програмера. .

О ЦонтролФлаг-у

Систем обучава се изградњом статистичког модела из постојеће матрице изворног кода опен објављено на ГитХуб-у и сличним јавним репозиторијумима. У фази обуке, систем одређује типичне шаблоне за изградњу структура у коду и гради синтаксичко стабло веза између ових шаблона, одражавајући ток извршења кода у програму.

Као резултат, формира се референтно стабло одлучивања које комбинује развојно искуство свих анализираних изворних текстова. Сличан процес постављања шаблона се изводи за код који се тестира, који се упоређује са референтним стаблом одлучивања. Велика неслагања са суседним гранама указују на аномалију у обрасцу који се верификује.

Од карактеристика Од верзије ЦонтролФлаг 1.0, пуна подршка за Ц шаблоне је истакнута и способност откривања аномалије у условним изјавама „ако“.

На пример, када анализирате исечак кода „иф (к = 7) и = к;“ систем ће открити да се конструкција „променљива == број“ генерално користи у наредби „ако“ за упоређивање нумеричких вредности, тако да је индикација „променљива = број“ у изјави „ако“ вероватно узрокована штампарском грешком.

Кит пружа скрипту која омогућава преузимање Ц спремишта доступних на ГитХуб-у и користити их за прављење модела. Доступни су и модели спремни за употребу, што вам омогућава да одмах почнете да проверавате код

Систем је део пројекта Истраживање машинског програмирања (МПР) компаније Интел, чији је главни циљ смањење времена потребног за развој софтвера за 1000 пута захваљујући аутоматизацији.

Конкретно, Интел тренутно ради на обуци Цонтролфлаг-а да аутоматски исправља откривене грешке. Такође 2020. године, компанија је објавила МИСИМ алат, развијен у сарадњи са МИТ лабораторијама, који може да проучава исечке кода да би разумео шта део кода треба да уради. Систем је намењен да се користи да се програмерима обезбеди начин да побољшају ефикасност кода.

„Очекује се да ће отклањање грешака нанети још већу штету програмерима и индустрији у целини“, рекао је Интел. Најава… „Када се у потпуности имплементира, ЦонтролФлаг може помоћи у ублажавању овог изазова аутоматизацијом гњаваже око развоја софтвера као што је тестирање, праћење и отклањање грешака.“

„Главна предност ЦонтролФлаг-овог приступа без надзора препознавању образаца је у томе што у суштини можете научити да се прилагодите стилу програмера. Зато што програм има ограничен унос у контролне алате које треба да процените. ЦонтролФлаг може да идентификује типографске варијације у програмским језицима на исти начин на који читаоци могу да препознају потпуне разлике између речи и користе енглеске скраћенице“, пише Интел.

Коначно ако сте заинтересовани да сазнате више о томе Што се тиче ЦонтролФлаг-а, треба да знате да је написан на Ц ++ и да је отвореног кода под МИТ лиценцом и његовим кодом је хостован на ГитХуб-у.


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.