About Choosing Problems

During dynamic analysis, the Intel® Inspector displays problems in the order detected in the Problems pane.

After dynamic or static analysis is complete, the Intel Inspector:

  • Groups problems detected during dynamic analysis into problem sets (but still provides visibility into individual problems and problem occurrences).

  • Prioritizes the items (problem sets for dynamic analyses and problems for static analyses) in the Problems pane.

  • Offers filtering to help you focus on those items that require your attention. For example, you can temporarily limit the items displayed in the Problems pane by:

About Prioritization

Intel Inspector assigns problems a severity level: Critical (Critical severity icon), Error (Error severity icon) and Warning (Warning severity icon). The severity indicates the seriousness of the defect.

Dynamic analysis problem sets inherit the severity of the problems they contain. The Intel Inspector prioritizes dynamic analysis problem sets first by severity and then by number of code locations. Problem sets containing more code locations precede those containing fewer.

Intel Inspector prioritizes static analysis problems by Weight - a number between 0 and 100 that combines into a single value the severity level and the probability the problem indicates a true error.

Think of this prioritized list of items on the Problems pane as a to-do list. Start at the top and work down.

Note

  • Static analysis problems represent potential errors and security weaknesses. You must determine if a detected problem is a real issue in your application.

  • Static analysis problems with a higher weight level are more likely to be real issues and to indicate more serious security weaknesses than problems with a lower weight level; however, even a problem with a low weight level can indicate a serious issue. For example, an unused variable value problem indicates a variable was assigned and never read. This problem type has Warning level severity and relatively low weight; however, it might be the only indication the value returned from an API function was never checked for success.

About Filtering by Inclusion

Use the Intel Inspector filtering function to temporarily limit the items in the Problems pane to:

  • Only those dynamic analysis problem sets containing problems that meet specific criteria

  • Only those static analysis problems that meet specific criteria

For example, you can filter the list to show only those dynamic analysis problem sets containing problems...

  • With Investigated=Not investigated to show only problem sets with a state of New, Not fixed, or Regression (that is, hide the problem sets you have already investigated)

  • Or with State=Not fixed and Severity=Error

  • Or with State=Not fixed and Severity=Error and Type=Data Race

  • Or in a specific file

About Filtering by Exclusion

Use the Intel Inspector filtering function to temporarily set aside occurrences of the same, possibly false positive, items en masse in the Problems pane. This is particularly useful when handling large static analysis results. For example:

  1. In the Investigated category in the Filters pane on the Summary window, choose Not investigated to display only problems with a state of New, Not fixed, or Regression.

    Note

    If this is the first result of this analysis type, or if you chose the Do not get problem states from another result option on the State Management page of the product Options dialog box during startup, all problems have a state of New.

  2. Click the Sort drop-down list in the Filters pane and choose Sort by Item Count to sort remaining problems by count in descending numerical order.

  3. In the Type category in the Filters pane, choose the problem type with the highest item count to display only those problems in the Problems pane.

  4. Click on any problem in the Problems pane, then press Ctrl+A to select all problems.

  5. Right-click any of the selected problems to display a context menu, then choose Change State > Not a Problem to change the state of all selected problems.

  6. In the Type category, click the All button to deselect problem criteria.

  7. Repeat steps 3 - 6 for each problem type with many occurrences.

  8. Start working the remaining problems.

Be aware that when you temporarily set aside problems en masse, you may inadvertently set aside a problem of interest. For example, if you are not responsible for problems in source file A and you:

  1. Use the filtering function to select all problems in source file A.

  2. Set the state for all problems in source file A to Not a problem.

Some of these problems may touch more than one source file, such as a double-free problem with an allocation code location in a source file for which you are not responsible, but two free operation code locations in a source file for which you are responsible. When you filter on a source file, you filter on all problems intersecting that source file. The fact that a problem has some intersection with a file for which you are not responsible does not mean the problem does not concern you.

However if you are responsible for source files A, B, and C, you can filter first to source file A, then to source file B, then to source file C. You may see some problems more than once, but you will ultimately investigate all problems in files for which you are responsible.

About Filtering by a Set of Source Files

Use the Intel Inspector filtering function to temporarily limit the items in the Problems pane to those from a set of source files. This is useful when handling large static analysis results.

See Also


Supplemental documentation specific to a particular Intel Studio may be available at <install-dir>/<studio>/documentation/.

For more complete information about compiler optimizations, see our Optimization Notice.