Методологія перевірки програмного коду з підтримкою штучного інтелекту на основі моделі процесу
Main Article Content
Анотація
Перевірка програмного коду залишається центральною практикою забезпечення якості в проєктах програмного забезпечення, і віднедавна в цьому процесі діє новий учасник: асистент на основі великої мовної моделі, який генерує зауваження до змін, підсумки та чернетку виправлень. Наявні описи перевірки коду трактують такого асистента як зовнішній інструмент, тому питання про те, на яких кроках, за яких умов і з якими повноваженнями він має діяти, залишається без відповіді. У роботі розвинуто методологію перевірки програмного коду з підтримкою штучного інтелекту, побудовану на явній моделі процесу, у якій асистент є повноправним учасником без права на вердикт. Методологія охоплює шість принципів, шість точок інтеграції, прив'язаних до елементів моделі процесу, правила маршрутизації за прогнозованими характеристиками перевірки, контур накопичення зворотного зв'язку на вихід асистента та процедуру впровадження. Емпіричне обґрунтування виконано на дванадцяти репозиторіях з відкритим кодом з близько шістдесяти п'яти тисяч злитих запитів. У перевірці беруть участь дванадцять таких асистентів. Принаймні одну їхню перевірку має приблизно кожен шостий злитий запит. Серед усіх зібраних запитів частка з такою участю зросла з десятих часток відсотка до понад третини за два роки, а між репозиторіями різниться на три порядки. Описове порівняння всередині репозиторіїв показує, що запити, перевірені асистентом, систематично більші за обсягом і проходять більше ітерацій, і ця відмінність зберігається всередині квартилів розміру зміни. Емпірично обґрунтовано принципи вимірюваності та прозорості конфігурації; принцип керування за прогнозом спирається на результати попередньої роботи авторів; для решти принципів описово перевірено передумови: асистенти майже не подають вердиктів, діють на тригері моделі процесу, а реакції людей на їхній вихід фіксує сама платформа.

