Четверг , Ноябрь 16 2017
Главная / Кодинг / Статический анализ кода с помощью Infer

Статический анализ кода с помощью Infer

Finding inter-procedural bugs at scale with Infer static analyzer — статья о принципе работы статического анализатора Infer и его основных отличиях от других анализаторов.

Infer разработан в Facebook для поиска ошибок в приложениях на C, C++, Objective-C и Java. В случае с Java он может выявлять такие ошибки как: обращение к объекту, содержащему значение null, утечки ресурсов, отсутствие блокировок и состояния гонки.

Основное отличие этого инструмента от других в том, что он умеет использовать знания обо всем дереве вызовов методов, чтобы найти ошибку. В качестве примера авторы приводят код, который берет объект, полученный от одного метода, и передает его другому. Благодаря возможности проанализировать, какие значения возвращает первый метод и как его использует второй, анализатор может предсказать, что первый метод может вернуть null, а второй не проверяет свои аргументы на null.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *