Písanie kódu je len prvým krokom pri vytváraní niečoho. Prečesanie chýb vo vašom kóde a ich oprava je časovo náročná a často trvá dlhšie, ako sa očakávalo, no napriek tomu je to nevyhnutný krok.
Keby len existoval spôsob, ako automaticky opraviť chyby, ktoré presahujú syntaktické chyby a skutočne pochopia zámery vášho kódu.
Nedávno Microsoft vyvinul AI schopnú odhaliť a opraviť chyby v kóde pomocou hlbokého učenia. Ako však tento kus revolučnej technológie vznikol a ako funguje?
Čo je BugLab a ako funguje?
BugLab je implementácia Pythonu s umelou inteligenciou, ktorá hľadá a opravuje chyby v kóde. Vyvinuli ho Miltos Alamanis a Marc Brockschmidt, dvaja výskumníci z Microsoft Research. Podarilo sa im prekonať nedostatok označených údajov často používaných v strojové učenie tým, že sa uchýli k učeniu s vlastným dohľadom a umožní BugLab trénovať sa prostredníctvom hry na schovávačku s riadkami kódu.
BugLab bol trénovaný pomocou dvoch výpočtových modelov; jeden, ktorý skrýva chyby v správnych úryvkoch kódu, a druhý, ktorý chyby hľadá a opravuje. Oba modely sa od seba neustále učia. Postupom času sa selektor chýb stáva lepším v skrývaní chýb v kóde a detektor sa stáva lepším v ich zachytávaní a opravovaní.
Pochopenie kódexu s BugLab
Väčšina chýb, ktoré je BugLab AI trénovaná na detekciu a opravu, nevedie k logickým chybám, ale sú nesprávne iba v dôsledku všeobecného kontextu kódu. Na nájdenie týchto chýb je nevyhnutné pochopiť zámer vývojára.
Zaobchádzanie s útržkami kódu rovnakým spôsobom ako pri spracovaní prirodzených jazykov prináša suboptimálne výsledky. Pre AI je stále ťažké pochopiť vzťah medzi rôznymi vyhláseniami, keď sú rozdelené do jednotlivých tokenov.
Namiesto toho sa BugLab pozerá na kód ako na celok. Týmto spôsobom sú každá syntax, výraz, symbol a identifikátor reprezentované ako body v grafe, čo umožňuje AI „pochopiť“ spojenie a vzťah medzi rôznymi uzlami.
Architektúry neurónových sietí sa potom používajú na trénovanie ladiacej AI. Sú schopní získať poznatky z bohatej štruktúry grafu kódu a poskytnúť dôvody pre vzťah každého uzla s ostatnými.
Funguje BugLab na reálnom kóde?
Je dôležité poznamenať, že BugLab nie je náhradou skúseného programátora. Je to preto, že zložité chyby stále nie sú na dosah.
Cieľom Microsoftu s AI je odhaliť a opraviť bežne sa vyskytujúce chyby, ako sú nesprávne boolovské operátory, ako použitie „alebo“ namiesto „a“ a naopak, okrem porovnávania obrátených hodnôt a premenných zneužívania.
Podľa Microsoft, výsledky sú sľubné, keďže BugLab dokáže odhaliť a automaticky opraviť približne 26 percent chýb v kuse kódu. Napriek tomu sa stále stráca značné percento presnosti v dôsledku falošných poplachov a vynechaných chýb.
Budúce aplikácie Microsoft BugLab
Cieľom Microsoftu s BugLabom je ušetriť vývojárom softvéru čas, ktorý často trávia prezeraním ich kódu hľadaním najmenších chýb.
Zatiaľ čo model ladenia AI je stále vo vývoji, má šancu nájsť a opraviť chyby ktoré siahajú od nepohodlných až po katastrofické. Ale o pár rokov môžete očakávať, že BugLab sa stane nevyhnutnosťou v súprave nástrojov každého vývojára, aj keď nie je dokonalý.
Exponenciálny vývoj samoučiacej AI
Čím viac času majú modely AI, ako je BugLab, trénovať na príkladoch zo skutočného života, tým lepšie a presnejšie výsledky prinesú.
Jednou z najnáročnejších prekážok, ktorým čelili výskumníci Microsoftu pri vývoji BugLab, bolo využitie ľudského chápania kódu a zámeru do nástroja. Ale teraz, keď je to z väčšej časti vyriešené, môžete očakávať, že BugLab sa bude časom zlepšovať.
Snažíte sa zistiť rozdiel medzi umelou inteligenciou, strojovým učením a hlbokým učením? Tu je ich význam.
Prečítajte si ďalej
- Programovanie
- Microsoft
- Tipy na kódovanie
- Umela inteligencia

Anina je autorkou technológií a internetovej bezpečnosti na voľnej nohe v MakeUseOf. V oblasti kybernetickej bezpečnosti začala písať pred 3 rokmi v nádeji, že bude dostupnejšia pre bežného človeka. Rád sa učím nové veci a je to obrovský hlupák v oblasti astronómie.
prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!
Kliknutím sem sa prihlásite na odber