ELI5: Infer – Discovering Bugs Earlier than You Ship
In this post we take a closer look at Infer, a static analysis tool for programming languages like Java and C. This post is part of our ELI5 series of short articles in which complex projects are explained in the simplest possible way. If you want to see a video about Infer, visit our YouTube channel.
Catching software errors in production is expensive. You need to determine the exact steps to reproduce, fix, test, and then redeploy the problem. This workflow is challenging enough on the web as your users rely on your servers to deliver the app to them. Mobile app developers have the added hurdle of fixing bugs installed on their users’ devices. The conclusion is clear: mistakes cost developers time and money. Therefore, tools that prevent these errors from being fixed are extremely valuable. One such tool is Infer.
Infer is a static analysis tool used to detect errors in programming languages such as Java, C, Objective-C, and others. Infer detects null pointer exceptions, race conditions, memory leaks, and other errors at the beginning of the project lifecycle. More importantly, by catching these critical errors before sending them to users, Infer prevents crashes or poor production performance.
Developed for large code bases like the one at Facebook, Infer quickly reports on new code changes so developers can see potential bugs as they work on their code. By integrating Infer into your workflow, you can spot errors in real time so that you can work more effectively as a developer.
Where is it used?
Infer was first developed on Facebook and was developed as an open source product in 2015. Since then, this project has increased its acceptance outside of Facebook by companies like Amazon, Mozilla, and Spotify.
Where can i learn more?
Infer has extensive documentation and a thriving community on GitHub, Twitter, and Facebook. If you have any thoughts or questions about Infer, please let us know on our YouTube channel or tweet us at.
About the ELI5 series
In a series of short videos (around 1 minute long) one of our developer attorneys on the Facebook Open Source team explains a Facebook Open Source project in a way that is easy to understand and use.
For each of these videos we are writing an accompanying blog post (like the one you are reading right now), which you can find on our YouTube channel.
To learn more about Facebook Open Source, visit our Open Source website, subscribe to our YouTube channel, or follow us on Twitter and Facebook.
Would you like to work with open source on Facebook? Check out our open source related job postings on our careers page by taking this short survey.