Безопасность цифровых технологий

БЕЗОПАСНОСТЬ ЦИФРОВЫХ ТЕХНОЛОГИЙ

БЕЗОПАСНОСТЬ
ЦИФРОВЫХ ТЕХНОЛОГИЙ

English | Русский

Последний выпуск
№1(116) Январь - Март 2025

О методе анализа программ

Выпуск № 4 (78) Октябрь - Декабрь 2014
Авторы:

А.А. ВОЕВОДА,
Д.О. РОМАННИКОВ
DOI: http://dx.doi.org/10.17212/2307-6879-2014-4-125-138
Аннотация


Данная работа посвящена разбору метода анализа программного обеспечения, основанного на принципе выявления всех возможных значений переменных и нахождения при помощи этого ошибок путем проверки верифицируемых формул на всех возможных значениях переменных. В работе рассмотрены примеры, на которых показаны основные принципы предлагаемого метода анализа ПО, а именно: пример программы с циклом, который показывает, каким образом можно выполнить сворачивание полного графа к «линейным» участкам программы, а затем выполнить их анализ. Вторым принципом рассматриваемого метода является анализ ПО «линейно», т. е. постепенный анализ каждой ветки программы. При этом отдельный анализ можно выполнять с места ветвления без необходимости выполнения полного анализа сначала. В работе приведены многочисленные примеры того, как необходимо выполнить разбиение основной программы на ветки. Главной особенностью такого разбиения является сохранение малого количества ветвлений. Приведена формальная семантика описания программы, предложенная П. Коусотом и используемая для формализованного описания алгоритмов анализа ПО. Исходная семантика была упрощена в части описания узлов графа – убраны лишние узлы, так как они не актуальны после преобразования графа, и расширена функция поиска возможных значений переменных после исполнения оператора. Также показано, каким обзором можно определить функцию поиска возможных вариантов переменных для бинарных и унарных операций путем ее определения для операций умножения и логического отрицания. Для остальных операций данная функция может быть легко построена по аналогии.

 
Ключевые слова: программное обеспечение, тестирование, входные интервалы, формальная верификация, динамическая верификация, верификация, проверка моделей, модели программного обеспечения, графы, тотальная корректность программ
Просмотров: 3528