Символьное выполнение — это метод тестирования программного обеспечения, который полезен для генерации тестовых данных и подтверждения качества программы.
Выполнение требует выбора путей, которые осуществляются набором значений данных. Программа, которая выполняется с использованием фактических данных, приводит к выводу ряда значений.
В символьном исполнении данные заменяются символическими значениями с набором выражений, по одному выражению на выходную переменную.
Общий подход к символьному выполнению состоит в том, чтобы выполнить анализ программы, что приводит к созданию потокового графа.
Блок-схема идентифицирует точки принятия решений и назначения, связанные с каждым потоком. При обходе потокового графа из точки входа создается список операторов присваивания и предикатов ветвления.
Символьное выполнение не может продолжаться, если известно число итераций в цикле.
Вторая проблема — это вызов любого внешнего кода или вызовов модуля.
Символическое выполнение не может использоваться с массивами.
Символическое исполнение не может идентифицировать невозможные пути.
Проверка пути к домену
Генерация тестовых данных
Анализ разделов
Символическая отладка