Когда заканчивался насыщенный и полный нового опыта 2018-ый год, мы все выдохнули («PVS-Studio. Спасибо, что живой») и думали, что теперь все позади. Но не тут-то было. Первое полугодие 2019-го выдалось ой-ой-ой каким насыщенным. В некоторые теплые майские деньки наш и без того просторный офис буквально вымирал, ведь время конференций продолжается.
Рубрика «статический анализ кода» - 4
Конференции. Промежуточные итоги по первому полугодию 2019
2019-08-01 в 13:14, admin, рубрики: C++ Russia, corehard, jug.ru, sqa days, Блог компании PVS-Studio, доклады, конференции, онтико, Презентации, Программирование, статический анализ кода, учебные материалыКак быстро посмотреть интересные предупреждения, которые выдает анализатор 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.
Читать полностью »
IntelliJ IDEA, ReSharper, SonarLint и SonarQube находят те же ошибки, что и PVS-Studio — ну и зачем нам PVS-Studio?
2019-04-23 в 13:21, admin, рубрики: pvs-studio, Блог компании PVS-Studio, статический анализ кодаИногда люди задают вопрос, который, на первый взгляд, про одно, а на самом деле про другое. Как говорится, грамотно поставленный вопрос содержит половину ответа.
На днях я вернулся с конференции JPoint, на которой впервые был представлен наш новый анализатор PVS-Studio для Java. Интерес к статическому анализу сильно растет в последние несколько лет, поэтому аудитория восприняла PVS-Studio на ура. Кроме положительных откликов, естественно, пришлось и поработать с возражениями. Самое частое возражение на предложение попробовать PVS-Studio звучит так: «Да ладно, зачем нам пробовать PVS-Studio? Мы используем IntelliJ IDEA, ReSharper, SonarLint и SonarQube. Вот мы запустили недавно PVS-Studio, и он нашел ошибки, которые и так подсвечивает IntelliJ IDEA!»
Я просто не могу не написать небольшую заметку-ответ на этот комментарий. Точнее, у меня даже два ответа на это возражение. И да, я специально указал здесь ReSharper, так как к нашему анализатору для C# такие вопросы тоже имеют место. Что ж, с радостью отвечу.
Читать полностью »
По следам калькуляторов: Qalculate
2019-03-14 в 5:54, admin, рубрики: C, c++, open source, pvs-studio, Блог компании PVS-Studio, калькулятор, операционные системы, Программирование, статический анализ кода
Ранее мы делали обзоры кода крупных математических пакетов, например, Scilab и Octave, а калькуляторы оставались в стороне как небольшие утилиты, в которых сложно допустить ошибки из-за их малого объёма кода. Мы ошиблись, не уделив им внимания. Случай с публикацией исходного кода калькулятора Windows показал, что всем интересно пообсуждать, какие ошибки там прячутся, а ошибок там более чем достаточно, чтобы написать про это статью. Мы с коллегами решили исследовать код ряда популярных калькуляторов и оказалось, что код калькулятора Windows был не так уж и плох (спойлер).
Читать полностью »
Бесплатные варианты лицензирования PVS-Studio
2019-03-11 в 18:22, admin, рубрики: C#, c++, devops, DevSecOps, java, microsoft mvp, mvp, open source, opensourse, programming, pvs-studio, pvs-studio free, SAST, security, static code analysis, static code analyzer, Блог компании PVS-Studio, информационная безопасность, статический анализ кодаСуществует несколько вариантов бесплатного лицензирования статического анализатора кода PVS-Studio, предназначенного для поиска ошибок и потенциальных уязвимостей. Бесплатной лицензией могут воспользоваться открытые проекты, маленькие закрытые проекты, публичные специалисты по безопасности и обладатели статуса Microsoft MVP. В статье кратко рассматривается каждый из этих вариантов.
PVS-Studio — это инструмент для выявления ошибок и потенциальных уязвимостей в исходном коде программ, написанных на языках С, C++, C# и Java. Работает в среде Windows, Linux и macOS.
Читать полностью »