Писање кода је само први корак у стварању нечега. Прочешљавање кода у потрази за грешкама и њихово исправљање одузима много времена и често траје дуже него што се очекивало, али је ипак суштински корак.
Кад би само постојао начин да се аутоматски поправе грешке које превазилазе синтаксичке грешке и заиста разумеју намере иза вашег кода.
Недавно је Мицрософт развио АИ способан да открије и поправи грешке у коду користећи дубоко учење. Али како је овај комад револуционарне технологије настао и како функционише?
Шта је БугЛаб и како функционише?
БугЛаб је Питхон имплементација вештачке интелигенције која тражи и исправља грешке унутар кода. Развили су га Милтос Аламанис и Марц Броцксцхмидт, два истраживача у Мицрософт Ресеарцх-у. Успели су да превазиђу недостатак означених података који се често користе у Машинско учење прибегавајући самонадгледаном учењу и дозвољавајући БугЛаб-у да се тренира кроз игру „крижања“ са линијама кода.
БугЛаб је обучен коришћењем два рачунарска модела; један који сакрива грешке у исправним деловима кода, а други који тражи и исправља грешке. Оба модела непрестано уче један од другог. Временом, бирач грешака постаје све бољи у скривању грешака у коду, а детектор постаје бољи у хватању и поправљању.
Разумевање кода помоћу БугЛаб-а
Већина грешака које је БугЛаб АИ обучена да открије и поправи не доводи до логичких грешака, већ су погрешне само као резултат општег контекста кода. Разумевање намере програмера је од суштинског значаја за проналажење ових грешака.
Третирање исечака кода на исти начин као и обрада природних језика даје субоптималне резултате. И даље је тешко за АИ да разуме однос између различитих изјава када су подељене на појединачне токене.
Уместо тога, БугЛаб посматра код као целину. На тај начин, свака синтакса, израз, симбол и идентификатор су представљени као тачке на графикону, омогућавајући АИ да „разуме“ везу и однос између различитих чворова.
Архитектуре неуронских мрежа се затим користе за обуку АИ за отклањање грешака. Они су у стању да извуку увиде из богате структуре кодног графа и дају разлоге за однос сваког чвора са осталима.
Да ли БугЛаб ради на коду из стварног живота?
Важно је напоменути да БугЛаб није замена за квалификованог програмера. То је зато што сложене грешке још увек нису на дохват руке.
Мицрософтов циљ са АИ је да открије и поправи уобичајене грешке као што су нетачни Булови оператори, као што је употреба „или“ уместо „и“ и обрнуто, поред поређења обрнутих вредности и променљивих злоупотребе.
Према Мицрософт, резултати су обећавајући, пошто је БугЛаб у стању да открије и аутоматски поправи око 26 процената грешака у комаду кода. Ипак, значајан проценат тачности се и даље губи због лажних позитивних резултата и пропуштених грешака.
Будуће примене Мицрософт БугЛаб-а
Мицрософтов циљ са БугЛаб-ом је уштеда времена програмерима софтвера, које често проводе прегледавајући свој код тражећи најмање грешке.
Док је модел за отклањање грешака вештачке интелигенције још увек у току, он има шансу за проналажење и поправљање грешака који се крећу било где од незгодних до катастрофалних. Али за неколико година можете очекивати да ће БугЛаб постати обавезан у комплету алата сваког програмера, чак и ако није савршен.
Експоненцијална еволуција вештачке интелигенције за самоучење
Што више времена АИ модели попут БугЛаб-а имају да тренирају на примерима из стварног живота, то ће дати боље и тачније резултате.
Једна од најизазовнијих препрека са којима су се Мицрософт истраживачи суочили док су развијали БугЛаб била је употреба људског разумевања кода и намере у алату. Али сада када је то углавном решено, можете очекивати да ће БугЛаб временом постати бољи.
Покушавате да откријете разлику између вештачке интелигенције, машинског учења и дубоког учења? Ево шта сви они значе.
Реад Нект
- Програмирање
- Мицрософт
- Савети за кодирање
- Вештачка интелигенција
Анина је слободни писац о технологији и интернет безбедности у МакеУсеОф-у. Почела је да пише о сајбер безбедности пре 3 године у нади да ће то учинити доступнијим просечној особи. Заинтересован за учење нових ствари и велики штребер у астрономији.
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, рецензије, бесплатне е-књиге и ексклузивне понуде!
Кликните овде да бисте се претплатили