КОМПОЗИТНА ОЦІНКА РИЗИКУ ПЕРЕПОВНЕННЯ БУФЕРА І ЇЇ ТРАНСЛЯЦІЯ В ДІЇ CI/CD
DOI:
https://doi.org/10.31891/2219-9365-2025-84-10Ключові слова:
переповнення буфера, статичний аналіз, критичність, композитний ризик, CI/CD-гейти, SLAАнотація
У роботі представлено відтворюваний метод управління ризиками переповнення буфера в C/C++ у рамках CI/CD-пайплайнів, який поєднує прозорі, автоматизовані інженерні дії з формальною оцінкою критичності. Відповідно до чотирирівневої стратифікації за ступенем серйозності, запропонований комплексний показник включає індикатори ризику на рівні шляху та локальні індикатори ризику, а також враховує специфічну поведінку класу (стек/купа/один поза межами). Ми визначаємо тригери виправлення для операційної інтеграції: політики часу виправлення (SLA) з чіткими термінами та рішеннями конвеєра (пропустити, попередити з квитком, заблокувати) негайно запускаються при відсутності перевірок меж та порушеннях індексації. Фіксація профілів препроцесора та версій інструментарію, реєстрація маніфестів виконання та збереження артефактів аудиту (звіти SARIF/HTML, параметри середовища та журнали рішень) допомагають гарантувати відтворюваність. Ми порівнюємо цей підхід з cppcheck, flawfinder та базовим рівнем на основі зору (YOLO) у нашому експериментальному дослідженні, яке охоплює шість відкритих проектів C/C++ за двома профілями збірки (Debug/Release). Згідно з оцінками точності, відтворюваності, F1, специфічності, стабільності між запусками та часу аналізу кожного файлу, запропонований метод підтримує затримку, прийнятну для CI/CD, одночасно досягаючи вищого F1 та специфічності, а також найкращої відтворюваності між декількома запусками. Крім того, інтегрований у SLA робочий процес покращує надійність випуску та знижує операційний ризик на етапі PR/commit, збільшуючи відсоток випадків високої/критичної важливості, які вирішуються вчасно. Враховуючи все вищезазначене, формалізація критичності та поєднання її з контрольними точками якості та тригерами виправлення призводить до закритого циклу “виявлення–виправлення–верифікація”, який працює з різними конфігураціями збірки, мовами та репозиторіями.
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2025 ЄВГЕНІЙ СЄРГЄЄВ

Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License.