in source/Options.cpp [224:336]
void Options::add_options(
boost::program_options::options_description& options) {
options.add_options()(
"system-jar-paths",
program_options::value<std::string>()->required(),
"A JSON configuration file with a list of paths to the system jars.");
options.add_options()(
"apk-directory",
program_options::value<std::string>()->required(),
"The extraced APK obtained by `redex -u`.");
options.add_options()(
"dex-directory",
program_options::value<std::string>()->required(),
"The extraced DEX obtained by `redex -u`.");
options.add_options()(
"models-paths",
program_options::value<std::string>(),
"A `;` separated list of models files and directories containing models files.");
options.add_options()(
"rules-paths",
program_options::value<std::string>()->required(),
"A `;` separated list of rules files and directories containing rules files.");
options.add_options()(
"proguard-configuration-paths",
program_options::value<std::string>(),
"A `;` separated list of ProGuard configuration files or directories containing ProGuard configuration files.");
options.add_options()(
"lifecycles-paths",
program_options::value<std::string>(),
"A `;` separated list of files and directories containing life-cycles files.");
options.add_options()(
"generated-models-directory",
program_options::value<std::string>(),
"Directory where generated models will be stored.");
options.add_options()(
"model-generator-configuration-paths",
program_options::value<std::string>()->required(),
"A `;` separated list of JSON configuration files each specifying a list of absolute paths to JSON model generators or names of CPP model generators.");
options.add_options()(
"model-generator-search-paths",
program_options::value<std::string>(),
"A `;` separated list of paths where we look for JSON model generators.");
options.add_options()(
"repository-root-directory",
program_options::value<std::string>()->required(),
"The root of the repository.");
options.add_options()(
"source-root-directory",
program_options::value<std::string>()->required(),
"The root where source files for the APK can be found.");
options.add_options()(
"source-exclude-directories",
program_options::value<std::string>(),
"A `;`-separated list of directories that should be excluded from indexed source files.");
options.add_options()(
"apk-path",
program_options::value<std::string>()->required(),
"The APK to analyze.");
options.add_options()(
"output-directory",
program_options::value<std::string>()->required(),
"Directory to write results in.");
options.add_options()(
"sequential", "Run the global fixpoint without parallelization.");
options.add_options()(
"skip-source-indexing", "Skip indexing java source files.");
options.add_options()(
"skip-model-generation", "Skip running model generation.");
options.add_options()(
"disable-parameter-type-overrides",
"Disable analyzing methods with specific parameter type information.");
options.add_options()(
"remove-unreachable-code",
"Prune unreachable code based on entry points specified in proguard configuration.");
options.add_options()(
"maximum-method-analysis-time",
program_options::value<int>(),
"Specify number of seconds as a bound. If the analysis of a method takes longer than this then make the method obscure (default taint-in-taint-out).");
options.add_options()(
"maximum-source-sink-distance",
program_options::value<int>(),
"Limits the distance of sources and sinks from a trace entry point.");
options.add_options()(
"log-method",
program_options::value<std::vector<std::string>>()->multitoken(),
"Enable logging for the given methods.");
options.add_options()(
"dump-class-hierarchies",
"Dump the class hierarchies in `class_hierarchies.json`.");
options.add_options()(
"dump-overrides", "Dump the override graph in `overrides.json`.");
options.add_options()(
"dump-call-graph", "Dump the call graph in `call_graph.json`.");
options.add_options()(
"dump-dependencies", "Dump the dependency graph in `dependencies.json`.");
options.add_options()(
"dump-methods", "Dump the list of method signatures in `methods.json`.");
options.add_options()(
"job-id",
program_options::value<std::string>(),
"Identifier for the current analysis run.");
options.add_options()(
"metarun-id",
program_options::value<std::string>(),
"Identifier for a group of analysis runs.");
}