Infer version 0.16.0
This is a binary release of Infer for Linux and MacOS. To use it follow these instructions.
It's been a long time since the previous release, here are some new features and improvements you can find in this new release:
Backend analyses:
- A brand new analysis to compute the runtime cost of methods and functions: passing
--cost
(off by default) to Infer will output a costs-report.json file describing, among others, the computational complexity of each function in the code using the big-O notation, egO(1)
,O(list.length)
, ... - The deadlock detection analysis has been ported to C++ and Objective-C and mainly focuses on self-deadlocks (taking a mutex twice). Activate with
--starvation
(off by default). - The data race detector RacerD has been ported to Objective-C and detects races on fields protected by a C++ mutex. It reports "Thread Safety Violation" and "GuardedBy Violation" errors on Java and "Lock Consistency Violation" on C++ and Objective-C. Activate with
--racerd
(on by default). - A progress bar is displayed while the analysis is running
- Countless improvements and tweaks, in particular in RacerD and in analyses for C++.
Frontends:
- Infer now ships with clang version 7.0.1
- Support for Java up to version 11
The sha256 checksums of the tarballs are:
$ shasum -a 256 infer-*-v0.16.0.tar.xz
435c415a9a22f41e7f2074b542b035b972a2a8c237d5490285d763bf333a817b infer-linux64-v0.16.0.tar.xz
471f06c72754a45d73433623e8092bf9ea1315884b8ebff24d3f79f9a8b0380a infer-osx-v0.16.0.tar.xz
The facebook-clang-plugins version used for this release is facebookarchive/facebook-clang-plugins@36266f6.