Дейнеко Денис Павлович, аспірант 
кафедри програмного забезпечення компʼютерних систем,
 Чернівецький національний університет, 
м. Чернівці, Україна
Адаптивне контрольне тестування числової арифметики: метод і формалізація
У цій роботі пропонується новий підхід до оцінки точності числових обчислень, який поєднує в собі ідеї з галузей чисельної оптимізації, тестування алгоритмів та адаптивного інтегрування. Запропонований алгоритм отримав назву Adaptive Benchmark Testing (ABT). Його мета — ідентифікація критичних ділянок числової області, де стандартна арифметика демонструє найбільші відхилення, і наступна концентрація тестування саме в цих зонах.
Методика роботи алгоритму включає кілька послідовних етапів. Спочатку генерується базовий тестовий набір значень, який рівномірно покриває заданий числовий інтервал [1]. Для кожного значення обчислюються результати двома арифметичними системами — альтернативною арифметикою та стандартною реалізацією CPython. Далі визначається абсолютна і відносна похибка кожного результату:
,

де  — результат альтернативної арифметики,  — результат CPython.
На основі цих похибок формується функція точності , яка є максимумом між абсолютною та відносною похибками. Потім виконується статистичний аналіз: обчислюється середнє значення похибки та її стандартне відхилення. Порогове значення , що визначає критичні області, встановлюється за формулою:
,
де  — середнє значення похибки,  — її стандартне відхилення,  — параметр чутливості, що регулює ступінь деталізації виявлення проблемних точок.
Наступні ітерації алгоритму спрямовані на збагачення тестового набору саме в тих піддіапазонах, де похибка перевищує поріг. Таким чином, замість сліпого тестування випадкових значень, ABT динамічно фокусується на тих зонах, які вимагають детальнішої перевірки [2]. Ітерації повторюються доти, доки зміна середньої похибки між ітераціями не стане меншою за .
Запропонований метод поєднує концепцію адаптивного уточнення, схожу до тієї, що використовується в адаптивному чисельному інтегруванні [3], з формальним критерієм оновлення тестових точок на основі статистичних показників. На відміну від класичних підходів, ABT не використовує сліпу генерацію значень, а концентрує ресурси на дослідженні найскладніших ділянок.
Оцінка складності алгоритму показує, що кожна ітерація має лінійну складність , де  — кількість тестових точок. У випадках, коли приріст точності зменшується, число ітерацій автоматично обмежується, що робить підхід обчислювально ефективним [4].
ABT має потенціал для широкого застосування в системах, де критично важлива арифметична точність: компілятори, інтерпретатори мов програмування, числові бібліотеки, а також системи комп'ютерної алгебри. Його також можна адаптувати для тестування стабільності числових алгоритмів або для верифікації точності розв’язання диференціальних рівнянь.
Ключовою ідеєю методу є перенесення адаптивності з галузі чисельної інтеграції на проблему оцінки точності арифметики. Це відкриває нові можливості для аналізу поведінки обчислювальних систем у крайових випадках, що особливо важливо для задач надійності й верифікації програмного забезпечення.
Література
1.	Metropolis N., Ulam S. The Monte Carlo Method. Journal of the American Statistical Association. 1949. Vol. 44, no. 247. P. 335–341. URL: https://doi.org/10.1080/01621459.1949.10483310 (date of access: 08.06.2025).
2.	Numerical methods for least squares problems. Choice Reviews Online. 1996. Vol. 34, no. 03. P. 34–1602–34–1602. URL: https://doi.org/10.5860/choice.34-1602 (date of access: 08.06.2025).
3.	Higham N. J. Accuracy and stability of numerical algorithms. 2nd ed. Philadelphia, PA : Society for Industrial & Applied Math, 2003. 680 p.
4.	Time bounds for selection / M. Blum et al. Journal of Computer and System Sciences. 1973. Vol. 7, no. 4. P. 448–461. URL: https://doi.org/10.1016/s0022-0000(73)80033-9 (date of access: 08.06.2025).