Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
897 views
in Technique[技术] by (71.8m points)

sonarqube - ERROR - Could not complete symbolic execution: reached limit of 10000 steps

With SonarQube 5.2 when I analyse the same project as I did with SonarQube 5.1.2 I see a lot of such error messages in the log when it analyzes Java sources:

ERROR - Could not complete symbolic execution: reached limit of 10000 steps for method updateAll in class DefaultTypeDefinitions

These error messages did not appear in former SonarQube 5.1.2 version.

However the analysis result seems to be okay for SonarQube 5.2 in the end.

But these error messages alarm me. I don't understand whats wrong. Can you please help to clarify it?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

This error message is actually completely normal and expected when you run your analysis with sonar-java plugin 3.8 because of new symbolic execution engine introduced with this version.

(So in the end this should not be an error message but rather something visible only in debug mode : https://jira.sonarsource.com/browse/SONARJAVA-1406 this should be fixed in next release of java plugin).

This is harmless to your analysis.

What does it mean ?

For two rules (S2259 about nullpointer exceptions and S2583 about conditions always true or false) we use symbolic execution which explore all the possible states of a method to find issues. This ends up exploring a big graph of possible states (this is oversimplified here, but sufficient for explanation).

This exploration can be huge and as such there is an arbitrary limit to it : 10 000 steps. So when we cannot complete symbolic execution we log this message.

Concretely: this is a rather indirect way to warn you about some potential false negatives about those two rules on this method.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...