Object Clustering - SVF-tools/SVF GitHub Wiki

For staged analyses (currently only for flow-sensitive analysis), objects can be better mapped to identifiers for use in bit-vectors according to the auxiliary analysis's results.

Status

Merged; available in mainline.

Usage

-node-alloc-strat=dense must be used.

  • -cluster-fs: perform clustering for flow-sensitive analysis based on auxiliary Andersen's analysis (default: false).
  • -cluster-regioned: cluster one region at a time (default: true).
  • -cluster-region-aligned: align first assigned identifier in each region to the word boundary (default: true).
  • -cluster-method: clustering criterion to use; single, complete, average, or best where best performs all 3 and picks the best performing one (default: best).
  • -pt-type: bit-vector type to use for the auxiliary and main analysis; sbv, bv (unsupported with clustering), or cbv (default: sbv).

For more options to improve flow-sensitive analysis performance, see the page on hash consed points-to sets and the page on versioned staged flow-sensitive analysis.