Писането на код е само първата стъпка в създаването на нещо. Преглеждането на вашия код за грешки и тяхното коригиране отнема време и често отнема повече време от очакваното, но въпреки това е съществена стъпка.
Само ако имаше начин за автоматично коригиране на грешки, който надхвърля синтактичните грешки и наистина разбира намеренията зад вашия код.
Наскоро Microsoft разработи AI, способен да открива и коригира грешки в кода, използвайки дълбоко обучение. Но как се появи тази революционна технология и как работи?
Какво е BugLab и как работи?
BugLab е внедряване на Python с изкуствен интелект, което търси и коригира грешки в кода. Той е разработен от Милтос Аламанис и Марк Брокшмит, двама изследователи в Microsoft Research. Те успяха да преодолеят липсата на етикетирани данни, често използвани в машинно обучение като прибягва до самоконтролирано обучение и позволява на BugLab да се обучава чрез игра на „криеница“ с редове код.
BugLab беше обучен с помощта на два компютърни модела; един, който скрива грешки в правилните фрагменти от код, и друг, който търси и коригира грешките. И двата модела непрекъснато се учат един от друг. С течение на времето селекторът на грешки става по-добър в скриването на грешки в кода, а детекторът става по-добър в улавянето и коригирането им.
Разбиране на кода с BugLab
Повечето грешки, които BugLab AI е обучен да открива и коригира, не водят до логически грешки, а са само грешни в резултат на общия контекст на кода. Разбирането на намерението на разработчика е от съществено значение за намирането на тези грешки.
Третирането на фрагменти от код по същия начин като обработката на естествени езици дава неоптимални резултати. Все още е трудно за ИИ да разбере връзката между различните изявления, когато те са разделени на отделни токени.
Вместо това BugLab разглежда кода като цяло. По този начин всеки синтаксис, израз, символ и идентификатор се представят като точки в графика, което позволява на AI да „разбере“ връзката и връзката между различните възли.
Архитектури на невронни мрежи след това се използват за обучение на AI за отстраняване на грешки. Те са в състояние да извличат прозрения от богатата структура на кодовата графика и да предоставят причини за връзката на всеки възел с останалите.
BugLab работи ли върху код от реалния живот?
Важно е да се отбележи, че BugLab не е заместител на квалифициран програмист. Това е така, защото сложните грешки все още не са в обсега.
Целта на Microsoft с AI е да открие и коригира често срещани грешки като неправилни булеви оператори, като използването на „или“ вместо „и“ и обратно, в допълнение към сравнения на обърнати стойности и променлива злоупотреби.
Според Microsoft, резултатите са обещаващи, тъй като BugLab е в състояние да открива и автоматично коригира около 26 процента от грешките в парче код. Все пак значителен процент от точността все още се губи поради фалшиви положителни резултати и пропуснати грешки.
Бъдещи приложения на Microsoft BugLab
Целта на Microsoft с BugLab е да спестява време на разработчиците на софтуер, което често прекарват в преглед на техния код в търсене на най-малките грешки.
Въпреки че моделът за отстраняване на грешки в AI все още е в процес на разработка, той има шанс намиране и коригиране на грешки които варират навсякъде от неудобни до катастрофални. Но след няколко години можете да очаквате BugLab да стане задължителен в инструментариума на всеки разработчик, дори и да не е перфектен.
Експоненциалната еволюция на самообучаващия се ИИ
Колкото повече време имат моделите с изкуствен интелект като BugLab да се обучават върху примери от реалния живот, толкова по-добри и по-точни резултати ще дадат.
Едно от най-предизвикателните препятствия, пред които са изправени изследователите на Microsoft при разработването на BugLab, е използването на човешкото разбиране на кода и намеренията в инструмента. Но сега, когато това до голяма степен е решено, можете да очаквате BugLab да се подобри с времето.
Опитвате се да разберете разликата между изкуствен интелект, машинно обучение и дълбоко обучение? Ето какво означават всички те.
Прочетете Следващото
- Програмиране
- Microsoft
- Съвети за кодиране
- Изкуствен интелект
Анина е писател на свободна практика по технологии и интернет сигурност в MakeUseOf. Тя започна да пише в областта на киберсигурността преди 3 години с надеждата да я направи по-достъпна за обикновения човек. Желаещ да научава нови неща и огромен маниак по астрономия.
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!
Щракнете тук, за да се абонирате