Skip to content

Infer# is an interprocedural and scalable static code analyzer for C#. Via the capabilities of Facebook's Infer, this tool detects null dereferences, resource leaks, and thread-safety violations.

License

Notifications You must be signed in to change notification settings

stjordanis/infersharp

 
 

Repository files navigation

InferSharp

InferSharp (also referred to as Infer#) is an interprocedural and scalable static code analyzer for C#. Via the capabilities of Facebook's Infer, this tool detects race conditions, null pointer dereferences and resource leaks. Read more about our approach in the Wiki page.

In addition to implementing the C# frontend, we contributed our language-agnostic serialization layer (Commit #1361) to facebook/infer, which opens up opportunities for additional language support in the future.

Public Announcements

Get Started

The latest version is GitHub release (latest by date including pre-releases). Please refer to the release page for more information on the changes.

Windows Subsystem for Linux

The instructions can be found here.

GitHub Action

The instructions can be found here.

Azure Pipelines

Infer# can be run as an Azure Pipelines container job. An example can be found here.

Docker Image

The instructions can be found here.

Build from Source

Use this Dockerfile to build images and binaries from source. It builds the latest code from microsoft/infersharp:main + facebook/infer:main by default.

Troubleshooting

Please refer to the troubleshooting guide.

Contributing

We welcome contributions. Please follow this guideline.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

Security Reporting Instructions

Please do not report security vulnerabilities through public GitHub issues. Instead, please follow this guideline.

About

Infer# is an interprocedural and scalable static code analyzer for C#. Via the capabilities of Facebook's Infer, this tool detects null dereferences, resource leaks, and thread-safety violations.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 98.5%
  • Other 1.5%