How CodeSonar Licensing Works

The CodeSonar hub enforces the limits set in the CodeSonar license. You can use the CodeSonar Web GUI to review licensed limits on resources, inspect details of the current utilization of those resources, and instruct the hub to read a new or updated license.



License Installation and Updates

Information about setting up a CodeSonar license is in section Installation: Hub Setup: Hub License. There is a separate section for floating licenses.

These instructions cover both initial license setup and applying an updated license (for example, because you have purchased an amendment to allow additional licensed resources, you will need to apply the updates).

To install or update a hub license, you must be signed in as a user with the following permissions. The special Administrator user account will always be a suitable option, as will any other user that is assigned the special Administrator role.

Accepting the License Agreement

You must accept the license agreement before you can build/analyse projects or start a hub.

The Windows installer for CodeSonar includes a license screen: you will need to accept the license by clicking I Agree in order for installation to proceed.

Licensed Resources

Your CodeSonar license may include limits on the following:

These resources, how they are counted, and how they can be recovered, are discussed below.

License Charges

The total number of license units available.

Each file that is analyzed incurs a charge against the license.

For source files, a license unit is a Line With Code.

The following are some typical scenarios in which you may reach your license-charge limit.

Active Users

The total number of user accounts that can be active at one time. An active account is defined as one for which at least one of the associated roles has G_SIGN_IN permission.

Note in particular that the license does not limit the number of user accounts that can be created, just the number that can be simultaneously active.

If you are reaching your limit for active users, you have two options.

Concurrent Analyses

The total number of analyses that may be running and sending their results to the hub at any one time.

If you are reaching your limit for concurrent analyses, contact sales@codesecure.com to purchase a license for additional concurrent analyses.

Anonymous Sessions

The total number of anonymous sessions that can be connected to the hub at any one time.

When a user starts an anonymous session, the hub checks for an available licensed anonymous session slot.

If you are reaching your limit for anonymous sessions, you have two options.

User Sessions

The total number of user sessions that can be running on the hub at any one time.

When a user creates a user session, for example by signing in to the hub's web GUI, the hub checks for an available licensed user session slot.

If you are reaching your licensed limit for user sessions, you have two options.

Getting Information About License Utilization

Information about your license limits on resources, and your current utilization of those resources, is available in the CodeSonar Web GUI.

Licensed Behavior

Some hub behavior is not available when there is no license, or when there is a license but certain license limits have been exhausted. We refer to these cases as corresponding to an unlicensed state.

License Restrictions: Running an Analysis

A new analysis cannot be started by any user if the hub is in an unlicensed state. Analyses that are already running will not be affected by changes in licensing status.

If the hub is in an unlicensed state but is at its licensed limit for concurrent analyses, a new analysis will be delayed until a licensed concurrent analysis slot opens up.

License Restrictions: Web GUI Sessions

When a user session or anonymous session is in an unlicensed state, the hub behaves as if the user does not have any of the following permissions for any resource, even if they would otherwise have those permissions through their assigned roles (for anonymous sessions, these are the roles for special user Anonymous).

In general terms, this means that the user will not be able to view or perform any operations on warnings, and will not be able to modify analysis information. For example: