This tool is designed to check the safety or unsafety of CINT Programmes. It leverages ANTLR4 for parsing and the LoAT API for model checking.
- Parse CINT files.
- Perform Safety and Unsafety analysis.
- Easy-to-use command-line interface (CLI).
- C++17 or later
- ANTLR4 Runtime
- LoAT API
- A C++ compiler like
g++,clang++, or MSVC.
Everything is included either in the devcontainer or will be automatically fetched via GitHub.
mkdir build
cd build
cmake -S .. -B .
make install -j$(nproc)./UnSafetyChecker [input_file] [--safety | --unsafety]input_file: Path to the.cintfile to analyze.--safety: Run the safety checker (default mode).--unsafety: Run the unsafety checker.--help: Display the help page with usage instructions.--version: Display the version information.
Check if the program is safe:
./UnSafetyChecker example.cint --safetyCheck if the program is unsafe:
./UnSafetyChecker example.cint --unsafetyDisplay help:
./UnSafetyChecker --helpDisplay version:
./UnSafetyChecker --versionThe program will output whether the CINT program is SAFE, UNDECIDED/UNSAFE, or NON UNSAFE based on the selected mode.
Example output for safe programm in safety mode:
======== Safety Check ========
Program is SAFE
Example output for safe programm in unsafety mode:
======== Unsafety Check ========
Program is NON UNSAFE
See LICENSE File.