Форум программистов, компьютерный форум, киберфорум
PVS-Studio
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
PVS-Studio - это инструмент для выявления ошибок в исходном коде программ, написанных на языках С, C++ и C#.

PVS-Studio выполняет статический анализ кода и генерирует отчёт, помогающий программисту находить и устранять ошибки. PVS-Studio выполняет широкий спектр проверок кода, но наиболее силён в поисках опечаток и последствий неудачного Copy-Paste. Показательные примеры таких ошибок: V501, V517, V522, V523, V3001.

Анализатор ориентирован на разработчиков, использующих среду Visual Studio, и может в фоновом режиме выполнять анализ измененных файлов после их компиляции. В идеале ошибки будут обнаружены и исправлены ещё до попадания в репозиторий. Однако ничто не мешает использовать анализатор для проверки всего решения целиком или для встраивания в системы непрерывной интеграции. Эти и иные способы использования анализатора описаны в документации.
Старый
Рейтинг: 5.00. Голосов: 1.
Ищем аномалии в X-Ray Engine
Запись от el_programmer размещена 20.06.2016 в 15:18 / PVS-Studio
Показов 4797 Комментарии 3

Автор: Павел Беликов

X-Ray Engine - игровой движок, который используется в играх серии S.T.A.L.K.E.R. 16 сентября 2014 года его исходный код был выложен в открытый доступ, и с тех пор его развитием занимаются фанаты. Большой размер проекта, огромное количество багов в играх - всё это располагает к отличной демонстрации возможностей статического анализатора кода PVS-Studio.

Нажмите на изображение для увеличения
Название: image1.png
Просмотров: 709
Размер:	218.8 Кб
ID:	3895

Вступление

X-Ray был создан украинской...
Старый
Проверка проекта OpenJDK с помощью PVS-Studio
Запись от el_programmer размещена 17.06.2016 в 12:31 / PVS-Studio
Показов 3016 Комментарии 0

Автор: Святослав Размыслов

В настоящее время многие проекты открывают свой исходный код и разрешают делать изменения в нем сообществу заинтересованных разработчиков. Мы проверим один из таких проектов - OpenJDK, и поможем разработчикам улучшить их код.

Нажмите на изображение для увеличения
Название: image1.png
Просмотров: 710
Размер:	49.8 Кб
ID:	3886

Введение

OpenJDK (Open Java Development Kit) - проект по созданию реализации платформы Java (Java SE), состоящий исключительно...
Старый
Занимательный C#
Запись от el_programmer размещена 15.06.2016 в 14:52 / PVS-Studio
Показов 2481 Комментарии 0

Автор: Виталий Алферов

Для оценки качества диагностик анализатора C# кода PVS-Studio мы проверяем большое количество различных проектов. Т.к. проекты пишутся разными людьми в различных командах в разных компаниях, нам приходится сталкиваться с различными стилями, сокращениями,...
Старый
Проверяем исходный код 7-Zip с помощью PVS-Studio
Запись от el_programmer размещена 14.06.2016 в 10:45 / PVS-Studio
Показов 3859 Комментарии 1

Автор: Кирилл Юдинцев

Одной из программ, которая позволяет решить задачу сжатия данных, является популярный файловый архиватор 7-Zip, я и сам частенько его использую. Читатели давно обращались к нам с просьбой проверить код данного приложения. Что ж, пришло время заглянуть в его исходники и посмотреть, что интересного сможет найти PVS-Studio.

Нажмите на изображение для увеличения
Название: image1.png
Просмотров: 571
Размер:	52.9 Кб
ID:	3879

Введение

Пара слов о проекте. 7-Zip - свободный...
Старый
Опечатки в Miranda IM
Запись от el_programmer размещена 30.05.2016 в 16:24 / PVS-Studio
Показов 2377 Комментарии 0

Автор: Александр Чибисов

