Static Analysis is a deprecated feature.
Static Analysis is not supported on OS X* systems.
To build your application for static analysis in Microsoft Visual Studio*, use the Build for Intel Static Analysis menu option.
There are several forms of the Build for Intel Static Analysis menu option, including:
- Build solution for Intel Static Analysis.
- Rebuild solution for Intel Static Analysis.
- Build <projectname> for Intel Static Analysis.
- Rebuild <projectname> for Intel Static Analysis.
Setting the Intel_SSA Configuration
The first time Build for Intel Static Analysis is selected, a Create configuration dialog box appears to create a new build configuration for static analysis called Intel_SSA with the required properties for Visual Studio*.
In the Create configuration dialog box, set the following:
Copy configuration settings from: Specify the configuration from which settings should be copied.
Level of Static Analysis: Select the desired level of analysis.
Mode of Static Analysis: Choose one of the following modes:
- Full Security Scan: Minimize false negatives or missed errors but also increases chances of false positives. Use this option for security assurance.
- Concise: Reduce false positives by tolerating a higher number of false negatives. Use this option for general error detection.
- Precise: Minimize false positives but also increases the chances of false negatives. Use this option for quick source screening.
Additional Options: Choose these options to analyze include files, individual files, or to treat enumerations as known ranges.
- Analyze Include Files: Select this box to report errors in the system include files.
- Analyze Files Individually: Select this box to analyze files individually. This option requires less analysis time and memory on large programs but can also result in finding fewer errors.
- Treat Enumerations As Known Ranges: Select this box to treat enumeration variables like known range-bound values. This option finds more real errors but increases the chances of false positives.
Build for Static Analysis after creating configuration: Check this box to create a new configuration called Intel_SSA build the selected project(s) using static analysis. If the checkbox is not checked, configuration for static analysis will be created and will run the next time Build for Intel Static Analysis is selected.
Performing static analysis for an Intel® C++ Solution
To perform static analysis on Intel® C++ solutions and projects:
- Choose Build for Intel Static Analysis (or one of the variant forms).
- Configure the Intel_SSAConfiguration (if prompted).
Analysis results will open automatically in the Intel® Inspector XE user interface.
Using static analysis for a Visual C++* Solution or a Mixed Solution
To perform static analysis on Visual C++* only solutions and projects or on a mixed solution containing both Intel® C++ and Visual C++* projects, do the following:
- Choose Build for Intel Static Analysis.
Note
Existing configurations will not be modified. The Solution Explorer view will show a different icon to indicate that a project configuration is built by the Intel® C++ Compiler.
Analysis results will open automatically in the Intel® Inspector XE user interface.
Note
Preparing a Visual C++* project for use with static analysis does not cause the existing configurations to build with the Intel compiler. However, it does modify the solution (.sln) file and adds an Intel project (.icproj) file for each prepared project. After these changes, the solution will no longer build on systems where the Intel® C++ Compiler is not installed. In a team environment where some team members will not install the Intel® C++ Compiler, it is best to treat these modifications as temporary and discard them after running static analysis. You can always use the menu item to perform the preparation step again as needed.
Modifying the Intel_SSA Configuration
There are several Visual Studio* IDE property pages related to static analysis. You can change the options for static analysis by modifying the properties for the Intel_SSA configuration. To do this, use the following property pages:
- C/C++> Diagnostics> Level of Static Analysis
C/C++> Diagnostics> Analyze Include Files
C/C++> Diagnostics> Analysis results container
The default location is My Inspector XE Results-<product name> directory in the project root directory.
C/C++> Diagnostics> Mode of Static Analysis
C/C++> Diagnostics> Analyze Files Individually
C/C++> Diagnostics> Treat Enumerations as Known Ranges