Символическое исполнение
-
Основы символического исполнения
- Символическое исполнение позволяет анализировать программы, не запуская их.
- Используется для поиска ошибок и оптимизации кода.
-
Процесс символического исполнения
- Программа разбивается на инструкции и состояния.
- Каждое состояние анализируется отдельно, имитируя выполнение программы.
-
Проблемы и решения
- Проблемы возникают при взаимодействии с динамически изменяемыми данными.
- Инструменты решают эти проблемы, выполняя вызовы к среде напрямую или моделируя её эффекты.
-
Инструменты символического исполнения
- KLEE, Cloud9 и Otter используют моделирование для системных вызовов.
- S2E разветвляет все состояния системы для эффективного символьного выполнения.
-
История и рекомендации
- Концепция символического исполнения возникла в 1970-х годах.
- Рекомендации включают использование KLEE и других инструментов.
Полный текст статьи: