Workflow Using Both Polyspace Bug Finder and Polyspace Code Prover
Polyspace® Bug Finder™ and Polyspace Code Prover™ perform different kinds of static analyses that have different objectives. Code Prover tries to mathematically prove the absence of a set of run-time errors. Bug Finder detects many types of coding rule violations and coding defects.
If you have both Bug Finder and Code Prover, integrate the products in different steps of your software development workflow. For instance:
All developers in your organization can run Bug Finder on newly developed code. For maintaining standards across your organization, you can deploy a common configuration that looks only for specific defect types.
Code Prover can be deployed as part of your unit testing suite.
You can run Code Prover only on critical components of your project, while running Bug Finder on the entire project.
You can run Code Prover on modules of code at the unit testing level, and run Bug Finder when integrating the modules.
You can run Code Prover before unit testing. Code Prover exhaustively checks your code and tries to prove the presence or absence of errors. Instead of writing unit tests for your entire code, you can then write tests only for unproven code. Using Code Prover before unit testing reduces your testing efforts drastically.
Depending on the nature of your software development workflow and available resources, there are many other ways you can incorporate the two kinds of analysis. You can run both products on your desktop during development or as part of automated testing on a remote server. Note that it is easier to interpret and fix bugs closer to development. You benefit from using both products if you deploy them early and often in your development process.
There are two important considerations if you are running both Bug Finder and Code Prover on the same code.
Starting in R2022a, Polyspace Bug Finder is the recommended tool for checking compliance to external coding standards such as AUTOSAR C++14 or MISRA C++:2008. Check for violation of these coding standards when you use Bug Finder on your code. You might have used Polyspace Code Prover to check for this purpose. Migrate your workflow to use Bug Finder. See Migrate Code Prover Workflows for Checking Coding Standards and Code Metrics to Bug Finder.
You can use the same project for both Bug Finder and Code Prover analysis. The following set of options are common between Bug Finder and Code Prover:
You might have to change more of the default options when you run the Code Prover verification because Code Prover is stricter about compilation and linking errors.