Bitwarden – менеджер паролей с открытым исходным кодом. Это программное обеспечение помогает генерировать уникальные пароли и управлять ими. Получится ли у анализатора PVS-Studio отыскать ошибки в таком проекте?
Рубрика «статический анализ кода»
Насколько хорошо защищены ваши пароли? Проверка проекта Bitwarden
2022-05-13 в 12:55, admin, рубрики: .net, C#, pvs-studio, Блог компании PVS-Studio, статический анализ кодаБрутальный Protocol Buffers от Google vs статический анализ кода
2021-11-05 в 10:58, admin, рубрики: c++, open source, protobuf, protocol buffers, pvs-studio, SAST, баги, Блог компании PVS-Studio, информационная безопасность, открытые проекты, статический анализ, статический анализ кодаProtocol Buffers — это очень популярный, крутой и качественный проект, развиваемый в основном компанией Google. Это хороший вызов для статического анализатора кода PVS-Studio. Найти хоть что-то — это уже достижение. Попробуем.
Выявляем ошибки в релизе LLVM 13.0.0
2021-10-08 в 19:16, admin, рубрики: c++, clang, clang static analyzer, Clang-Tidy, LLVM, llvm 13, open source, pvs-studio, баги, Блог компании PVS-Studio, информационная безопасность, Компиляторы, обзоры кода, опечатки, открытый исходный код, ошибки в коде, статический анализ кода
Задача коммерческих статических анализаторов выполнять более глубокий и полный анализ кода, чем компиляторы. Давайте посмотрим, что смог обнаружить PVS-Studio в исходном коде проекта LLVM 13.0.0.
Один день из жизни разработчика PVS-Studio, или как я отлаживал диагностику, оказавшуюся внимательнее трёх программистов
2021-07-05 в 12:51, admin, рубрики: C, c++, static analysis, static analyzer, strncat, Блог компании PVS-Studio, ложное срабатывание, С++, статический анализ, статический анализ кода, статический анализаторГлавное предназначение статических анализаторов – найти те ошибки, которые остались незамеченными разработчиком. И недавно команда PVS-Studio снова столкнулась с интересным примером мощи этой методики.
Релиз ruleguard v0.3.0
2021-01-24 в 14:52, admin, рубрики: Go, golang, open source, ruleguard, static analysis, Программирование, статический анализ кода, управление разработкойА что, если я скажу вам, что линтеры для Go можно создавать вот таким декларативным способом?
func alwaysTrue(m dsl.Matcher) {
m.Match(`strings.Count($_, $_) >= 0`).Report(`always evaluates to true`)
m.Match(`bytes.Count($_, $_) >= 0`).Report(`always evaluates to true`)
}
func replaceAll() {
m.Match(`strings.Replace($s, $d, $w, $n)`).
Where(m["n"].Value.Int() <= 0).
Suggest(`strings.ReplaceAll($s, $d, $w)`)
}
Год назад я уже рассказывал об утилите ruleguard. Сегодня хотелось бы поделиться тем, что нового появилось за это время.
Основные нововведения:
- Поддержка установки наборов правил через Go модули (bundles)
- Программируемые фильтры (компилируются в байт-код)
- Добавлен режим отладки фильтров
- Появился хороший обучающий материал: ruleguard by example
- У проекта появились реальные пользователи и внешние наборы правил
- Онлайн песочница, позволяющая попробовать ruleguard прямо в браузере
Продолжение: обидно за мнения про статические анализаторы кода
2020-10-16 в 7:36, admin, рубрики: C, c++, pvs-studio, volatile, Блог компании PVS-Studio, опечатки, ошибки в коде, С++, Си, Совершенный код, статический анализ кода, статический анализатор кода
Планировалось, что, написав статью "Обидно за мнения про статические анализаторы кода", мы выговоримся и спокойно отпустим тему. Но неожиданно эта статья вызвала бурный отклик. К сожалению, обсуждение пошло не туда, и сейчас мы сделаем вторую попытку объяснить своё видение ситуации.
Читать полностью »
Обидно за мнения про статические анализаторы кода
2020-10-12 в 13:30, admin, рубрики: C, c++, pvs-studio, Блог компании PVS-Studio, Программирование, Си, статический анализ кода, статический анализатор кодаИнструменты статического анализа кода ушли далеко вперёд. Это вовсе не те "линтеры", которые активно применялись 20 лет тому назад. Однако многие по-прежнему относятся к ним как к очень простым инструментам. Обидно. Обидно как за методологию анализа кода в целом, так и за инструмент PVS-Studio.
Как внедрить статический анализатор кода в legacy проект и не демотивировать команду
2020-06-20 в 14:05, admin, рубрики: devops, DevSecOps, pvs-studio, Блог компании PVS-Studio, информационная безопасность, качество кода, Программирование, Совершенный код, старый код, статический анализ кода, статический анализатор кода, Управление продуктом
Попробовать статический анализатор кода легко. А вот, чтобы внедрить его, особенно в разработку большого старого проекта, потребуется умение. При неправильном подходе анализатор может добавить работы, замедлить разработку и демотивировать команду. Давайте кратко поговорим, как правильно подойти к интеграции статического анализа в процесс разработки и начать его использовать как часть CI/CD.
Читать полностью »
Начало коллекционирования ошибок в функциях копирования
2020-04-04 в 8:37, admin, рубрики: bugs, C, c++, memcpy, static code analysis, баги, Блог компании PVS-Studio, ошибки в коде, Си, статический анализ кода
Уже несколько раз замечал, что программисты допускают ошибки в простых функциях копирования данных. Эта тема потребует в будущем ещё много времени для изучения и подбора материала, чтобы написать основательную статью. Но захотелось поделиться парой примеров, недавно замеченных мною.
Читать полностью »