Testing for Regressions: Other Approaches

Intel Inspector also offers alternative ways to test for regressions.

View Problem States to Check for New Problems

When you run an analysis to create a new result, the Intel Inspector automatically:

  • Propagates state information from a baseline (older) result to the new result.

  • Sets the state in the new result of all problems that do not appear in the baseline result to New.

Take advantage of this free information for regression testing purposes.

In the GUI:

  1. Establish a baseline result using the Options-State Management dialog box.

  2. Run a new analysis.

  3. When analysis is complete, use the Filters pane to temporarily limit the items displayed in the Problems pane to those with a state of New.

In the inspxe-cl command tool:

  1. Run a new analysis against a baseline result.

    For example: The following inspxe-cl command collects a new result for the MyApp application against a dataset1_baseline baseline result and writes the new result to the myRes002mi3 directory in the current working directory.

    $ inspxe-cl -c mi3 -baseline-result ./dataset1_baseline -r myRes002mi3 -- ./myApp
    
  2. When analysis is complete, generate a Status report for the new result to determine if there are any new problems.

    For example: The following inspxe-cl command generates a Status report for the myRes002mi3 result.

    $ inspxe-cl -report status -result-dir myRes002mi3 
    
  3. If there are new problems, generate a Problems report containing only the new problems.

    For example: The following inspxe-cl command generates a Problems report of new problems detected in the myRes002mi3 result.

    $ inspxe-cl -report problems -filter state=new -result-dir myRes002mi3 
    

Note

  • By default, the Intel Inspector establishes a baseline result from the immediately previous result of the same analysis type.

  • You can use a baseline result created with the same analysis type you plan to use for the new analysis or with the widest analysis type available.

  • Use one baseline result per data set you plan to test, or one baseline result for your entire application.

  • You can also automate these inspxe-cl command tool steps.

View Results Side-by-Side to Check for Differences

You can also create a result or generate a report that compares two results.

In the GUI:

  1. Use the comparison feature to identify a previous result and a new result, and create a temporary result that shows the following state information for each detected problem:

    • Result 1 or Result 2 if the problem appears in only one result

    • Both if the problem appears in both results

  2. Use the Filters pane to temporarily limit the items displayed in the Problems pane to those that appear in only the new result. For example: If Result 1 is a previous result and Result 2 is the new result, filter for problems with a state of Result 2.

In the inspxe-cl command tool, generate a Summary report for two results simultaneously to produce a differences report.

For example: The following inspxe-cl command generates a differences report for two previously collected results: myRes001mi3 and myRes002mi3.

$ inspxe-cl -report summary -result-dir myRes001mi3 -result-dir myRes002mi3

Note

The information in a results comparison is most useful when you compare two results of the same analysis type from the same project.

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