Статья посвящена часто встречающимся ошибкам, возникающим из-за опечаток на примере проекта Miranda IM. Многие подобные ошибки могут привести к некорректному поведению программы, а некоторые из них не наносят явного вреда, но приводят к ухудшению понятности кода.


Нажмите на изображение для увеличения
Название: image1.png
Просмотров: 583
Размер:	52.5 Кб
ID:	3869

Введение

Miranda IM известная программа обмена мгновенными сообщениями. Исходный...
Старый
Microsoft открыла исходники Xamarin.Forms. Мы не могли упустить шанс проверить их с помощью PVS-Studio
Запись от el_programmer размещена 25.05.2016 в 10:30 / PVS-Studio
Показов 2453 Комментарии 0

Автор: Сергей Васильев

Не так давно, как вы наверняка знаете, корпорация Microsoft купила компанию Xamarin. Даже несмотря на то, что в последнее время Microsoft начала постепенно открывать исходные коды своих продуктов, открытие кода Xamarin.Forms стало большим сюрпризом. Я не смог пройти мимо такого события, и решил проверить исходный код этого проекта с помощью статического анализатора кода.

Нажмите на изображение для увеличения
Название: image1.png
Просмотров: 664
Размер:	178.2 Кб
ID:	3848

Анализируемый проект

...
Старый
Введение в Roslyn. Использование для разработки инструментов статического анализа. Часть 2
Запись от el_programmer размещена 19.05.2016 в 17:27 / PVS-Studio
Показов 3731 Комментарии 0

Часть 1: https://www.cyberforum.ru/blog... g4266.html


Семантическая модель

Семантическая модель предоставляет информацию об объектах и о типах объектов. Это очень мощный инструмент, позволяющий проводить глубокий и сложный анализ. Именно поэтому важно иметь корректную компиляцию...
Старый
Введение в Roslyn. Использование для разработки инструментов статического анализа. Часть 1
Запись от el_programmer размещена 19.05.2016 в 17:23 / PVS-Studio
Показов 3623 Комментарии 0

Автор: Сергей Васильев

Roslyn является платформой, предоставляющей разработчику различные мощные средства для разбора и анализа кода. Но наличия таких средств недостаточно, нужно понимать, что и для чего необходимо использовать. Данная статья несёт цель ответить на подобные вопросы. Помимо этого, будет рассказано об особенностях разработки статических анализаторов, использующих Roslyn API.


Нажмите на изображение для увеличения
Название: image1.png
Просмотров: 738
Размер:	10.8 Кб
ID:	3832


Введение

...
Старый
Демонстрация возможностей анализатора PVS-Studio на примере открытых проектов компании Microsoft
Запись от el_programmer размещена 18.05.2016 в 17:24 / PVS-Studio
Показов 2351 Комментарии 0

Автор: Андрей Карпов

Компания Microsoft постепенно начала отрывать исходный код некоторых своих проектов. Наша команда этому очень рада. Мы разделяем мнение, что код, над которым работают в Microsoft, имеет высокое качество. Более того, в компании Microsoft при разработке уже используются анализаторы кода. Поэтому, то, что инструменту PVS-Studio удаётся найти ошибки, является отличной демонстрацией его возможностей.

Нажмите на изображение для увеличения
Название: image1.png
Просмотров: 1144
Размер:	45.0 Кб
ID:	3816

PVS-Studio...
Старый
Проверка Firebird 3.0
Запись от el_programmer размещена 12.05.2016 в 10:57 / PVS-Studio
Показов 2071 Комментарии 0

Автор: Павел Беликов

Не так давно вышла новая версия СУБД Firebird. Релиз стал одним из масштабных в истории проекта: была сильно переработана архитектура, добавлена поддержка многопоточности, улучшена производительность. Такое значительное обновление и послужило поводом для повторной проверки Firebird с помощью статического анализатора кода PVS-Studio.


Нажмите на изображение для увеличения
Название: image1.png
Просмотров: 827
Размер:	63.2 Кб
ID:	3791


