smack

SMACK Software Verifier and Verification Toolchain

Github stars Tracking Chart

master Build Status develop Build Status

SMACK is both a modular software verification toolchain and a
self-contained software verifier. It can be used to verify the assertions
in its input programs. In its default mode, assertions are verified up to a
given bound on loop iterations and recursion depth; it contains experimental
support for unbounded verification as well. SMACK handles complicated feature
of the C language, including dynamic memory allocation, pointer arithmetic, and
bitwise operations.

Under the hood, SMACK is a translator from the LLVM
compiler's popular intermediate representation (IR) into the
Boogie intermediate verification language (IVL).
Sourcing LLVM IR exploits an increasing number of compiler front-ends,
optimizations, and analyses. Currently SMACK only supports the C language via
the Clang compiler, though we are working on providing
support for additional languages. Targeting Boogie exploits a canonical
platform which simplifies the implementation of algorithms for verification,
model checking, and abstract interpretation. Currently, SMACK leverages the
Boogie and Corral
verifiers.

See below for system requirements, installation, usage, and everything else.

We are very interested in your experience using SMACK. Please do contact
Zvonimir or
Michael with any possible feedback.

Support

Acknowledgements

SMACK project is partially supported by NSF award CCF 1346756 and Microsoft
Research SEIF award. We also rely on University of Utah's
Emulab infrastructure for extensive benchmarking of
SMACK.

Table of Contents

  1. System Requirements and Installation
  2. Running SMACK
  3. Demos
  4. FAQ
  5. Inline Boogie Code
  6. Contribution Guidelines
  7. Projects
  8. Publications
  9. People

Main metrics

Overview
Name With Ownersmackers/smack
Primary LanguageC
Program languageCMake (Language Count: 11)
Platform
License:Other
所有者活动
Created At2012-07-30 15:32:57
Pushed At2025-04-18 22:59:27
Last Commit At
Release Count32
Last Release Namev2.8.0 (Posted on )
First Release Name1.2 (Posted on 2013-07-03 14:55:39)
用户参与
Stargazers Count438
Watchers Count23
Fork Count83
Commits Count3.1k
Has Issues Enabled
Issues Count454
Issue Open Count103
Pull Requests Count273
Pull Requests Open Count7
Pull Requests Close Count46
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private