В GNU Compiler Collection (GCC) версии 10 добавили статический анализ кода на C:
https://habr.com/ru/post/496278/(
оригинал статьи под авторством David Malcolm)
С новой версией компилятора можно поэкспериментировать в проекте Compiler Explorer (
https://godbolt.org/), выбрав из списка доступных компиляторов
x86-64 gcc (trunk)
и добавив опцию
-fanalyzer
. Пример анализа кода с ошибкой двойного освобождения памяти (пример из статьи) — на скриншоте выше.
Автор пишет, что данная возможность всё ещё на стадии тестирования и не лишина недостатков — например, вывод анализатора может быть
крайне подробным. Ждём, когда появится графический инструмент, позволяющий подобный ASCII-art представлять в виде удобного дерева с навигацией и поиском.