Macros |
#define | GIT_SHA1 sl_git_sha1 |
#define | DEBUG_SE_END_NOT_REACHED 0 |
| if 1, print block scheduler statistics whenever end of a fnc is not reached
|
#define | DEBUG_SE_FIXED_POINT 0 |
| bit mask of fixed-point debugging flags, zero means no debugging
|
#define | DEBUG_SE_NONDET_COND 0 |
#define | DEBUG_SE_STACK_FRAME 0 |
| if 1, print created/destroyed variables when running in verbose mode
|
#define | DEBUG_SYMABSTRACT 0 |
| if 1, plot each abstraction/concretization step to a separate heap graph
|
#define | DEBUG_SYMCALL 0 |
| if 1, plot some interesting operations as being performed by symcall
|
#define | DEBUG_SYMCUT 0 |
| if 1, the symcut module prints some extra debugging info
|
#define | DEBUG_SYMGC 0 |
| if 1, plot shape of the data structures being leaked
|
#define | DEBUG_SYMJOIN 0 |
| if 1, symjoin prints some extra debugging info
|
#define | DEBUG_SYMSTATE 0 |
| if 1, SymState plots heap graphs per each heap comparison (expensive)
|
#define | SE_ABSTRACT_ON_CALL_DONE 1 |
| if 1, perform abstraction after each just completed call on caller's side
|
#define | SE_ABSTRACT_ON_LOOP_EDGES_ONLY 1 |
| if 1, do not perform abstraction on each end of BB, but only when looping
|
#define | SE_ALLOW_CYCLIC_TRACE_GRAPH 0 |
| if 1, allow to replace already referenced trace graph nodes (creates cycles)
|
#define | SE_ALLOW_INT_RANGES 0x6 |
| bit mask of allowed operations on integral ranges
|
#define | SE_ALLOW_OFF_RANGES 0x1 |
| bit mask of allowed operations on values with offset specified by int ranges
|
#define | SE_ALLOW_SUBPATH_RANKING 0 |
#define | SE_ALLOW_THREE_WAY_JOIN 2 |
| how much do we allow to use three-way join
|
#define | SE_ASSUME_FRESH_STATIC_DATA 1 |
| if 1, assume that the contents of static data is initialized on first access
|
#define | SE_BLOCK_SCHEDULER_KIND 2 |
#define | SE_CALL_CACHE_MISS_THR 0x10 |
| call cache miss count that will trigger function removal (0 means disabled)
|
#define | SE_COST_OF_SEG_INTRODUCTION 0 |
| increase the cost of abstraction path consisting of concrete objects only by
|
#define | SE_COST0_LEN_THR 2 |
| abstraction length threshold for cost of path equal to 0
|
#define | SE_COST1_LEN_THR 2 |
| abstraction length threshold for cost of path equal to 1
|
#define | SE_COST2_LEN_THR 3 |
| abstraction length threshold for cost of path equal to 2
|
#define | SE_DISABLE_ALIGNMENT_TRACKING 0 |
| if 1, do not use alignment tracking unless we get it for free
|
#define | SE_DISABLE_DLS 0 |
| if 1, do not use DLS (Doubly-linked List Segment) abstraction
|
#define | SE_DISABLE_SLS 0 |
| if 1, do not use SLS (Singly-linked List Segment) abstraction
|
#define | SE_DISABLE_SYMCUT 0 |
| if 1, do not use the symcut module at all
|
#define | SE_DUMP_TRACE_GRAPHS 0 |
#define | SE_EARLY_VARS_DESTRUCTION 1 |
#define | SE_ENABLE_CALL_CACHE 1 |
#define | SE_ERROR_RECOVERY_MODE 1 |
#define | SE_FORBID_HEAP_REPLACE 0 |
| if non-zero, do not replace a previously tracked if entailed by a new one
|
#define | SE_INT_ARITHMETIC_LIMIT 10 |
| the highest integral number we can count to (only partial implementation atm)
|
#define | SE_JOIN_ON_LOOP_EDGES_ONLY 3 |
#define | SE_MAX_CALL_DEPTH 0x40 |
| maximal call depth
|
#define | SE_PLOT_ERROR_STATES 0 |
| if non-zero, plot each state that caused an error to be reported
|
#define | SE_PRESERVE_DLS_MINLEN 2 |
| preserve heaps with different DLS minimum lengths up to the specified number
|
#define | SE_RESTRICT_DLS_MINLEN 2 |
| upper bound of DLS minimal length (zero means unlimited)
|
#define | SE_RESTRICT_SLS_MINLEN 2 |
| upper bound of SLS minimal length (zero means unlimited)
|
#define | SE_STATE_ON_THE_FLY_ORDERING 1 |
#define | SE_STATE_PRUNING_MODE 1 |
#define | SE_STATE_PRUNING_MISS_THR 0x8 |
| prune non-loop blocks on reaching the count of join misses (0 means disabled)
|
#define | SE_STATE_PRUNING_TOTAL_THR 0x80 |
| prune non-loop blocks on reaching the count of states (0 means disabled)
|
#define | SE_SYMCUT_PRESERVES_MIN_LENGTHS 1 |
| if 1, the symcut module allows generic minimal lengths to survive a function call/return.
|
#define | SE_TRACK_NON_POINTER_VALUES 2 |
#define | SH_COPY_ON_WRITE 1 |
| if 1, do not make deep copy on copy of SymHeap [experimental]
|
#define | SH_DELAYED_FIELDS_DESTRUCTION 1 |
| if 1, do not destroy fields immediately as they become unused
|
#define | SH_PREVENT_AMBIGUOUS_ENT_ID 1 |
| if 1, prevent collisions on entity IDs with descendants heaps
|
#define | SYMPLOT_STOP_AFTER_N_STATES 0 |
| if more than zero, jump to debugger as soon as N graph of the same name has been plotted
|
various compile-time options
Definition in file config.h.