Microsoft vyvíjí AI, která dokáže najít chyby v kódu

Ikona času čtení 2 min. číst


Čtenáři pomáhají podporovat MSpoweruser. Pokud nakoupíte prostřednictvím našich odkazů, můžeme získat provizi. Ikona popisku

Přečtěte si naši informační stránku a zjistěte, jak můžete pomoci MSPoweruser udržet redakční tým Dozvědět se více

Výzkumníci z Microsoftu vyvinuli AI, která dokáže najít chyby v kódu a pomáhá vývojářům ladit jejich aplikace přesněji a efektivněji.

Výzkumníci Miltos Allamanis, hlavní výzkumný pracovník a Marc Brockschmidt, hlavní vedoucí výzkumu, vyvinuli svou AI, BugLabs, v podstatě stejným způsobem, jakým se vytvářejí sítě Generative Adversarial Networks (GAN).

Microsoft proti sobě postavil dvě sítě – jednu navrženou tak, aby vnášela malé chyby do existujícího kódu, a druhou zaměřenou na nalezení těchto chyb. Tyto dvě sítě byly lepší a lepší, což vedlo k AI, která byla dobrá v identifikaci chyb skrytých ve skutečném kódu.

Výhodou tohoto přístupu bylo, že proces byl zcela pod dohledem a nepotřeboval označená data.

Výsledky hlásí takto:

Teoreticky bychom mohli hru na schovávanou aplikovat široce a naučit stroj identifikovat libovolně složité chyby. Takové chyby jsou však stále mimo dosah moderních metod umělé inteligence. Místo toho se soustředíme na sadu běžně se vyskytujících chyb. Patří mezi ně nesprávná srovnání (např. použití „<=“ místo „<“ nebo „>“), nesprávné booleovské operátory (např. použití „and“ místo „nebo“ a naopak), nesprávné použití proměnných (např. nesprávné použití „i“ místo „j“) a několik dalších. Při testování našeho systému se zaměřujeme na kód Python.

Jakmile je náš detektor vyškolen, používáme jej k detekci a opravě chyb v reálném kódu. Abychom změřili výkon, ručně anotujeme malou datovou sadu chyb z balíčků v Python Package Index s takovými chybami a ukazujeme, že modely trénované naší metodou „schovávej a hledej“ jsou až o 30 % lepší ve srovnání s jinými alternativami, např. detektory trénované s náhodně vloženými chybami. Výsledky jsou slibné a ukazují, že asi 26 % chyb lze nalézt a opravit automaticky. Mezi chybami, které náš detektor našel, bylo 19 dříve neznámých chyb v reálném open-source kódu GitHub. Výsledky však také ukázaly mnoho falešně pozitivních varování, což naznačuje, že před praktickým nasazením takových modelů je zapotřebí dalšího pokroku.

Došli k závěru, že jejich přístup je slibný, i když je samozřejmě zapotřebí mnohem více práce, aby byly takové detektory spolehlivé pro praktické použití. Dáno Microsoft GPT-3 funguje na GitHubu je však docela možné, že toto dílo bude nakonec komercializováno.

Přečtěte si celý jejich papír zde.

Více o tématech: ai, Vývojáři, microsoft