Виявлення суперечностей у вимогах до програмних систем засобами штучного інтелекту
Main Article Content
Анотація
У роботі розглянуто задачу виявлення змістових суперечностей у текстових вимогах до програмних систем. Такі суперечності виникають, коли різні положення специфікації встановлюють несумісні правила для однієї дії за однакових умов. Їх виявлення ускладнюється тим, що вимоги можуть бути сформульовані різними словами, містити винятки або посилатися на неявні бізнес-правила. Мета дослідження полягає у формуванні процедури аналізу, яка допомагає аналітику знаходити й перевіряти потенційно суперечливі пари вимог. Запропоновано виокремлювати в кожній вимозі актора, дію, об’єкт, модальність, умови застосування та числові обмеження, після чого відбирати пари, пов’язані спільною функцією. Під час відбору враховують також належність вимог до одного процесу та чинність їхніх редакцій, оскільки схожі за змістом положення можуть описувати різні стани системи. Для їх змістового зіставлення передбачено використання великої мовної моделі, а для перевірки числових меж і заперечень – явних правил. Особливу увагу приділено випадкам, коли несумісність дозволу й заборони виявляється лише після зіставлення часових умов або граничних значень. Висновок має супроводжуватися посиланнями на вихідні фрагменти, зазначенням спільної умови та поясненням причини можливого конфлікту. Такий спосіб подання результату забезпечує простежуваність аналізу і дає змогу перевірити, чи не було втрачено важливого контексту під час зіставлення. На прикладі вимог до скасування запису на прийом показано, що подібність формулювань не доводить суперечності без перевірки сфери їх дії. Якщо відомостей про сферу дії або винятки бракує, пару доцільно позначити як таку, що потребує уточнення, не зараховуючи її до підтверджених суперечностей. Остаточне рішення щодо узгодженості вимог належить аналітику. Після розгляду підтвердженого конфлікту аналітик має зафіксувати погоджене правило та визначити, які саме положення специфікації потребують уточнення. Для подальшої емпіричної перевірки процедури запропоновано використати експертно розмічений корпус пар вимог і оцінити точність, повноту, частку хибних спрацювань та час перегляду одного кандидата. Кількісних результатів застосування процедури на цьому етапі не наведено.

