Whether result of Code Prover is depend on the power of the computer which run it?

1 visualización (últimos 30 días)
Good afternoon,
When I run a same project on 2 computers, one is core i7, one is core i9. I realize that number of warnings in result of Code Prover from 2 computers is different. Why?

Respuestas (1)

Anirban
Anirban el 23 de Jul. de 2020
Editada: Anirban el 24 de Jul. de 2020
Hi Hong,
The results should not depend on the number of processors used. Parts of the analysis are indeed parallelized over multiple processes (upto a maximum of four, see -max-processes). However, as with any good parallelization, the results should not change.
Can you give an idea of the differences you are seeing? Maybe that can help diagnose the issue. To see the differences:
  1. Run Polyspace on the project on the i7 computer.
  2. Run Polyspace on the project on the i9 computer. Use the command polyspace-comments-import to import from the i7 results (prevResultsFolder) to i9 results (currentResultsFolder). (Note that the command makes it look like you have to comment the i7 results first. That is not required for the workflow I am proposing here. Here, you are just getting a baseline for the new results to compare against.) You can also import using the user interface.
  3. Open the i9 results now in the Polyspace user interface and click the 'New' button. What you should see are the new results on the i9 computer compared to the i7 computer.
If you give an example of a new result you see, that might help understand the issue better.
Otherwise, as usual, Tech Support can work with you to diagnose the specific project you are working on and recommend solutions.
  8 comentarios
Tran Thang
Tran Thang el 3 de Ag. de 2020
Editada: Tran Thang el 3 de Ag. de 2020
Hi Anirban,
The Out of bounds array index (OBAI) on the i7 is not a run-time errors.
Please open the attached file to see this OBAI on i9.
Anirban
Anirban el 3 de Ag. de 2020
Hi,
Yes, indeed, the difference is surprising but I am afraid I cannot say more from just the screenshots. If I had access to the project, here are the steps I would follow:
  • The variable ult_InShoPntIdx seems to acquire the value 10 on the i7. I would hover on the loop upper bound to confirm that ult_InRnewEndPntIdx has the value 10 (it should be 9 on the i9).
  • Then I would right-click ult_InRnewEndPntIdx and select Search For All References. That would let me see where ult_InRnewEndPntIdx got its value. Maybe, it is from another variable. I would continue this way till I understand this result.
Technical Support can help figure out the problem. This is a classic results-understanding problem and one has to trace back in the code till one can decide that an orange check is a real run-time error or traceable to some Polyspace approximation.

Iniciar sesión para comentar.

Etiquetas

Productos


Versión

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by