GSAF ==== GSAF is a path-sensitive bug-finding engine over Lotus's guarded value-flow IR (GVFG). Run it through the unified checker frontend:: lotus-check --engine=gsaf --checks=taint,use-after-free input.bc lotus-check --engine=gsaf --checks=all --report-json=report.json input.bc The engine implementation is in ``lib/Checker/GSAF``. Library contracts reuse ``Annotation/APISpec`` and ``Annotation/Taint``. Build the ``GSAF`` library or ``lotus-check`` executable. Run existing component tests with:: build/bin/tests/checker_tests --gtest_filter='GSAF*' Organization ------------ Public headers mirror the implementation directories: * ``API``: vulnerability contracts, traces, registration and annotation model queries. * ``Engine``: four header/source pairs for the module checker, taint traversal, solver and summaries. * ``Checkers``: the two built-in checks (use after free and taint). * ``Report``: diagnostic rendering and trace scoring. * ``Support``: GSAF-specific options, queries, masks and object ordering. Reusable analyses and reporting primitives live in their respective Lotus subsystems. Framework diagnostic events and composition extend ``DiagnosticEvent`` and ``CheckerDiagnostic``; all report steps use ``BugReport``. LLVM/GVFG narrative rendering belongs to GSAF. See ``lib/Checker/GSAF/README.md`` for the dependency boundaries. The per-function engine is ``Engine/FunctionAnalyzer``. Checker trace containers, reporting metadata, and the LLVM value-pair representation live in ``Checker/Framework/ValueTrace.h`` and ``Checker/Framework/LLVMValueTrace.h``. Graph-specific traces and conversion live in ``IR/GVFG``.