Microsoft розробляє AI, який може знаходити помилки в коді

Значок часу читання 2 хв. читати


Читачі допомагають підтримувати MSpoweruser. Ми можемо отримати комісію, якщо ви купуєте через наші посилання. Значок підказки

Прочитайте нашу сторінку розкриття інформації, щоб дізнатися, як ви можете допомогти MSPoweruser підтримувати редакційну команду Читати далі

Дослідники Microsoft розробили штучний інтелект, який може знаходити помилки в коді, допомагаючи розробникам точніше й ефективніше налагоджувати свої програми.

Дослідники Мілтос Алламаніс, головний науковий співробітник, і Марк Брокшмідт, старший керівник дослідження, розробили свої AI, BugLabs, приблизно так само, як створюються генеративні змагальні мережі (GAN).

Microsoft створила дві мережі одна проти одної – одна призначена для внесення дрібних помилок у існуючий код, а інша – для пошуку цих помилок. Дві мережі ставали все кращими і кращими, що призвело до створення штучного інтелекту, який добре виявляв помилки, приховані в реальному коді.

Перевага цього підходу полягала в тому, що процес був повністю самоконтрольований і не потребував маркованих даних.

Вони повідомляють про результати, як показано нижче:

Теоретично ми могли б застосовувати гру в хованки широко, навчаючи машину виявляти довільно складні помилки. Однак такі помилки все ще знаходяться поза межами досяжності сучасних методів ШІ. Замість цього ми зосереджуємось на наборі помилок, які часто з’являються. До них належать неправильні порівняння (наприклад, використання «<=» замість «<» або «>»), неправильні логічні оператори (наприклад, використання «і» замість «або» і навпаки), неправильне використання змінних (наприклад, неправильне використання «i» замість «j») та кілька інших. Щоб перевірити нашу систему, ми зосередимося на коді Python.

Після того, як наш детектор навчений, ми використовуємо його для виявлення та усунення помилок у реальному коді. Щоб виміряти продуктивність, ми вручну коментуємо невеликий набір даних про помилки з пакетів в індексі пакетів Python такими помилками і показуємо, що моделі, навчені за допомогою нашого методу «хованки», на 30% кращі в порівнянні з іншими альтернативами, наприклад, детектори, навчені за допомогою випадково вставлених помилок. Результати багатообіцяючі, показуючи, що близько 26% помилок можна знайти та виправити автоматично. Серед помилок, знайдених нашим детектором, було 19 раніше невідомих помилок у реальному відкритому коді GitHub. Однак результати також показали багато помилкових попереджень, що свідчать про те, що необхідні подальші вдосконалення, перш ніж такі моделі можна буде практично розгорнути.

Вони приходять до висновку, що їхній підхід є багатообіцяючим, хоча, звичайно, потрібно набагато більше працювати, щоб зробити такі детектори надійними для практичного використання. Дано GPT-3 від Microsoft працює на GitHub однак цілком можливо, що ця робота врешті може бути комерціалізована.

Прочитайте їх повний документ тут.

Детальніше про теми: ai, розробників, Microsoft