Это небольшая история о том, как с помощью PVS-Studio удалось найти ошибку в исходном коде библиотеки, используемой в PVS-Studio. Причём не теоретическую, а фактическую — ошибка проявлялась на практике при использовании библиотеки в анализаторе.
Читать полностью »
Рубрика «статический анализ кода» - 4
История о том, как PVS-Studio нашёл ошибку в библиотеке, используемой в… PVS-Studio
2019-08-08 в 8:24, admin, рубрики: .net, bugs, C#, code quality, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, качество кода, ошибки, разработка под windows, статический анализ кодаЗнакомство со статическим анализатором PVS-Studio при разработке C++ программ в среде Linux
2019-08-06 в 8:23, admin, рубрики: C, c++, cmake, code review, devops, eclipse, linux, linux development, linux devops, make, makefile, pvs-studio, PVS-Studio for Linux, qmake, SAST, sonarqube, static code analysis, static code analyzer, waf, Блог компании PVS-Studio, качество кода, обзор кода, Разработка под Linux, Си, статический анализ кодаPVS-Studio поддерживает анализ проектов на языках C, C++, C# и Java. Использовать анализатор можно под системами Windows, Linux и macOS. В этой заметке речь пойдет об анализе кода, написанного на C и C++ в среде Linux.
Установка
Установить PVS-Studio под Linux можно разными способами, в зависимости от типа дистрибутива. Наиболее удобный и предпочтительный способ – использование репозитория: так это позволяет автоматически обновлять анализатор при выходе новых версий. Второй вариант – использовать установочный пакет, который можно скачать здесь.
Читать полностью »
Статический анализ улучшит кодовую базу сложных C++ проектов
2019-08-03 в 18:35, admin, рубрики: c++, legacy code, SAST, Блог компании PVS-Studio, качество кода, Программирование, размер имеет значение, Совершенный код, старый код, статический анализ, статический анализ кода, статический анализатор кода
Постепенно и незаметно складывается ситуация, когда сложность серьёзных C++ проектов становится запредельной. К сожалению, теперь C++ программист не может полагаться только на свои силы.
Читать полностью »
Конференции. Промежуточные итоги по первому полугодию 2019
2019-08-01 в 13:14, admin, рубрики: C++ Russia, corehard, jug.ru, sqa days, Блог компании PVS-Studio, доклады, конференции, онтико, Презентации, Программирование, статический анализ кода, учебные материалыКогда заканчивался насыщенный и полный нового опыта 2018-ый год, мы все выдохнули («PVS-Studio. Спасибо, что живой») и думали, что теперь все позади. Но не тут-то было. Первое полугодие 2019-го выдалось ой-ой-ой каким насыщенным. В некоторые теплые майские деньки наш и без того просторный офис буквально вымирал, ведь время конференций продолжается.
Как быстро посмотреть интересные предупреждения, которые выдает анализатор PVS-Studio для C и C++ кода?
2019-06-24 в 7:08, admin, рубрики: C, c++, codereview, pvs-studio, SAST, static code analysis, static code analyzer, Блог компании PVS-Studio, информационная безопасность, обзор кода, Си, статический анализ кода
Время от времени программисты, которые начинают знакомиться с анализатором кода PVS-Studio, спрашивают: «Есть ли список предупреждений, которые точно указывают на ошибки?» Такого списка нет по той причине, что неинтересные (ложные) предупреждения в одном проекте, в другом оказываются очень важными и полезными. Однако начать знакомство с анализатором с самых интересных предупреждений вполне можно. Давайте рассмотрим эту тему подробнее.
Читать полностью »
График развития диагностических возможностей в PVS-Studio
2019-06-17 в 8:53, admin, рубрики: C#, c++, java, MISRA, pvs-studio, static code analysis, Блог компании PVS-Studio, развитие продукта, статический анализ кода
С момента появления продукта PVS-Studio прошло более 8 лет, и всё это время мы реализовывали в нём новые диагностические правила. И прекращать не собираемся. Если вас заботят вопросы, не растеряли ли мы за эти годы бодрость, и не останавливается ли PVS-Studio в развитии, то приведённый в статье график снимет эти вопросы. Анализатор активно развивается, причём скорость развития с годами только увеличивается.
Читать полностью »
Проверяем инкапсуляцию с помощью Roslyn
2019-06-12 в 12:24, admin, рубрики: .net, api, C#, open source, roslyn, static code analysis, Visual Studio, статический анализ кодаЧто такое Roslyn?
Roslyn – это набор компиляторов с открытым исходным кодом и API для анализа кода для языков C# и VisualBasic .NET от Microsoft.
Анализатор Roslyn – мощный инструмент для анализа кода, нахождения ошибок и их исправления.
Синтаксическое дерево и семантическая модель
Для анализа кода, нужно иметь представление о синтаксическом дереве и семантической модели, так как это два основных компонента для статического анализа.
Синтаксическое дерево — это элемент, который строится на основании исходного кода программы, и необходимый для анализа кода. В ходе анализа кода по нему происходит перемещение.
Каждый код обладает синтаксическим деревом. Для следующего объекта класса
class A
{
void Method()
{
}
}
синтаксическое дерево будет выглядеть так:
Создание анализатора Roslyn на примере проверки инкапсуляции
2019-06-12 в 12:24, admin, рубрики: .net, api, C#, open source, roslyn, static code analysis, Visual Studio, статический анализ кодаЧто такое Roslyn?
Roslyn – это набор компиляторов с открытым исходным кодом и API для анализа кода для языков C# и VisualBasic .NET от Microsoft.
Анализатор Roslyn – мощный инструмент для анализа кода, нахождения ошибок и их исправления.
Синтаксическое дерево и семантическая модель
Для анализа кода, нужно иметь представление о синтаксическом дереве и семантической модели, так как это два основных компонента для статического анализа.
Синтаксическое дерево — это элемент, который строится на основании исходного кода программы, и необходимый для анализа кода. В ходе анализа кода по нему происходит перемещение.
Каждый код обладает синтаксическим деревом. Для следующего объекта класса
class A
{
void Method()
{
}
}
синтаксическое дерево будет выглядеть так:
(Статический) Подбор оптимальных контейнеров в программах на C++
2019-06-09 в 15:06, admin, рубрики: c++, оптимизация программ, Программирование, Промышленное программирование, статический анализ кодаЗдравствуйте. Сегодня хотелось бы поговорить снова про статический анализ. И снова про C++. Только в отличие от PVS-Studio мы будем искать не какие-то ошибки в наших программах (хотя они ищут не только ошибки), а места, которые написаны недостаточно оптимально. И одним из таких мест является выбор контейнера для данных в программе. Если я вас заинтересовал, то добро пожаловать под кат!Читать полностью »
Находим баги в LLVM 8 с помощью анализатора PVS-Studio
2019-04-29 в 13:52, admin, рубрики: bugs, c++, clang, compiler, devops, LLVM, open source, pvs-studio, баги, Блог компании PVS-Studio, качество кода, Компиляторы, статический анализ кода
Прошло более двух лет с момента последней проверки кода проекта LLVM с помощью нашего анализатора PVS-Studio. Давайте убедимся, что анализатор PVS-Studio по-прежнему является лидирующим инструментом по выявлению ошибок и потенциальных уязвимостей. Для этого проверим и найдём новые ошибки в релизе LLVM 8.0.0.
Читать полностью »