Как стать автором
Обновить
123
0
Сергей Васильев @SergVasiliev

Software developer

Отправить сообщение

The story of how we changed the PVS-Studio icon

Время на прочтение5 мин
Количество просмотров1.2K



The 7.0 release marked a new milestone in the history of the PVS-Studio analyzer — the analysis is now available not only for the code, written in C, C++, C#, but also in Java. In addition to this global improvement, some existing mechanisms for the analysis are refined and improved, diagnostic rules are added. There was another significant change that you could hardly missed. We changed the icon.

Note. In the article, you will not find cunning tricks or tips on designing icons. The purpose of the article is a bit different this time — it is to tell a story, and, if possible, make it interesting.
Read more →
Всего голосов 35: ↑33 и ↓2+31
Комментарии0

Стреляем в ногу, обрабатывая входные данные

Время на прочтение8 мин
Количество просмотров9.8K


Связующее звено сегодняшней статьи отличается от обычного. Это не один проект, для которого был проведён анализ исходного кода, а ряд срабатываний одного и того же диагностического правила в нескольких разных проектах. В чём здесь интерес? В том, что некоторые из рассмотренных фрагментов кода содержат ошибки, воспроизводимые при работе с приложением, а другие – и вовсе уязвимости (CVE). Кроме того, в конце статьи немного порассуждаем на тему дефектов безопасности.
Всего голосов 37: ↑35 и ↓2+33
Комментарии8

Самые быстрые отчёты на диком западе. И горстка багов в придачу…

Время на прочтение7 мин
Количество просмотров10K

Picture 3

Не только Microsoft в последнее время выкладывает код собственных проектов в открытый доступ — другие компании тоже следуют этой тенденции. Для нас же — разработчиков PVS-Studio — это отличный способ ещё раз протестировать анализатор, посмотреть, что интересного он сможет найти, и сообщить об этом авторам проекта. Сегодня заглядываем внутрь проекта компании Fast Reports.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии6

Какие ошибки прячутся в коде Infer.NET?

Время на прочтение15 мин
Количество просмотров6K


Публикация корпорацией Microsoft исходников своих проектов является вполне хорошим поводом для их проверки. Этот раз исключением не стал, и сегодня мы посмотрим на подозрительные места, найденные в коде Infer.NET. Долой аннотацию – ближе к делу!
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии15

Статический анализ в видеоигровой индустрии: топ-10 программных ошибок

Время на прочтение11 мин
Количество просмотров17K


Если вы занимаетесь разработкой ПО в сфере видеоигровой индустрии и задаётесь вопросом о том, что ещё можно сделать, чтобы повысить качество продукта \ упростить процесс разработки, и при этом не используете статический анализ — самое время начать. Сомневаетесь? Что ж, я попробую вас в этом убедить. Если же вам просто интересно посмотреть на ошибки, которые допускают разработчики из сферы видеоигровой индустрии, то, опять же, вы попали по адресу — специально для вас отобраны наиболее интересные.
Читать дальше →
Всего голосов 42: ↑39 и ↓3+36
Комментарии26

Toп 10 ошибок в C++ проектах за 2017 год

Время на прочтение9 мин
Количество просмотров19K

Picture 1


За окном уже почти как 3 месяца стоит 2018 год, а это значит, что пришло время (пусть и немного запоздало) составить топ 10 ошибок, найденных анализатором PVS-Studio в C++ проектах за прошедший год. Итак, начнём!
Читать дальше →
Всего голосов 61: ↑54 и ↓7+47
Комментарии46

Сравнение качества кода Firebird, MySQL и PostgreSQL

Время на прочтение19 мин
Количество просмотров31K


Сегодняшняя статья несколько необычна. Как минимум по той причине, что вместо анализа одного проекта, будем искать ошибки сразу в трёх, а также посмотрим, где найдутся наиболее интересные баги. А самое интересное — мы выясним, кто молодец и пишет самый качественный код. Итак, на повестке дня — разбор ошибок в коде проектов Firebird, MySQL и PostgreSQL.
Читать дальше →
Всего голосов 63: ↑56 и ↓7+49
Комментарии32

Что не так с уязвимостями в C# проектах?

Время на прочтение4 мин
Количество просмотров15K



Эта небольшая заметка является промежуточным итогом на тему поиска уже известных уязвимостей в open source C# проектах. Я хотел посмотреть на примеры кода, который бы являлся уязвим и был причиной появления очередной CVE, но оказалось, что не всё так просто…
Читать дальше →
Всего голосов 28: ↑23 и ↓5+18
Комментарии28

Как PVS-Studio может помочь в поиске уязвимостей?

Время на прочтение15 мин
Количество просмотров6.8K


Уязвимость в терминах компьютерной безопасности — недостаток в системе, позволяющий намеренно нарушить её целостность или вызвать неправильную работу. Как показывает практика, даже, казалось бы, незначительный баг может являться серьёзной уязвимостью. Уязвимостей можно избежать, используя различные методики валидации и верификации программного обеспечения, в том числе — статический анализ. О том, как с задачей поиска уязвимостей справляется PVS-Studio, и пойдёт речь.
Читать дальше →
Всего голосов 39: ↑33 и ↓6+27
Комментарии6

Война машин: PVS-Studio vs TensorFlow

Время на прочтение16 мин
Количество просмотров14K


«I'll be back» ©. Думаю, все знают эту фразу. И хотя сегодня мы будем говорить не о возвращении терминатора, тема статьи в некотором роде схожа. Сегодня расскажем о проверке библиотеки машинного обучения TensorFlow и попробуем выяснить, можем ли мы спать спокойно, или час Skynet уже близок…
Читать дальше →
Всего голосов 64: ↑54 и ↓10+44
Комментарии15

