Hirdetés
. Hirdetés

A fejlesztők sóhajaiból született meg a BugLab kódjavító AI

|

Minél több idő van, hogy valós példákon gyakoroljanak, annál jobb és pontosabb eredményeket fognak produkálni.

Hirdetés

A kód megírása csak az első lépés egy program, alkalmazás stb. elkészítésében. Működőképes produktum csak a kód hibák után kutató átfésülése és kijavítása után állhat elő. A hibakeresés és javítás pedig időigényes folyamat, ami gyakran tovább tart, mint a fejlesztők először gondolnák. Ezért olyan fontos, hogy a Microsoft kifejlesztett egy BugLab nevű mesterséges intelligencia programot, amely segít megtalálni és kijavítani a kódban lévő hibákat.

A programozók gyakran sóhajthatnak fel ekképpen: Bárcsak létezne egy olyan módszer a hibák automatikus javítására, amely túlmutat a szintaktikai hibákon, és valóban megérti a kód mögött rejlő szándékokat. A Microsoft meghallotta a sóhajokat, és nemrégiben kifejlesztett egy mesterséges intelligenciát, amely mélytanulás segítségével képes felismerni és kijavítani a kódban lévő hibákat.

Hirdetés

Mi az a BugLab, és hogyan működik?

A BugLab egy mesterséges intelligencia Python implementáció, amely kódon belüli hibákra vadászik és javítja azokat. Miltos Alamanis és Marc Brockschmidt, a Microsoft Research két kutatója fejlesztette ki. A gépi tanulásban gyakran használt címkézett adatok hiányát úgy sikerült leküzdeniük, hogy az önfelügyelt tanuláshoz folyamodtak, és lehetővé tették a BugLab számára az önképzést egy kódsorokkal folytatott "bújócskás" játékon keresztül.

A BugLabot két számítási modell segítségével képezték ki. Az egyik a hibákat a helyes kódrészletekben rejti el, a másik pedig a hibákat keresi és javítja. Mindkét modell folyamatosan tanul egymásból. Idővel a hibakereső egyre jobban elrejti a hibákat a kódban, a kereső pedig egyre jobban megtalálja és kijavítja azokat.

Így érti meg a kódot a BugLab

Azoknak a hibáknak a többsége, amelyek felismerésére és javítására a BugLab AI-t kiképezték, nem logikai hibát eredményez, hanem csak a kód általános kontextusából adódóan hibás. A fejlesztő szándékának megértése alapvető fontosságú az ilyen hibák megtalálásához.

Ha a kódrészleteket ugyanúgy kezeljük, mint a természetes nyelvek feldolgozását, az nem vezet optimális eredményekhez. A mesterséges intelligencia még mindig nehezen érti meg a különböző utasítások közötti kapcsolatot, ha azok különálló tokenekre vannak bontva.

Ehelyett a BugLab a kód egészét vizsgálja. Így minden egyes szintaxis, kifejezés, szimbólum és azonosító egy gráf pontjaiként jelenik meg, lehetővé téve a mesterséges intelligencia számára, hogy "megértse" a különböző csomópontok közötti kapcsolatot és viszonyokat. A hibakereső mesterséges intelligencia kiképzéséhez ezután neurális hálózati architektúrákat használnak. Képesek a kódgráf gazdag struktúrájából meglátásokat meríteni, és okokat szolgáltatni az egyes csomópontok és a többiek kapcsolatára.

Működik-e a BugLab valós kódon?

Fontos megjegyezni, hogy a BugLab nem helyettesíti a képzett programozót. Ez azért van, mert az összetett hibák még mindig nem elérhetőek. A Microsoft célja a mesterséges intelligenciával az olyan gyakran előforduló hibák felderítése és javítása, mint a helytelen Boolean-operátorok, például a "vagy" használata az "és" helyett és fordítva, továbbá a fordított értékösszehasonlítások és a változóval való visszaélések. A Microsoft szerint az eredmények ígéretesek, mivel a BugLab képes felismerni és automatikusan kijavítani egy kódrészletben található hibák mintegy 26 százalékát. Ennek ellenére a pontosság jelentős százaléka még mindig elveszik a téves pozitív eredmények és a kihagyott hibák miatt.

A Microsoft célja a BugLabbal az, hogy időt takarítson meg a szoftverfejlesztőknek, akik gyakran a legapróbb hibák keresésével rengeteg időt veszítenek. Bár a mesterséges intelligencia hibakereső modellje még csak most van fejlődésben, megvan rá az esély, hogy a hibák széles körét (a kellemetlenektől a katasztrofálisakig) megtalálja és kijavítsa. De néhány éven belül várhatóan a BugLab minden fejlesztő eszköztárának kötelező kelléke lesz, még ha nem is tökéletes.

Minél több ideje van az olyan mesterséges intelligencia-modelleknek, mint a BugLab, hogy valós példákon gyakoroljanak, annál jobb és pontosabb eredményeket fognak produkálni. A Microsoft kutatóinak a BugLab fejlesztése során az egyik legnagyobb kihívást jelentő akadály az volt, hogy a kód és a szándék emberi megértését beépítsék az eszközbe. De most, hogy ez nagyrészt megoldódott, arra lehet számítani, hogy a BugLab idővel egyre jobb lesz.

Hardverek, szoftverek, tesztek, érdekességek és színes hírek az IT világából ide kattintva!

Hirdetés
0 mp. múlva automatikusan bezár Tovább az oldalra »

Úgy tűnik, AdBlockert használsz, amivel megakadályozod a reklámok megjelenítését. Amennyiben szeretnéd támogatni a munkánkat, kérjük add hozzá az oldalt a kivételek listájához, vagy támogass minket közvetlenül! További információért kattints!

Engedélyezi, hogy a https://computerworld.hu értesítéseket küldjön Önnek a kiemelt hírekről? Az értesítések bármikor kikapcsolhatók a böngésző beállításaiban.