-
Notifications
You must be signed in to change notification settings - Fork 3
Collection of tasks used for evaluation of formal verification tools in the AUFOVER (Automation of Formal Verification) project.
License
aufover/aufover-benchmark
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
aufover-benchmark ================= A unified set of automated tests for multiple formal verification tools (cbmc, symbiotic, divine) as well as static analysis tools (gcc, clang, cppcheck). How to run existing tests? -------------------------- - enable yum/dnf repositories from `aufover` COPRs: $ sudo dnf copr enable -y @aufover/csdiff $ sudo dnf copr enable -y @aufover/divine $ sudo dnf copr enable -y @aufover/predator $ sudo dnf copr enable -y @aufover/symbiotic - install required/optional dependencies of the benchmark on the system: $ make install-deps - configure the benchmark: $ make - run the tests: $ make check - look for Label Time Summary in the output, it will tell you: - which tools actually ran - how many tests each of them analyzed (you need to divide the numbers by 4) - how much time it took for each of the tools Alternative ways of running tests --------------------------------- - passing custom options to ctest: $ CTEST_OPTS='-LE divine' make check # exclude Divine tests - using a custom working directory: $ mkdir /tmp/my-custom-wd $ WORKDIR=/tmp/my-custom-wd make check [-C PATH_TO_THIS_REPO] - using source directory as a working directory: $ cd tests $ cmake . $ ctest -j16 --progress # see doc/cmake.txt for other useful options - select tests by labels (expected to be run from a working directory): $ ctest --print-labels $ ctest -L cbmc $ ctest -LE EXPENSIVE - running selected tests (expected to be run from a working directory): $ ctest --show-only $ ctest -R test-0006 $ ctest -E predator-regre Formal verification of RPM packages (expensive) ----------------------------------------------- - run all tests: $ sudo dnf install cmake koji make csmock-plugin-{cbmc,divine,symbiotic} $ make check-csmock - passing custom options to ctest: $ CTEST_OPTS='-L symbiotic' make check-csmock # use only Symbiotic $ CTEST_OPTS='-R coreutils' make check-csmock # verify only coreutils $ CTEST_OPTS='--verbose' make check-csmock # provide verbose output - passing custom options to cmake: $ make check-csmock MOCK_PROFILE=fedora-34-x86_64 $ make check-csmock CSMOCK_ADD_OPTS=--use-ldpwrap Tree layout of this repository ------------------------------ /Makefile top-level Makefile (its use is optional) /doc documentation /tests source code of the benchmark /tests/CMakeLists.txt top-level CMake configuration file /tests/rpm-pkgs test-suite that uses csmock to formally verify RPM pkgs /tests/rpm-pkgs/README information specific to the rpm-pkgs test-suite /tests/single-c simplified test-suite using single C file for each test /tests/single-c/README information specific to the single-c test-suite /tests/*/sync.sh scripts for syncing of expected results (use with care) /workdir default working directory (its use is optional) /workdir-for-sync separate working directory for sync script(s)
About
Collection of tasks used for evaluation of formal verification tools in the AUFOVER (Automation of Formal Verification) project.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published