Main Content

Generate Build Options for Polyspace as You Code Analysis in Visual Studio

Polyspace® as You Code checks the source code file that is currently active in Visual Studio® for bugs and coding standards violations.

So that the analysis runs without errors, provide Polyspace as You Code with the specifics of your build configuration, such as data type sizes and compiler macro definitions. To provide your build configuration information, you can:

  • Configure Polyspace as You Code to extract the build configuration information from your Visual Studio solution, build command, or JSON compilation database. Running polyspace-configure on a build command involves first running the command and then gathering information from the processes executed. However, polyspace-configure can simply read all required information from a JSON compilation database or a Visual Studio solution in some cases.

  • Manually specify analysis options that emulate your build configuration in an options file. See Options Files for Polyspace Analysis (Polyspace Bug Finder).

  • Import the analysis options from a Polyspace desktop project file.

Configure Polyspace as You Code to Extract Build Configuration

To extract your build configuration information from a Visual Studio project, build command, or JSON compilation database:

  1. Select Tools > Options to open the Options dialog box.

  2. Select Polyspace as You Code > Analysis Options, and then select the appropriate option from the Build list. See Configure Polyspace as You Code Extension in Visual Studio.

Get Build Configuration from Build Command

To extract your build configuration information from your build command:

  1. Select Tools > Options to open the Options dialog box.

  2. Select Polyspace as You Code > Analysis Options, and then select Get from build command from the Build list.

    In the Build Command box, enter a command that performs a full build. For example:

    gcc -g -o helloworld hello.c main.c

  3. Click Generate build options icon in the Configuration view of the Polyspace as You Code perspective.

Polyspace runs your build command, traces the build to extract the configuration information, and generates an options file. The Polyspace as You Code analysis engine uses the generated options file in subsequent analyses.

The generated options file is stored in the .polyspace-configure folder under the workingDirectory/projectName folder or one of its subfolders. Here, workingDirectory is the path specified in Working Directory in Polyspace as You Code > General and projectName is the name of the project that contains the files you are currently analyzing.

Get Build Configuration from Visual Studio Project

To extract your build configuration information from your Visual Studio project:

  1. Select Tools > Options to open the Options dialog box.

  2. Select Polyspace as You Code > Analysis Options, and then select Get from Visual Studio C++ project from the Build list.

  3. To extract the build options from your project toolchain, click Generate build options icon in the Configuration view of the Polyspace as You Code perspective.

    The Polyspace analysis engine uses those options in the subsequent analysis.

If your workspace contains multiple projects, Polyspace extracts the build options for all the projects and then applies only the relevant options when you analyze a file in a specific project.

Get Build Configuration from JSON Compilation Database

If your build system supports the generation of a JSON compilation database file, use the Get From JSON Compilation Database setting. The file contains compiler calls for all the translation units in your project. See JSON compilation database.

To extract your build configuration information from the JSON compilation database:

  1. Generate a JSON compilation database file. For an example of how to generate this file, see Create Polyspace Options File from JSON Compilation Database (Polyspace Bug Finder).

    If you use a JSON compilation database that was not generated on your local machine, make sure that the paths listed in the file are accessible from the location where you run Polyspace as You Code.

  2. Select Tools > Optionsto open the Options dialog box.

  3. Select Polyspace as you Code > Analysis Options and then select Get from JSON Compilation Database file from the Build list. Specify the full path to the JSON compilation database file that you generated in step 1 in the JSON Compilation Database file box.

  4. Click Generate build options icon in the Configuration view of the Polyspace as You Code perspective.

Polyspace extracts the build configuration information from the compilation database and generates an options file. The Polyspace as You Code analysis engine uses the generated options file in subsequent analyses.

The generated options file is stored in the .polyspace-configure folder under the workingDirectory/projectName folder or one of its subfolders. Here, workingDirectory is the path specified in Working directory in Polyspace as You Code > General and projectName is the name of the project that contains the files you are currently analyzing.

Update Generated Build Options File

If you make changes to your build configuration such as adding a source file to your project or workspace or renaming an existing file, update the generated options file to reflect these changes. Before you update the options file, make sure that your build completes successfully with the new configuration.

To update the options file, click Generate build options icon in the Configuration view of the Polyspace as You Code perspective.

If you extract your build information from a JSON compilation database file, regenerate the compilation database before you update the build options file.

See also Troubleshoot Failed Analysis or Unexpected Results in Polyspace as You Code.

Specify Analysis Options Manually

Specify analysis options manually in an options file that you create if:

  • You know the details of your build system and you want to specify the Polyspace analysis options that emulate your build configuration in an options file. See Options Files for Polyspace Analysis (Polyspace Bug Finder).

    For a list of available analysis options, see Complete List of Polyspace Bug Finder Analysis Engine Options (Polyspace Bug Finder).

  • You reuse a Polyspace options file that you or someone else on your team has configured for your build system.

    If you reuse an options file that was not configured or generated on your local machine, make sure that the paths listed in the file are accessible from the location where you run Polyspace as You Code.

To specify an analysis options file:

  1. Select Tools > Options to open the Options dialog box..

  2. Select Polyspace as you Code > Analysis Options and then select Get from Polyspace build options file from the Build menu and specify the full path to the options file. See Configure Polyspace as You Code Extension in Visual Studio.

The Polyspace as You Code analysis engine uses the options file that you specify in subsequent analyses.

If you make changes to your build configuration, edit the options file to reflect those changes. See Specify Target Environment and Compiler Behavior (Polyspace Bug Finder).

Import Analysis Options from Polyspace Desktop Project

If you configure an analysis in the Polyspace desktop application, you can use the information from the resulting Polyspace desktop PSPRJ file to configure your Polyspace as You Code analysis.

To import the analysis options from a Polyspace desktop PSPRJ file, open a terminal in Visual Studio and enter this command:

polyspace-checkers-selection -import-options-from-psprj pathToPsprjFile
The polyspace-checkers-selection binary is available under the polyspace/bin folder in your Polyspace as You Code installation folder. If you did not add this installation folder to your PATH environment variable, include the full path of the binary to execute this command.

The pathToPsprjFile path is the full path of the PSPRJ file.

Polyspace generates an options file (analysis_options.txt) and an XML checkers activation file (checkers_activation_file.xml). The generated files are stored in the import folder in the same location as the PSPRJ file.

To complete the configuration of the Polyspace as You Code analysis:

  1. Select Tools > Options to open the Options dialog box.

  2. Select Polyspace as you Code > Analysis Options and then select Get from Polyspace build options file from the Build menu. See Configure Polyspace as You Code Extension in Visual Studio.

  3. Specify the path of the generated checkers activation file checkers_activation_file.xml in Checkers File.

  4. Specify the path of the generated options file analysis_options.txt in Other Analysis Options.

The Polyspace as You Code analysis engine uses these files in subsequent analyses.

If you make changes to your build configuration, edit the options file to reflect those changes. See Specify Target Environment and Compiler Behavior (Polyspace Bug Finder).

Related Topics