Checking the C# Source Code of MSBuild with PVS-Studio
medium.com
medium.com
Without any communication with the developers of MSBuild, every additional bug they filed might turn out to be a timesink for a good writeup only to get a "WONTFIX" equivalent, while having only submitted a bug report with a link to their breakdown (which they needed to write anyway for this to benefit them much) is the minimum required to be able to say "we warned them" if one of these bugs turns out to break something critically later.
So yes, they probably should have written a couple of the unambiguously wrong code bugs up and submitted them with a citation of their full writeup, but their goal, cynically, is to drive usage of their product, not necessarily to get the bugs fixed.
(e: plus, at that point, you could reasonably argue they should submit PRs with the trivial code fixes, and then you get into discussions of possibly having to sign a CLA and all sorts of mess that they probably don't want.)
New code on the other hand is usually required to pass all static analysis without introducing new warnings, and is often enforced by automated code review (bots that runs static analysis will mark the code review and it will not be possible to check it in).
From time to time some teams form to work on fixing static analysis code warnings on old code, but is not a high priority. Of course a public PR event like the OP may trigger some action, is going to be up to the individual team priorities, policy, schedule, workload etc.
This may sound like laziness or carelessness, but these are good engineers with plenty of experience that are capable of judging risk vs. benefits. If the code was like this for years and no actual bug was reported, is not always worth modifying it. Eric Lippert has a nice blog about How many Microsoft employees does it take to change a lightbulb? [0] and why some of these 'trivial' changes for a small project add up to a risky change at MS scale.
- [0] https://blogs.msdn.microsoft.com/ericlippert/2003/10/28/how-...
- FxCop https://en.wikipedia.org/wiki/FxCop
- Prefast https://msdn.microsoft.com/en-us/library/d3bbz7tz.aspx
- Code Analysis Check-In policies https://msdn.microsoft.com/en-us/library/ms182075.aspx
There are more tools like these and at the time I left there were still more popping up. I hated StyleCop, the Tabs vs. Spaces Sillicon Valley episode is very relevant for my relation with StyleCop...
- `null` related errors: through algebraic data types like `Maybe` in Haskell or `Option` in Rust
- Unused arguments in string formatting methods: I don't get why the compiler doesn't see this as an error
(You still need a linter to check for use of deprecated features, but that can be a very simple thing; what I'm saying doesn't make sense is sophisticated (and expensive) static analysis tools)
Have you found a bug? No, so what are you submitting? Possible bugs.
Okay, this is closed. This isn't a bug, wontfix isn't even required.