Ardour пока является самым крупным из музыкальных проектов, участвующих в обзоре дефектов кода. Проект включает около 1000 файлов исходного кода на языке C++. Проект активно поддерживается сообществом разработчиков, при этом я не нашёл упоминаний об использовании каких-либо инструментов статического анализа. Как следствие — множество ошибок разного характера. В статье будут описаны самые интересные из них.
Читать полностью »
Рубрика «Блог компании PVS-Studio» - 24
Обзор дефектов кода музыкального софта. Часть 4. Ardour
2017-11-23 в 6:58, admin, рубрики: ardour, C, c++, music, music software, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, Компиляторы, Работа со звуком, статический анализ кодаО PVS-Studio в преддверии открытой конференции ИСП РАН им. В.П. Иванникова
2017-11-17 в 13:09, admin, рубрики: C, c/c++, c++, pvs-studio, tizen, tizen os, Блог компании PVS-Studio, исп ран, итоги, конференции, конференция, Разработка под Tizen, си/си++, статический анализ кодаНаучное сообщество практически незнакомо со статическим анализатором кода PVS-Studio. 30 ноября и 1 декабря состоится мероприятие «Технологии анализа, моделирования и трансформации программ» в рамках открытой конференции ИСП РАН им. В.П. Иванникова. Я уверен, что это одно из самых тематичных для нас мероприятий, где новая аудитория могла бы узнать о существовании и возможностях анализатора PVS-Studio. На мой взгляд, наиболее подходящим для этого мог стать доклад, касающийся поиска ошибок в операционной системе Tizen. К сожалению, доклад получил отрицательные отзывы рецензентов и не будет включен в программу конференции. Тем не менее, пользуясь случаем, подведу итоги наших исследований, касающихся кода Tizen.
Отчёт PVS-Studio теперь в Html формате
2017-11-14 в 7:48, admin, рубрики: pvs-studio, static code analysis, Блог компании PVS-Studio, Компиляторы, статический анализ кода
В анализаторе PVS-Studio уже давно существовал Html отчёт, но он был настолько простым, что годился только для ознакомления с результатами анализа маленького объёма, например, по электронной почте. В этой заметке я расскажу, как был переработан этот формат и какие новые возможности он открывает для пользователей анализатора.
Читать полностью »
Андрей Карпов считает, что код проекта Manticore качественнее, чем код проекта Sphinx
2017-11-13 в 16:38, admin, рубрики: C, c/c++, c++, Manticore, open source, pvs-studio, sphinx, Блог компании PVS-Studio, качество кода, открытое программное обеспечение, СиМои читатели попросили сравнить проекты Manticore и Sphinx с точки зрения качества кода. Я могу сделать это только одним освоенным мною способом — проверить проекты с помощью статического анализатора PVS-Studio и посчитать плотность ошибок в коде. Итак, я проверил C и C++ код в этих проектах и, на мой взгляд, качество кода Manticore выше, чем качество кода Sphinx. Естественно, это очень узкий взгляд, и я не претендую на достоверность своего исследования. Однако меня попросили, и я сделал сравнение так, как умею.
Читать полностью »
Что не так с уязвимостями в C# проектах?
2017-10-31 в 6:35, admin, рубрики: .net, C#, CVE, open source, pvs-studio, security, static code analysis, vulnerabilities, Блог компании PVS-Studio, информационная безопасность, статический анализ кода, уязвимостиЭта небольшая заметка является промежуточным итогом на тему поиска уже известных уязвимостей в open source C# проектах. Я хотел посмотреть на примеры кода, который бы являлся уязвим и был причиной появления очередной CVE, но оказалось, что не всё так просто…
Читать полностью »
Время устранять ошибки в Open-Source проектах, конкурс
2017-10-25 в 7:38, admin, рубрики: C, C#, c++, open source, pinguem.ru, pvs-studio, баги, Блог компании PVS-Studio, конкурс, конкурсы, ошибки в программе, си/си++, статический анализ кодаСайт Pinguem.ru и команда PVS-Studio организуют конкурс, посвященный повышению качества открытого программного обеспечения. Для победы в конкурсе необходимо исправить как можно больше ошибок в одном или нескольких открытых проектах. Ошибки должны быть обнаружены с помощью статического анализатора кода PVS-Studio. Главный приз: консоль PlayStation 4 Pro.
Правила конкурса на сайте Pinguem.ru. Участвовать в конкурсе.
Читать полностью »
Обзор дефектов кода музыкального софта. Часть 3. Rosegarden
2017-10-23 в 6:37, admin, рубрики: C, c++, music, music software, open source, pvs-studio, rosegarden, static code analysis, Блог компании PVS-Studio, Компиляторы, статический анализ кода
Программы для работы с музыкой имеют маленький объём кода и, поначалу, я сомневался в возможности находить достаточное количество ошибок для статей. Тематику музыкального софта всё равно хотелось затронуть, поэтому я был готов объединять несколько проектов в статье. И вот я пишу уже третью статью, стараясь хоть как-то вместить интересные ошибки в одну статью. Третьим проектом для анализа выбран MIDI-секвенсор и нотный редактор — Rosegarden. Внимание! Прочтение статьи вызывает «Facepalm»!
Читать полностью »
Как проверить, находится ли значение указателя в заданной области памяти
2017-10-18 в 17:25, admin, рубрики: C, c language, c/c++, c++, Блог компании PVS-Studio, низкоуровневое программирование, Си, си/си++, системное программирование, указателиПусть у нас есть регион/область памяти, заданный с помощью двух переменных, например:
byte* regionStart;
size_t regionSize;
Требуется проверить, находится ли значение указателя в пределах этого диапазона. Возможно, вашим первым побуждением будет написать так:
if (p >= regionStart && p < regionStart + regionSize)
Но гарантирует ли стандарт ожидаемое поведение этого кода?
Читать полностью »
Философия статического анализа кода: у нас 100 программистов, анализатор нашел мало ошибок, он бесполезен?
2017-10-17 в 2:00, admin, рубрики: C#, c++, java, Блог компании PVS-Studio, статический анализ кода, Управление продуктом, управление проектами, управление разработкойЛюди очень часто неправильно думают про статический анализ кода.
Часто можно встретить такое мнение, выраженное в следующем абзаце:
У нас большой проект. В нем работает несколько десятков (сотен) программистов. То есть тот самый, про который вы пишите, что нужен статический анализ. Я скачал анализатор кода, выполнил проверку и нашел очень мало ошибок. Очевидно, что анализатор кода просто бесполезен!
Любите статический анализ кода
2017-10-16 в 12:06, admin, рубрики: C, c/c++, c++, pvs-studio, анализ кода, баги, Блог компании PVS-Studio, опечатки, ошибки в коде, Программирование, Си, си/си++, статический анализ кода, статический анализатор кода, я в шоке
Я в шоке от возможностей статического анализа кода, хотя сам участвую в разработке инструмента PVS-Studio. На днях я был искренне удивлён тому, что анализатор оказался умнее и внимательнее меня.
Читать полностью »