Теории выполнимости по модулю

Оглавление1 Теории выполнимости по модулю1.1 Основы SMT1.2 Применение SMT1.3 Примеры SMT-решателей1.4 Дополнительные инструменты и приложения1.5 Библиография1.6 Полный текст статьи:2 Теории […]

Теории выполнимости по модулю

  • Основы SMT

    • SMT (Satisfiability Modulo Theories) – это метод решения задач, основанный на теории выполнимости. 
    • SMT-решатели используют логические методы для проверки выполнимости формул. 
  • Применение SMT

    • SMT используется в различных областях, включая верификацию программного обеспечения и анализ безопасности. 
    • SMT-решатели применяются в разработке программного обеспечения, тестировании и анализе. 
  • Примеры SMT-решателей

    • Z3 – популярный SMT-решатель, поддерживающий множество языков программирования. 
    • Boogie – промежуточный язык верификации, использующий Z3 для проверки императивных программ. 
    • F * – язык с зависимыми типами, использующий Z3 для доказательства теорем. 
    • Viper – инфраструктура верификации, кодирующая условия верификации в Z3. 
    • sbv – библиотека для проверки программ на Haskell с поддержкой различных SMT-решателей. 
  • Дополнительные инструменты и приложения

    • SAGE, KLEE, S2E и Triton – инструменты для символьного выполнения программ. 
    • Coq и Isabelle/HOL – помощники по проверке, интегрированные с SMT-решателями. 
  • Библиография

    • Статья основана на работе Лонкарика, Кальвина и др. “Практическая основа для объяснения ошибок при выводе типа”. 
    • Ссылки на SMT-LIB и SMT-COMP для получения дополнительной информации. 

Полный текст статьи:

Теории выполнимости по модулю — Википедия

Оставьте комментарий

Прокрутить вверх