Search
Write a publication
Pull to refresh
119
0
Святослав @SvyatoslavMC

Product Manager

Send message

Beta-Testing of PVS-Studio Plugin for JetBrains CLion

Reading time6 min
Views1.4K


Visual Studio from Microsoft has long been the main development environment to work with the PVS-Studio analyzer. Our analyzer started off on Windows, so Visual Studio was an obvious and reasonable choice. In more than 10 years of PVS-Studio development, the analyzer has become available for several other languages and platforms. No wonder people ask us if we can integrate PVS-Studio into their favorite IDEs.

Read more →

Недолго музыка играла или анализ кода MuseScore

Reading time11 min
Views6.8K

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

Читать далее

Список ноотропов, покупка которых не окажется пустой тратой денег

Reading time5 min
Views311K

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

Читать далее

Йо-хо-хо, и бутылка рому! Разбираем ошибки игрового движка Storm Engine

Reading time11 min
Views4.5K

PVS-Studio – это инструмент статического анализа, позволяющий находить ошибки в исходном коде программ. В качестве знакомства с возможностями анализатора вашему вниманию предлагается результат проверки PVS-Studio исходного кода игрового движка Storm Engine.

Читать далее

Новые возможности PVS-Studio по оповещению разработчиков о найденных ошибках

Reading time7 min
Views960

В поддержку PVS-Studio часто поступают предложения от пользователей по улучшению продукта. Многие из них мы с радостью берёмся реализовывать. Одно из последних таких предложений было связано с доработкой утилиты автоматического оповещения разработчиков (Blame Notifier). Нас попросили научить ее извлекать дату/ревизию кода, на который анализатор выдал сообщение, с помощью blame информации из системы контроля версий. Такая доработка позволила расширить возможности утилиты, о которых мы и поговорим в этой статье.

Читать далее

Все английские времена в одной простой схеме

Reading time3 min
Views223K

В своё время я сам здорово намучился с английскими временами. Совершенно не получалось понять, как они формируются. Когда наконец удалось вызубрить все правила, самые простые существующие между временами закономерности всё равно оставались для меня неочевидными.

Как это часто бывает, по-настоящему понимаешь какую-то тему, только когда начинаешь рассказывать о ней другим («метод Фейнмана»). Несколько друзей, позавидовав моим «успехам», попросили помочь разобраться с английским. Тут и обнаружилось, что хотя я уже успешно использую английский в повседневной работе, обучать ему кого-то ещё — это совершенно отдельный навык.

Первоначальная идея. Сначала разъяснить все английские времена за один присест удавалось, надёргав различных идей из интернета: обрывки чьих-то схем, начинали склеиваться в свою схему и обрастать собственными легендами, а применение времён почти всегда было проще пояснить, используя хрестоматийную «систему английских времен с точки зрения употребления глагола “to vodka”». С каждой новой импровизированной лекцией, схема и нарратив продолжали меняться. «Ученики» попадались с различным базовым уровнем, что позволило понять, откуда нужно начинать плясать, чтобы урок был понятен всем, кто хоть раз слышал что-то про глаголы have и be. Когда счёт обученных уже пошёл на десятки, я решил оформить идею в более стройную лекцию. От первых попыток преподавания английских времён, до этого момента прошло пять лет. За это время было обучено ещё пару сотен человек. Обучено — по приколу. Денег за эти уроки я не брал.

Читать далее

Теперь PVS-Studio ещё лучше знает, что за зверь такой – strlen

Reading time4 min
Views3.7K

0824_DataFlow_And_Strlen_ru/image1.png


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

Читать дальше →

Подводные камни в бассейне строк, или ещё один повод подумать перед интернированием экземпляров класса String в C#

Reading time12 min
Views7.9K

Будучи разработчиками программного обеспечения, мы всегда хотим, чтобы написанное нами ПО работало быстро. Использование оптимального алгоритма, распараллеливание, применение различных техник оптимизации – мы будем прибегать ко всем известным нам средствам, дабы улучшить производительность софта. К одной из таких техник оптимизации можно отнести и так называемое интернирование строк. Оно позволяет уменьшить объём потребляемой процессом памяти, а также значительно сокращает время, затрачиваемое на сравнение строк. Однако, как и везде в жизни, необходимо соблюдать меру – не стоит использовать интернирование на каждом шагу. Далее в этой статье будет показано, как можно обжечься и создать своему приложению неочевидный bottleneck в виде метода String.Intern.

Читать далее

Собеседование на дизайнера в IT: вопросы, тестовое, подводные камни

Reading time10 min
Views7.7K

В последнее время наша компания очень бурно развивалась: за год маркетинговый отдел вырос в 2 раза, появился отдел интернет-проектов, расширилась активность HR- и event-направлений, увеличился охват соцсетей, сформировался более серьезный подход к рекламе. Фух. Мы оказались в ситуации, когда нагрузка в плане дизайна на одного человека уже стала непомерной. В итоге, приняв тот неизбежный факт, что второй дизайнер всё же нужен, мы начали поиски.

Читать далее

Новые возможности по поиску угроз безопасности и защищённости в PVS-Studio 7.12

Reading time7 min
Views1.1K

Безопасность. Что для вас значит это слово? В наше время компании тратят много усилий для того, чтобы их продукт был защищён от взлома и разного рода утечек информации. PVS-Studio решил помогать своим пользователям в данном направлении и расширять функционал в этой области. Поэтому одним из главных новшеств предстоящего релиза станет появление в анализаторе новых возможностей обеспечения безопасности и защищённости кода. Об этом и будет рассказано в данной статье.

