Композитна оцінка ризику переповнення буфера і її трансляція в дії CI/CD

Вантажиться...
Ескіз
Дата
2025
Назва журналу
Номер ISSN
Назва тому
Видавець
Хмельницький національний університет
Анотація
У роботі представлено відтворюваний метод управління ризиками переповнення буфера в C/C++ у рамках CI/CDпайплайнів, який поєднує прозорі, автоматизовані інженерні дії з формальною оцінкою критичності. Відповідно до чотирирівневої стратифікації за ступенем серйозності, запропонований комплексний показник включає індикатори ризику на рівні шляху та локальні індикатори ризику, а також враховує специфічну поведінку класу (стек/купа/один поза межами). Ми визначаємо тригери виправлення для операційної інтеграції: політики часу виправлення (SLA) з чіткими термінами та рішеннями конвеєра (пропустити, попередити з квитком, заблокувати) негайно запускаються при відсутності перевірок меж та порушеннях індексації. Фіксація профілів препроцесора та версій інструментарію, реєстрація маніфестів виконання та збереження артефактів аудиту (звіти SARIF/HTML, параметри середовища та журнали рішень) допомагають гарантувати відтворюваність. Ми порівнюємо цей підхід з cppcheck, flawfinder та базовим рівнем на основі зору (YOLO) у нашому експериментальному дослідженні, яке охоплює шість відкритих проектів C/C++ за двома профілями збірки (Debug/Release). Згідно з оцінками точності, відтворюваності, F1, специфічності, стабільності між запусками та часу аналізу кожного файлу, запропонований метод підтримує затримку, прийнятну для CI/CD, одночасно досягаючи вищого F1 та специфічності, а також найкращої відтворюваності між декількома запусками. Крім того, інтегрований у SLA робочий процес покращує надійність випуску та знижує операційний ризик на етапі PR/commit, збільшуючи відсоток випадків високої/критичної важливості, які вирішуються вчасно. Враховуючи все вищезазначене, формалізація критичності та поєднання її з контрольними точками якості та тригерами виправлення призводить до закритого циклу “виявлення–виправлення–верифікація”, який працює з різними конфігураціями збірки, мовами та репозиторіями.
We describe a reproducible method for buffer-overflow risk management in C/C++ within CI/CD pipelines that combines transparent, automatable engineering actions with a formal criticality assessment. Following a four-level severity stratification, the suggested composite metric incorporates path-level and local risk indicators and takes class-specific behavior (Stack/Heap/Off-byone) into consideration. We define fix triggers for operational integration: time-to-fix policies (SLA) with clear deadlines and pipeline decisions (pass, warn with ticket, block) are immediately triggered by missing boundary checks and indexing violations. Pinning preprocessor profiles and toolchain versions, logging run manifests, and preserving audit artifacts (SARIF/HTML reports, environment parameters, and decision logs) all help to guarantee reproducibility. We benchmark the approach against cppcheck, flawfinder, and a vision-based baseline (YOLO) in our experimental study, which covers six open-source C/C++ projects under two build profiles (Debug/Release). According to evaluations of precision, recall, F1, specificity, run-to-run stability, and per-file analysis time, the suggested method maintains CI/CD-feasible latency while achieving higher F1 and specificity as well as the best reproducibility across multiple runs. Additionally, the SLA-integrated workflow improves release reliability and lowers operational risk at the PR/commit stage by increasing the percentage of High/Critical cases that are resolved on time. All things considered, formalizing criticality and combining it with quality gates and fix triggers results in a closed “detection–fix–verification” loop that works with different build configurations, languages, and repositories.
Опис
Ключові слова
переповнення буфера, статичний аналіз, критичність, композитний ризик, CI/CD-гейти, SLA, buffer overflow, static analysis, criticality, composite risk, CI/CD gates, SLA
Бібліографічний опис
Сєргєєв Є. Композитна оцінка ризику переповнення буфера і її трансляція в дії CI/CD / Є. Сєргєєв // Вимірювальна та обчислювальна техніка в технологічних процесах. – 2025. – № 4. – С. 89-94.
Зібрання