How to use VaRA (Overview)¶
Overall, VaRA is built for two different usage scenarios:
Running a static analysis to directly generate analysis result either during compile time or in a post processing step.
Running a dynamic analysis, by instrumeting the binary during compile time and then later producing the analysis data during execution.
Currently, VaRA implements two high-level concepts and some accompanying analysis pipelines for them, one for analyzing repository meta-data and one for analyzing software features, both are described below in more detail.
Highlight Analysis¶
Repository Analysis¶
Feature Analysis¶
Instrumentations¶
VaRA can automatically add instrumentation code around detected regions.
To enable this, specify a region detection strategy, enable the tracing code with CXX_FLAGS += -fsanitize=vara and specify the wanted instrumention code with -fvara-instr=INSTR_TYPE.