Введение

Firebird - это кроссплатформенная...
Старый
Рейтинг: 1.00. Голосов: 1.
Пояснение про ограничения демонстрационной версии PVS-Studio
Запись от el_programmer размещена 06.05.2016 в 11:18 / PVS-Studio
Показов 2016 Комментарии 1
Метки programming, tools

Автор: Андрей Карпов


У ограничений имеется две цели. Первая - как можно быстрее показать потенциальному пользователю, что статический анализатор может находить ошибки в его коде. Вторая - побудить к общению с нами в почте, чтобы помочь использовать инструмент правильно. Я уверен, что эта взаимосвязь непонятна, поэтому я и решил написать эту маленькую заметку.


Ограничения

Вначале кратко о существующих ограничениях....
Старый
Поиск ошибок с помощью вычисления виртуальных значений
Запись от el_programmer размещена 06.05.2016 в 11:10 / PVS-Studio
Показов 1486 Комментарии 0
Метки bugs, c#, coding, csharp, programming

Автор: Илья Иванов


В процессе работы статического анализатора точные значения или диапазоны значений некоторых переменных и выражений могут быть вычислены на этапе анализа. Это полезная информация, которую можно использовать при поиске ошибок. Мы называем такие...
Старый
Рейтинг: 5.00. Голосов: 1.
Вновь ищем ошибки в ReactOS
Запись от el_programmer размещена 04.05.2016 в 12:54 / PVS-Studio
Показов 3008 Комментарии 0

Автор: Александр Чибисов



Проект ReactOS продолжает активно развиваться, и размеры кода неуклонно растут. 16 февраля 2016 вышла новая версия операционной системы. Это хороший повод в очередной раз подвергнуть её статическому анализу. Для проверки используется анализатор PVS-Studio версии 6.02.

Нажмите на изображение для увеличения
Название: image001.png
Просмотров: 678
Размер:	92.3 Кб
ID:	3780

Введение

Решил попробовать себя в деле написания статей, связанных...
Старый
Главный вопрос программирования, рефакторинга и всего такого. Часть 4
Запись от el_programmer размещена 29.04.2016 в 15:02 / PVS-Studio
Показов 2014 Комментарии 0

Часть 1: https://www.cyberforum.ru/blog... g4221.html
Часть 2: https://www.cyberforum.ru/blog... g4222.html
Часть 3: https://www.cyberforum.ru/blog... g4223.html
Полная версия в ПДФ формате: https://yadi.sk/i/LKkWupFjr5WzR
Полная версия в ПДФ формате английский вариант: https://yadi.sk/i/zKHIOS84r87nk
Содержание

36. Если на вашем компьютере происходят магические события, проверьте...
Старый
Главный вопрос программирования, рефакторинга и всего такого. Часть 3
Запись от el_programmer размещена 29.04.2016 в 14:59 / PVS-Studio
Показов 2670 Комментарии 0

Часть 1: https://www.cyberforum.ru/blog... g4221.html
Часть 2: https://www.cyberforum.ru/blog... g4222.html
Часть 4: https://www.cyberforum.ru/blog... g4224.html
Полная версия в ПДФ формате: https://yadi.sk/i/LKkWupFjr5WzR
Полная версия в ПДФ формате английский вариант: https://yadi.sk/i/zKHIOS84r87nk

Содержание

24. Спецификаторы override и final должны стать вашими новыми друзьями...
Старый
Главный вопрос программирования, рефакторинга и всего такого. Часть 2
Запись от el_programmer размещена 29.04.2016 в 14:53 / PVS-Studio
Показов 2183 Комментарии 0

Часть 1: https://www.cyberforum.ru/blog... g4221.html
Часть 3: https://www.cyberforum.ru/blog... g4223.html
Часть 4: https://www.cyberforum.ru/blog... g4224.html
Полная версия в ПДФ формате: https://yadi.sk/i/LKkWupFjr5WzR
Полная версия в ПДФ формате английский вариант: https://yadi.sk/i/zKHIOS84r87nk


