blob: 50d5ccf510822632989300332291fc59aa70e014 [file] [view] [edit]
# Summary Extraction
:::{WARNING}
The framework is rapidly evolving.
The documentation might be out-of-sync with the implementation.
The purpose of this documentation is to give context for upcoming reviews.
:::
## Command-line interface
Two flags control summary extraction:
- `--ssaf-extract-summaries=<name1>,<name2>,...`: Comma-separated list of summary extractor names to enable.
- `--ssaf-tu-summary-file=<path>.<format>`: Output file for the extracted summaries. The file extension selects the serialization format (e.g. `.json`).
- `--ssaf-list-extractors`: List the available summary extractors.
- `--ssaf-list-formats`: List the available serialization formats.
Example invocation:
```bash
clang --ssaf-extract-summaries=MyAwesomeAnalysis \
--ssaf-tu-summary-file=my-tu-summary.json \
-c input.cpp -o input.o
clang --ssaf-list-extractors --ssaf-list-formats
```
## Diagnostics
In case the `--ssaf-*` flags are used incorrectly, or some extractor fails to implement the desired serialization format
or just happens to have an error, then the error is forwarded as a `scalable-static-analysis-framework` error.
These errors can be downgraded into warnings using `-Wno-error=scalable-static-analysis-framework`.
These errors can be completely suppressed using `-Wno-scalable-static-analysis-framework`.
See the [diagnostic flags](https://clang.llvm.org/docs/DiagnosticsReference.html#wscalable-static-analysis-framework) for the full list of diagnostics controlled by `-Wscalable-static-analysis-framework`.