Продолжаем проверять проекты Microsoft: анализ PowerShell

Время на прочтение14 мин
Количество просмотров11K

Для корпорации Microsoft в последнее время стало 'доброй традицией' открывать исходные коды своих программных продуктов. Тут можно вспомнить про CoreFX, .Net Compiler Platform (Roslyn), Code Contracts, MSBuild и прочие проекты. Для нас, разработчиков статического анализатора PVS-Studio, это возможность проверить известные проекты, рассказать людям (и разработчикам в том числе) о найденных ошибках и потестировать анализатор. Сегодня речь пойдёт об ошибках, найденных в ещё одном проекте Microsoft — PowerShell.
Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии24

Ищем ошибки в Mono: сотни их

Время на прочтение34 мин
Количество просмотров16K


Крупные проекты проверять интересно. Как правило, в них удаётся найти различные интересные ошибки и рассказать о них людям. Также это хороший способ тестирования нашего анализатора и улучшения различных его аспектов. Я давно хотел проверить 'Mono', и наконец-то такая возможность появилась. И, стоит сказать, проверка себя оправдала, так как удалось найти много занимательного. О том, что же нашлось, какие нюансы возникли при проверке, и будет эта статья.
Читать дальше →
Всего голосов 55: ↑51 и ↓4+47
Комментарии32

Accord.Net: ищем ошибку в коде, из-за которой машины поработят человечество

Время на прочтение16 мин
Количество просмотров13K

Статьи о проверке проектов с открытым исходным кодом — вещь полезная. Кто-то, в том числе и разработчики, узнает об ошибках, содержащихся в проекте, кто-то узнает о методологии статического анализа и начнет применять её для повышения качества своего кода. Для нас же это прекрасный способ популяризации анализатора PVS-Studio, а заодно возможность его дополнительного тестирования. На этот раз я проверил платформу Accord.Net и нашёл в коде много интересных фрагментов.
Читать дальше →
Всего голосов 28: ↑23 и ↓5+18
Комментарии13

Как не наступить на грабли, работая с сериализацией

Время на прочтение17 мин
Количество просмотров32K


Несмотря на то, что использовать механизм сериализации при программировании на C# достаточно просто и удобно, есть моменты, которые стоит учитывать. О том, на какие грабли можно наступить, работая с сериализацией, о примерах кода, в котором эти грабли припрятаны, а также о том, как PVS-Studio поможет вам избежать шишек на лбу, и будет эта статья.
Читать дальше →
Всего голосов 28: ↑23 и ↓5+18
Комментарии12

Microsoft открыла исходники Xamarin.Forms. Мы не могли упустить шанс проверить их с помощью PVS-Studio

Время на прочтение11 мин
Количество просмотров21K


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

Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии11

Введение в Roslyn. Использование для разработки инструментов статического анализа

Время на прочтение29 мин
Количество просмотров47K

Roslyn является платформой, предоставляющей разработчику различные мощные средства для разбора и анализа кода. Но наличия таких средств недостаточно, нужно понимать, что и для чего необходимо использовать. Данная статья несёт цель ответить на подобные вопросы. Помимо этого, будет рассказано об особенностях разработки статических анализаторов, использующих Roslyn API.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии11

Проверка PHP 7

Время на прочтение9 мин
Количество просмотров23K

Повторная проверка проектов нередко бывает весьма интересной. Она позволяет узнать, какие новые ошибки были допущены в ходе разработке приложения, а какие ошибки уже были исправлены. Раньше мой коллега уже писал о проверке PHP. С выходом новой версии (PHP7), я решил ещё раз проверить исходный код интерпретатора и нашёл кое-что интересное.
Результаты проверки
Всего голосов 40: ↑36 и ↓4+32
Комментарии28

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

Время на прочтение12 мин
Количество просмотров7.1K

Движков с открытым исходным кодом, написанных на C++, куда больше, чем аналогичных движков, написанных на C#. Но есть исключения. Xenko – один из движков, написанных на C# и имеющих открытый исходный код. О том, что же интересного удалось найти в коде этого движка, будет рассказано в этой статье.
Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Комментарии1

Единорог в космосе: проверяем исходный код 'Space Engineers'

Время на прочтение12 мин
Количество просмотров24K


Как вы уже поняли из заголовка, речь в статье будет идти о подозрительных местах, найденных в исходном коде 'Space Engineers'. Но формат статьи несколько отличается от остальных. Помимо информации о проекте, обзора некоторых найденных подозрительных мест и ошибок, а также способов их исправления, я включил в текст небольшой раздел о правильном сценарии использования статического анализатора. Настоятельно рекомендую ознакомиться с ним, так как многие разработчики не знают или просто не задумываются о том, как правильно использовать инструменты этого класса. В результате инструменты статического анализа используются на порядок менее эффективно, чем могли бы.
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии10

Проверяем исходный код набора C#/.NET компонентов от Sony

Время на прочтение9 мин
Количество просмотров11K

Как некоторые из вас помнят — недавно мы выпустили версию анализатора, поддерживающую проверку C#-кода. С появлением возможности анализа проверки проектов, написанных на C#, открывается новый простор для творчества. Об анализе одного из таких проектов, разработанного компанией Sony Computer Entertainment (SCEI), и пойдёт речь в данной статье.
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии5

Информация

В рейтинге
4 566-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Software Developer
C#
.NET
Editorial and proofreading
Public performance
Information Security
Software development
SAST / DAST