Содержание

12. Занимаясь Copy-Paste, сосредоточьтесь в конце работы...
Старый
Главный вопрос программирования, рефакторинга и всего такого. Часть 1
Запись от el_programmer размещена 29.04.2016 в 14:42 / PVS-Studio
Показов 2468 Комментарии 0

Автор: Андрей Карпов

Часть 2: https://www.cyberforum.ru/blog... g4222.html
Часть 3: https://www.cyberforum.ru/blog... g4223.html
Часть 4: https://www.cyberforum.ru/blog... g4224.html
Полная версия в ПДФ формате: https://yadi.sk/i/LKkWupFjr5WzR
Полная версия в ПДФ формате английский вариант: https://yadi.sk/i/zKHIOS84r87nk

Содержание

Предисловие
1. Не берите на себя работу...
Старый
Проверка PHP7
Запись от el_programmer размещена 29.04.2016 в 11:45 / PVS-Studio
Показов 2365 Комментарии 0

Автор: Сергей Васильев



Повторная проверка проектов нередко бывает весьма интересной. Она позволяет узнать, какие новые ошибки были допущены в ходе разработке приложения, а какие ошибки уже были исправлены. Раньше мой коллега уже писал о проверке PHP. С выходом новой версии (PHP7), я решил ещё раз проверить исходный код интерпретатора и нашёл кое-что интересное.

Нажмите на изображение для увеличения
Название: image1.png
Просмотров: 767
Размер:	273.1 Кб
ID:	3760



Проверяемый проект

PHP...
Старый
Рейтинг: 5.00. Голосов: 1.
Логические выражения в C/C++. Как ошибаются профессионалы
Запись от el_programmer размещена 11.04.2016 в 10:28 / PVS-Studio
Показов 3083 Комментарии 4
Метки bugs, c, c++, clang, programming, pvs-studio

Автор: Святослав Размыслов

Нажмите на изображение для увеличения
Название: image1.png
Просмотров: 851
Размер:	75.8 Кб
ID:	3742

Логическое выражение в программировании - конструкция языка программирования, результатом вычисления которой является "истина" или "ложь". Во многих книгах по программированию, предназначенных для изучения...
Старый
Плохой код пакета для создания 2D-анимаций Toonz
Запись от el_programmer размещена 07.04.2016 в 14:30 / PVS-Studio
Показов 2255 Комментарии 0

Автор: Святослав Размыслов

На днях стало известно о том, что Digital Video, создатели проекта TOONZ, и японский издатель DWANGO подписали соглашение о приобретении компанией DWANGO проекта Toonz, программного обеспечения для создания 2D анимации.

По условиям соглашения, подписанного...
Старый
Безопасная очистка приватных данных
Запись от el_programmer размещена 06.04.2016 в 17:19 / PVS-Studio
Показов 2291 Комментарии 0
Метки c, c++, clang, memset, programming, security

Автор: Роман Фомичев

Часто в программе необходимо хранить приватные данные. Например: пароли, ключи и их производные. Очень часто после использования этих данных, необходимо очистить оперативную память от их следов, чтобы злоумышленник не мог получить доступ к ним доступ. В этой заметке пойдет речь о том, почему для этих целей нельзя пользоваться функцией memset().

memset()

Возможно вы уже читали статью с описанием уязвимости программ, использующих memset()...
Старый
Проверка проекта Samba с помощью PVS-Studio под Linux
Запись от el_programmer размещена 05.04.2016 в 10:08 / PVS-Studio
Показов 2339 Комментарии 0

Автор: Орельен Аптель


