This release completes our effort to migrate all our symbolic execution rules from our old to our new engine: S2583 and S2589 are now migrated and see significant improvements. Also, they are now available for VB.NET. This being the last analyzer to migrate means that the engines don't run in parallel anymore, which significantly reduces analysis time.
On top of that, our TokenTypeAnalyzer got a rework, which also improves performance in terms of analysis time and memory usage.
New Rules
7648 - [VB.NET] S2589: Boolean expressions should not be gratuitous
7647 - [VB.NET] S2583: Conditionally executed code should be reachable
Improvements
7646 - [C#] Migrate S2583/S2589 to the new Symbolic Execution engine (C#)
7369 - [C#] UtilityAnalyzer: Move to a syntax based classification of identifiers in the token type utility analyzer
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps SonarAnalyzer.CSharp from 9.7.0.75501 to 9.8.0.76515.
Release notes
Sourced from SonarAnalyzer.CSharp's releases.
Commits
c1515ba
UtilityAnalyzer: Wrong classifications: value in nameof (#7823)dd0da2c
UtilityAnalyzer: Wrong classifications: value in MemberAccess (#7822)360a2a5
UtilityAnalyzer: Wrong classifications: ref types (#7824)18f120f
SE: Increase VisitCount for loop conditions to 3 (#7795)dab5b34
UtilityAnalyzer: Optimize hot-path of TokenType analyzer (#7811)3d0f443
UtilityAnalyzer: Optimize SimpleMemberAccessExpression handling for the Token...287d36a
UtilityAnalyzer: Annotate with performance sensitive (#7817)e63e4e2
S1075: Add FN repro (#7816)3c5032e
UtilityAnalyzer: Wrong classifications for AliasQualifiedNames (#7814)01782bd
UtilityAnalyzer: Wrong classifcations for tuple elements (#7812)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show