HomePhabricator

[analyzer] Add checker to verify the correct usage of the MPI API

Description

[analyzer] Add checker to verify the correct usage of the MPI API

This commit adds a static analysis checker to verify the correct usage of the MPI API in C
and C++. This version updates the reverted r271981 to fix a memory corruption found by the
ASan bots.

Three path-sensitive checks are included:

  • Double nonblocking: Double request usage by nonblocking calls without intermediate wait
  • Missing wait: Nonblocking call without matching wait.
  • Unmatched wait: Waiting for a request that was never used by a nonblocking call

Examples of how to use the checker can be found at https://github.com/0ax1/MPI-Checker

A patch by Alexander Droste!

Reviewers: zaks.anna, dcoughlin

Differential Revision: http://reviews.llvm.org/D21081

Details

Committed
dcoughlinJun 12 2016, 8:22 PM
Differential Revision
D21081: MPI-Checker patch for Clang Static Analyzer
Parents
rL272528: [powerpc] Disable shared libs for powerpc64be
Branches
Unknown
Tags
Unknown