JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.

If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.

If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.

CodeSonar® 9.2p0 CONFIDENTIAL CodeSecure Inc

Performing a Fast Analysis

In many cases the default configuration file parameter settings will work well for your analyses. This section lists the parameters to concentrate on if you want to decrease analysis time.



The fast Preset

Fast analysis makes various sacrifices in order to speed up the analysis:

Note: This setting does not reduce the extra expense added by enabling MISRA warnings, if MISRA warnings have been enabled.

The fast preset collects together all the settings described below. To use the preset:

Command Line Specify -preset fast as part of your build/analysis command. For example:
codesonar analyze MyProj -preset fast localhost:7340 make
Define as a default preset Copy fast.conf from $CSONAR/codesonar/presets/ to $CSONAR/codesonar/default_presets/.
OR
Use the CodeSonar Configuration Tool Modify Analysis Settings option.
Windows Build Wizard Select fast from the Preset list on screen 2.
Eclipse Plug-In Select fast from the Presets list in the Properties dialog.
Visual Studio Plug-In Select fast from the Presets list in the Project Properties dialog.

Setting Notes

The following table suggests configuration settings to try if you want to perform faster analyses.

Parameter Notes
SEARCH_BOUND = 50 CodeSonar will explore fewer paths in a procedure before moving on. The time spent on exploration will generally decrease, which is limited by TIME_LIMIT_INTRA_EXPLORE.
PATH_FINDING_EFFORT = 250 CodeSonar will spend less time searching sets of candidates when vulnerabilities are suspected, and less effort in attempting to find warnings 'similar' to those already found. The time spent on warning resolution will generally decrease, which is limited by TIME_LIMIT_RESOLVE.
MAX_ATTEMPTED_SIMILAR_PATHS = 1 CodeSonar will try to find sets of warnings 'similar' to those already found.
MAX_SUMMARIES_PER_PROCEDURE = 3
MAX_CHECKED_INPUTS_PER_PROCEDURE = 30
MAX_CHECKS_PER_INPUT = 5
MAX_EXPRESSION_COMPLEXITY = 24
MAX_MODIFIED_VALUES = 50
Decreasing these values can speed up the analysis and use less memory, at the cost of a less precise analysis.
TIME_LIMIT_INTRA_EXPLORE = 10
TIME_LIMIT_INTRA_CLASSIFY = 4
TIME_LIMIT_INTER_CLASSIFY = 4
TIME_LIMIT_RESOLVE = 8
TIME_LIMIT_REFINE = 8
TIME_LIMIT_LEAK_CLASSIFY = 10
TIME_LIMIT_LEAK_REFINE = 30
TIME_LIMIT_PROP_EXHAUSTIVE = 30
CodeSonar will spend less time per procedure on various aspects of the analysis before moving on.
DP_REFINEMENT_APPROXIMATE = No CodeSonar will spend less time trying to rule out false-positive warnings before reporting them.
FUNCTION_POINTER_RESOLUTION = No CodeSonar will not perform function pointer resolution, resulting in less precise analysis results.
TAINT_HIGHLIGHTING = No
TAINT_MAX_EXPRESSION_COMPLEXITY = 20
TAINT_MAX_MODIFIED_VALUES = 50
TAINT_MAX_CHECKED_INPUTS_PER_PROCEDURE = 50
TAINT_MAX_WARNING_PATH_LENGTH = 5000
These settings can speed up the analysis and cause the analysis to use less memory, at the cost of less precise taint analysis.
WARNING_FILTER += discard class="Tainted Buffer Access" Disables Tainted Buffer Access warnings to increase analysis speed.
CALL_SITE_EXPANSION_BOUND = 10 Further limits (beyond the factory setting of 30) the nesting depth of call site expansions.
 

To report problems with this documentation, please visit https://support.codesecure.com/.