Если вы следили за новостями о последних разработках в области инструментов анализа C/C++ кода, то, должно быть, слышали про инструмент PVS-Studio. Я узнал о нем благодаря статьям, которые разработчики публикуют на своем сайте и в которых они рассказывают...
Старый
О преобразовании типов в арифметических выражениях в C++ и C#
Запись от el_programmer размещена 29.03.2016 в 12:43 / PVS-Studio
Показов 2480 Комментарии 1

Автор: Илья Иванов



В арифметическом выражении типы операндов могут быть преобразованы к общему типу. Такие преобразования описаны в стандарте языка - в C# они существенно проще чем в C++. Тем не менее, скорее всего далеко не каждый программист знает обо всех тонкостях.

Возможно у вас были случаи, когда тип арифметического выражения оказывался не таким как вы предполагали? Насколько хорошо вы знаете стандарт языка? Предлагаю проверить себя, заменив auto...
Старый
Проверка исходного кода игрового движка Serious Engine v.1.10 к юбилею шутера Serious Sam
Запись от el_programmer размещена 22.03.2016 в 11:25 / PVS-Studio
Показов 2241 Комментарии 1

Автор: Святослав Размыслов

К юбилею выхода шутера от первого лица Serious Sam, который состоялся в марте 2016 года, разработчики игры из хорватской компании Croteam решили открыть исходный код игрового движка Serious Engine 1 v.1.10. Он заинтересовал много разработчиков, которые захотели изучить и улучшить движок. Я тоже решил поучаствовать в улучшении кода и подготовил статью с обзором ошибок, найденных с помощью статического анализатора PVS-Studio.


Введение...
Старый
Проверка кроссплатформенной библиотеки элементов интерфейса GTK+ c помощью PVS-Studio
Запись от el_programmer размещена 18.03.2016 в 11:43 / PVS-Studio
Показов 2358 Комментарии 0

Автор: Роман Фомичев


Для упрощения процесса разработки графического интерфейса приложения используются библиотеки элементов интерфейса. Одной из таких библиотек является GTK+. И именно этот проект я выбрал для своей первой статьи, посвященной анализатору PVS-Studio....
Старый
Проверяем исходный код плагина PVS-Studio с помощью PVS-Studio
Запись от el_programmer размещена 16.03.2016 в 16:57 / PVS-Studio
Показов 2563 Комментарии 0

Автор: Виталий Алферов

Один из вечных вопросов, с которыми мы встречаемся, звучит так - "Вы проверяли PVS-Studio с помощью PVS-Studio? Где статья о результатах проверки?". Да, мы регулярно делаем это, поэтому мы никак не могли написать статью об ошибках, которые нашли сами...
Старый
Рейтинг: 5.00. Голосов: 1.
Об одной интересной ошибке в Lucene.Net
Запись от el_programmer размещена 14.03.2016 в 16:08 / PVS-Studio
Показов 1979 Комментарии 0

Автор: Илья Иванов


Некоторые программисты, когда слышат про статический анализ, говорят о том, что он им не нужен, так как весь их код покрыт юнит-тестами, и этого достаточно, чтобы выловить все ошибки. Мне попалась ошибка, найти которую с помощью юнит-тестов теоретически возможно, но если о ней не знать, то написать такой тест практически нереально.


Введение

Lucene.Net - это портированная с Java на C# популярная...
Старый
Рейтинг: 1.00. Голосов: 1.
Ищем ошибки в игровом движке Xenko
Запись от el_programmer размещена 11.03.2016 в 09:54 / PVS-Studio
Показов 3156 Комментарии 1

Ищем ошибки в игровом движке Xenko

Автор: Васильев Сергей

Движков с открытым исходным кодом, написанных на C++, куда больше, чем аналогичных движков, написанных на C#. Но есть исключения. Xenko – один из движков, написанных на C# и имеющих открытый исходный код. О том, что же интересного удалось найти в коде этого движка, будет рассказано в этой статье.


Анализируемый проект


Xenko (ранее известный как Paradox)...
Новые блоги и статьи
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru