Меня заинтересовали и искали практические примеры использования SMT Z3 (например, DbC) с использованием кода и альтернатив с открытым исходным кодом для этого инструмента. Таким образом, на самом деле, я заинтересован в подобных Z3 Формальных разрешающих инструментах, но:Ищете практические примеры использования SMT Z3 (например, DbC) и альтернативу Z3 с открытым исходным кодом?
- он должен быть открытым исходным кодом
- обеспечивает как низкий уровень (API) и высокий уровень (текст сценарии) взаимодействия поддержка
- SMT-LIB
- подходит (использовать) в инструментах/написанными в/для языков, как Java, Python, Ruby, Вала и не Haskell
- имеет стабильные (используемые на практике) инструменты, основанные на нем, как дизайн по контракту (DbC), проверка статического типа и т. д.
По SMT-LIB домашней страницы (см bit.ly свертка для деталей) список 2010 SMT решателей: «Alt-Ergo, Barcelogic, Beaver, Boolector, CVC3, ДПТ, MathSAT, OpenSMT, сатин, Копье, STP, SWORD, UCLID, veriT, Yices, Z3. "
Просьба дать любые отзывы об использовании любого из них на практике (примеры кода являются лучшими)?
И, наконец, любая информация о сравнении его с возможностями GHC будет полезна, но только в случае, если есть пример реализации (а не язык).
Более быстрая информация о Z3 здесь http://bit.ly/bundles/ewiger/1