Summaries

Summaries are the mechanism used by CodeSonar to describe the effect of a procedure on its parameters, return value and/or calling environment. Procedures that have different effects under different conditions will have multiple corresponding summaries.

Example

int abs(int num){
    if (num < 0)
        return -num;
    return num;
}

For the function abs shown above, CodeSonar will store two summaries, one each for the two possible situations:

Procedure summaries are computed during the bottom-up analysis phase.

Configuration Parameters

The following configuration file parameters control various aspects of summaries.

MAX_MODIFIED_VALUES Controls how many summaries per procedure will be stored in memory.
MAX_SUMMARIES_PER_PROCEDURE Specifies a per-procedure bound on the number of modified values (outputs) that CodeSonar will keep track of in procedure summaries.
ROLLBACK_SUMMARIES_ON_ABORT Specifies whether or not function summaries will be rolled back if TIME_LIMIT_INTRA_EXPLORE expires.
TAINT_MAX_MODIFIED_VALUES For the taint analysis, specifies a per-procedure bound on the number of modified values (outputs and side effects) that CodeSonar will keep track of in procedure summaries.