How does Facebook find bugs that crash their software?

Facebook uses both static and dynamic analysis tools to perform testing. What impresses me more is the dynamic analysis, but lets look at the static analysis first Static analysis, as the name implies, is only interested in the source code of the program Facebook's static analyser is called Infer. The company open-sourced the tool in 2013, and a lot of big names (Uber, Spotify, Mozilla) use it. It is on github for you to play around with https://github.com/facebook/infer Facebook's dynamic analyser is called Sapienz. " There are a lot of dynamic analysers out there, but none like Sapienz " - Facebook Why is Sapienz so different? The challenge with dynamic testing is finding the reight inputs that cause an app to crash. Facebook says that most dynamic analysers use random sequences of inputs at apps, with up to 15,000 input events to force a crash. Sapienz, on the other hand, only needs about 100-150 events to find a crashing bug. In practice, th...