Skip to content

Infer version 0.16.0

Compare
Choose a tag to compare
@jvillard jvillard released this 23 Apr 13:54

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, eg O(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.