Читать далее

PVS-Studio, Blender: цикл заметок о пользе регулярного использования статического анализа

Reading time6 min
Views3.2K

PVS-Studio мониторит код Blender


В статьях мы регулярно повторяем важную мысль: статический анализатор должен использоваться регулярно. В этом случае многие ошибки выявляются на самом раннем этапе, а их исправление максимально дёшево. Однако теория – это одно, но намного лучше подкреплять слова практическими примерами. Рассмотрим несколько свежих ошибок, появившихся в новом коде проекта Blender.

Читать дальше →

PVS-Studio вступает в битву с захардкоженными паролями

Reading time6 min
Views4.8K

PVS-Studio – статический анализатор, позволяющий обнаружить множество проблем, скрытых в исходном коде. Среди них также присутствуют ошибки, связанные с безопасностью приложений. К примеру, недавно анализатор научился определять наличие в коде конфиденциальных данных, таких как пароли. Данная потенциальная уязвимость находится в списке OWASP Top Ten и является куда более опасной, чем может показаться на первый взгляд. В чём же эта опасность состоит и как статический анализатор может от неё уберечь? Что ж, об этом (и не только) и написана данная заметка!

Читать далее

Free Heroes of might and magic 2 – open-source проект, в котором хочется участвовать

Reading time9 min
Views12K

Недавно в сети появилась новость о релизе новой версии проекта fheroes2. У нас в компании многие сотрудники являются поклонниками серии игр Heroes of Might and Magic, и естественно, мы могли пройти мимо и в процессе ознакомления с проектом проверили его анализатором PVS-Studio.

Читать далее

Обработка дат притягивает ошибки или 77 дефектов в Qt 6

Reading time24 min
Views8.4K

PVS-Studio проверяет Qt 6


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

Читать дальше →

Зачем PVS-Studio использует анализ потока данных: по мотивам интересной ошибки в Open Asset Import Library

Reading time5 min
Views1.5K

PVS-Studio - Анализ потока данных
Анализ потока данных является неотъемлемой частью любого современного статического анализатора кода. Однако, со стороны, не очень понятно, что это и главное – зачем нужно. До сих пор некоторые ассоциируют статический анализ с поиском чего-то в коде по определённому шаблону. Поэтому время от времени мы пишем заметки, в которых демонстрируем, как та или иная технология, используемая в анализаторе PVS-Studio, помогает выявить очередную интересную ошибку. Сегодня как раз такая статья, в которой мы рассмотрим баг в одной из реализаций стандарта кодирования двоичных данных Base64.

Читать дальше →

Должен ли out-параметр быть проинициализирован до возврата из метода?

Reading time15 min
Views19K

0800_OutParamsCs_ru/image1.png


Наверняка каждый, кто писал на C#, сталкивался с использованием out-параметров. Кажется, что с ними всё предельно просто и понятно. Но так ли это на самом деле? Для затравки предлагаю начать с задачки для самопроверки.

Читать дальше →

Как в GitHub смотреть красивые отчеты об ошибках с помощью SARIF

Reading time7 min
Views3.7K

Вы пользуетесь GitHub, пишете код и делаете прочие веселые штуки. Для повышения качества своей работы и оптимизации своего времени используете статический анализатор. И вот вам приходит идея - а почему бы не смотреть на ошибки, которые выдал анализатор, прямо в GitHub? Да и еще, чтобы это красиво выглядело. Что же делать в этом случае? Ответ очень простой. Ваш выбор – SARIF. О том что это такое, как это настроить, и будет рассказано в данной статье. Приятного чтения.

Читать далее

Дорожная карта PVS-Studio на 2021 год

Reading time7 min
Views2.7K

PVS-Studio Дорожная карта


В начале года наша команда года провела несколько встреч и выработала внутреннюю карту развития компании и продукта PVS-Studio на 2021 год. Мы решили оформить часть наших планов в виде этой статьи. Неопубликованная часть планов секретна? Нет, но вряд ли нашим читателям будут интересны подробности по планам обучения отдельных сотрудников или когда и какой сервер мы планируем приобрести. Здесь мы опишем основные планы развития самого программного продукта PVS-Studio и его позиционирования.

Читать дальше →

Шпион под прикрытием: проверяем исходный код ILSpy с помощью PVS-Studio

Reading time16 min
Views5.5K

В блоге компании PVS-Studio можно найти далеко не одну статью с результатами проверок исходного кода различных компиляторов. С другой стороны, немного обделённым вниманием PVS-Studio кажется другой класс программ - класс декомпиляторов. Дабы сделать мир более гармоничным, был проверен исходный C# код программы ILSpy, как раз относящейся к лагерю декомпиляторов. Давайте же посмотрим, что интересного смог найти PVS-Studio.

Читать далее

Выявляем опечатки в проекте GTK 4 с помощью PVS-Studio

Reading time16 min
Views1.9K

0793_GTK_4_continue_ru/image1.png


Возможно, вы уже читали недавнюю статью о процессе первого запуска PVS-Studio на примере проекта GTK 4 и о первичной фильтрации предупреждений. Теперь пришло время поработать с полученным отчётом более подробно. И как уже догадались наши постоянные читатели, предлагаю вашему вниманию статью с описанием найденных в коде ошибок.

Читать дальше →

Information

Rating
Does not participate
Works in
Date of birth
Registered
Activity