static-analysis

6 posts

Abstract interpretation звучит как требование для PhD. Больше это не так.

Как запускать формальный статический анализ в CI-пайплайне с помощью Infer, с рабочими конфигами и реалистичными компромиссами.

Abstract interpretation — это тот термин, от которого инженеры закрывают вкладку. Звучит так, будто нужен семестр теории решёток, чтобы понять. Большинство…

LLM могут ранжировать предупреждения статического анализа. Они просто не могут объяснить почему.

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

Ваш статический анализатор только что выдал 847 предупреждений в пятничный полдень. Вы знаете статистически, что где-то между 5% и 15% из них — настоящие баги.…

Meta нашла 100 000 багов в production-коде статическим анализатором, который никогда не запускает программу

Infer от Meta использует abstract interpretation и bi-abduction для поиска null dereference, утечек памяти и race conditions, рассуждая о структуре кода, а не о его выполнении. Вот как это работает и как использовать в своей codebase.

Meta выпустила более 100 000 исправлений багов, пойманных статическим анализатором до того, как код дошёл до пользователя. Инструмент называется Infer, он open…

Статический анализ не может доказать, что ваш самолёт не разобьётся. Но он может доказать кое-что более полезное.

Абстрактная интерпретация аппроксимирует сверху каждое возможное состояние программы. Если деление на ноль недостижимо в абстракции, оно недостижимо и в реальном коде. Вот как это работает и где даёт сбои.

Статический анализ не может доказать, что самолёт не разобьётся. Но он может доказать, что контур управления высотомером никогда не поделит на ноль, никогда не…

Как доказать, что в вашем коде нет ошибок времени выполнения (и почему вы, скорее всего, бросите эту затею)

Абстрактная интерпретация позволяет доказать невозможность ошибок времени выполнения ещё до запуска программы. Вот как это работает на самом деле, почему это сложно и где это применяется в вашем инструментарии.

Ваш набор тестов проходит. Ваш type checker зелёный. Вы выкладываете в прод. Через два часа продакшен выдаёт на граничном случае, который никому не пришло в…

Fuck-u-code: детерминированный барьер качества, который забыл ваш AI-пайплайн

У вас есть проверка типов, линтинг и архитектурные правила. Но ваш детерминированный стек не видит сложности, дублирования и катастроф с именованием. Вот исправление за $0.

Давайте честно посмотрим, как на самом деле выглядит большинство AI-пайплайнов генерации кода прямо сейчас. Вы генерируете код с помощью Cursor или Claude…