Infer powers Infer#, a brand new static analyzer for C#
What is it:
Infer # brings the Close to a static analysis platform to developers who use Microsoft C # Programming language. Thanks to it, it can already detect null pointer dereferencing and resource leak errors Bi-abduction analysis. Detection of racing conditions based on RacerD analysis is also in the works. Infer # was used to analyze Microsoft software, including Roslyn, DotNET SDK, ASP.NET Core, and MSBuild.
Infer # was there first presented at the Infer Practitioners Workshop, colocalized with PLDI 2020.
Read more about Infer #.
What it does:
It offers a new language frontend for C # in Infer. A new Infer frontend is no small matter: it is essentially a compiler from the source language (in this case the .NET bytecode for C #) to Infers own intermediate language called SIL. Infer analyzes can then be reused for the new language with minimal adaptation, since they analyze SIL and not the source language itself.
In addition, a new language-independent JSON layer for representing SIL will be introduced, which will in future open the door to further Infer frontends for other programming languages.
Why it matters:
While C # has several open source static analyzers to choose from, they usually cannot find the depth Interprocedural errorsB. null dereferences, data races or resource leaks that Infer can find in languages like Java or C ++. Infer # offers scalable, automated and inter-procedural functions Shut down Analysis of the .NET platform.
Get it on GitHub: