Анализатор программного кода на языке C++ под названием Flint разработал известный программист Андрей Александреску, в настоящее время работающий в Facebook. Программы такого рода предназначены для проведения статического анализа кода — поиска в тексте программ недочетов, ошибок или несоответствий принятым правилам программирования, которые не может обнаружить компилятор. Для языка C++ создано немало анализаторов, но ни один из них не устраивал полностью специалистов Facebook — многие отличались невысокой скоростью работы или отсутствием поддержки стандарта C++11, на который сейчас переходят в Facebook. Александреску написал Flint на языке D, в разработке которого он сам активно участвовал. Благодаря этому Flint работает на 5–25% быстрее аналогичных программ, написанных на C++.

Flint умеет обнаруживать использование устаревших библиотек, зарезервированных идентификаторов, неверного порядка аргументов в вызове функции заполнения памяти и ряд других неочевидных ошибок программистов, способных привести к появлению в программе проблем с безопасностью или производительностью.

Поделитесь материалом с коллегами и друзьями

Купить номер с этой статьей в PDF