Skip to content

8.36

Compare
Choose a tag to compare
@sonar-dotnet-bot sonar-dotnet-bot released this 22 Feb 15:49
2dd18c8

Hello everyone,

In the latest sprint, we focused our attention on improving the precision of the new symbolic execution engine and of the S2222 rule, the first one using this new engine. Due to the new architecture, the VB.Net variant was trivial to implement but there is still a bit of work to be done before considering the S2222 rule "mature" enough to be included in the SonarWay profile.

Besides that, we did improve the S1854 performance which was inefficient in some scenarios.

Once again thanks to @Corniel for his contribution.

You can find more details below:

New Rules

Improvements

  • 5305 - [C#, VB.NET] Improve S2222: Track SpinLock
  • 5304 - [C#, VB.NET] Improve S2222: Track ReaderWriterLockSlim
  • 5303 - [C#, VB.NET] Improve S2222: Track ReaderWriterLock
  • 5302 - [C#, VB.NET] Improve S2222: Track Mutex
  • 5309 - [C#, VB.NET] Track field access on current instance
  • 5307 - [C#, VB.NET] Support finally block in SE
  • 5306 - [C#, VB.NET] Support branching in Symbolic Execution
  • 5380 - [C#, VB.NET] Add symbolic engine support for Boolean constraints
  • 5400 - [C#, VB.NET] Reduce IOperationWrapperSonar memory allocations
  • 5377 - [C#, VB.NET] Symbolic Execution: Visit each operation max 2 times
  • 5375 - [C#, VB.NET] S2222 performance: Improve early bailout logic
  • 5346 - Update RSPEC
  • 5411 - [C#] Rule S1155: Implement a fix provider for C#

Performance

  • 5401 - Reduce CFG memory allocations
  • 5384 - Fix S1854 Performance: Rule can be very slow in some scenarios