Основная задача команды PVS-Studio — работа над статическим анализатором кода. Да, работу программиста нельзя назвать бесконечным праздником, но это не значит, что трудовые будни нашей команды — это 8-часовое сидение за компьютером. Эта статья о том, каким образом мы совмещаем приятное с полезным, а именно — реализуем свои творческие задумки и делаем попытки в завоевании интернет мира.
Читать полностью »
Рубрика «pvs-studio» - 27
PVS-Studio покоряет Интернет
2016-11-07 в 13:15, admin, рубрики: Instagram, pvs-studio, static code analysis, YouTube, Блог компании PVS-Studio, маркетинг, соцсети, статический анализ кодаПродолжаем проверять проекты Microsoft: анализ PowerShell
2016-11-02 в 8:14, admin, рубрики: .net, C#, microsoft, open source, powershell, pvs-studio, static code analysis, Visual Studio, Блог компании PVS-Studio, Оболочки, статический анализ кода
Для корпорации Microsoft в последнее время стало 'доброй традицией' открывать исходные коды своих программных продуктов. Тут можно вспомнить про CoreFX, .Net Compiler Platform (Roslyn), Code Contracts, MSBuild и прочие проекты. Для нас, разработчиков статического анализатора PVS-Studio, это возможность проверить известные проекты, рассказать людям (и разработчикам в том числе) о найденных ошибках и потестировать анализатор. Сегодня речь пойдёт об ошибках, найденных в ещё одном проекте Microsoft — PowerShell.
Читать полностью »
Находим ошибки в коде проекта LLVM с помощью анализатора PVS-Studio
2016-10-31 в 13:28, admin, рубрики: c/c++, c++, clang, LLVM, open source, pvs-studio, PVS-Studio for Linux, static code analysis, Блог компании PVS-Studio, инструменты разработчика, информационная безопасность, Компиляторы, обзор кода, ошибки в коде, ошибки в программе, Разработка под Linux, статический анализ кодаОколо двух месяцев назад я написал статью о проверке компилятора GCC с помощью анализатора PVS-Studio. Идея статьи была следующая: предупреждения GCC — это хорошо, но недостаточно. Надо использовать специализированные инструменты анализа кода, например, PVS-Studio. В качестве подтверждения я показал ошибки, которые PVS-Studio смог найти в коде GCC. Ряд читателей заметили, что качество кода GCC и его диагностики так себе, в то время как компилятор Clang современен, качественен, свеж и молод. В общем Clang — это ого-го! Что ж, значит пришло время мне проверить с помощью PVS-Studio проект LLVM.
Читать полностью »
Идем на рекорд: пятая проверка Chromium
2016-10-26 в 13:04, admin, рубрики: c++, chromium, code review, Google Chrome, open source, pvs-studio, Блог компании PVS-Studio, качество кода, обзоры кода, ошибки в коде, статический анализ кода
Казалось бы, Chromium был рассмотрен нами неоднократно. Внимательный читатель задастся логичным вопросом: «Зачем нужна еще одна проверка? Разве было недостаточно?». Бесспорно, код Chromium отличается чистотой, в чем мы убеждались каждый раз при проверке, однако ошибки неизбежно продолжают выявляться. Повторные проверки хорошо демонстрируют, что чем чаще будет применяться статический анализ, тем лучше. Хорошо, если проект проверяется каждый день. Ещё лучше, если анализатор используется программистами непосредственно при работе (автоматический анализ изменённого кода).
Читать полностью »
PVS-Studio для Linux
2016-10-25 в 6:12, admin, рубрики: C, c++, developer tools, pvs-studio, PVS-Studio for Linux, PVS-Studio для Linux, static code analysis, Блог компании PVS-Studio, инструменты разработчика, Разработка под Linux, разработка под windows, Си, статический анализ кодаСвершилось! Сегодня мы выпустили публичную версию анализатора PVS-Studio для Linux. Теперь разработчики Linux приложений получат новое мощное оружие для борьбы с багами в коде. Призываем разнести эту новость по миру. Расскажите своим коллегам по работе, напишите в Twitter и Facebook! Да будут программы надёжней и стабильней!
Читать полностью »
Ищем и анализируем ошибки в коде GitExtensions
2016-10-13 в 8:08, admin, рубрики: .net, C#, Git, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, Компиляторы, статический анализ кода
Как изестно Ядро Git представляет собой набор утилит командной строки с параметрами. Для комфортной работы как правило используются утилиты, дающие нам привычный графический интерфейс. Вот и мне довелось в свое время поработать с такой утилитой для Git, как GitExtensions. Не скажу, что это самый удобный инструмент, которым мне доводилось пользоваться (к примеру, тот же TortoiseGit мне нравится больше), но он явно и не безосновательно занимает свою нишу в списке любимых и проверенных утилит для работы с Git.
Недавно я вспомнил про него, и решил проверить статическим анализатором на наличие ошибок и опечаток его исходный код. О том, какие ошибки были найдены после проверки я расскажу в этой статье.
Читать полностью »
Я был просто обязан проверить проект ICQ
2016-10-04 в 6:23, admin, рубрики: c++, code review, ICQ, mail.ru, open source, pvs-studio, Блог компании PVS-Studio, открытый код, ошибки в коде, статический анализ кодаЯ не могу пройти мимо открытых исходников мессенджера ICQ. Это культовый проект, и когда исходные коды появились на сайте GitHub, вопрос, когда мы проверим его с помощью PVS-Studio, стал лишь вопросом времени. Конечно, у нас много и других интересных проектов, ждущих проверки. Например, недавно мы проверили GCC, GDB, Mono. Теперь наконец очередь дошла и до ICQ.
ICQ
ICQ (от англ. I seek you) это централизованная служба мгновенного обмена сообщениями, в настоящее время принадлежащая инвестиционному фонду Mail.ru Group. Количество пользователей ICQ снижается, но всё равно это приложение крайне популярно и широко известно среди IT-сообщества.
ICQ по меркам программистов является маленьким проектом. Я насчитал в нём 165 тысяч строк кода. Для сравнения, голое ядро анализатора PVS-Studio для анализа C++ кода реализуется с помощью 206 тысяч строк кода. Голое C++ ядро анализатора — это точно маленький проект.
Из интересного стоит отметить маленький процент комментариев. Утилита SourceMonitor утверждает, что в исходных кодах ICQ только 1,7% cтрок являются комментариями.
Исходники ICQ доступны для скачивания на сайте github: https://github.com/mailru/icqdesktop.
Читать полностью »
Чат-боты, и как нам с этим поможет Microsoft
2016-10-03 в 10:09, admin, рубрики: .net, C#, chatbots, microsoft, open source, pvs-studio, static code analysis, Visual Studio, Блог компании PVS-Studio Эта обзорная статья посвящена изучению стремительно набирающего в последнее время популярность направления в IT-индустрии — чат-ботам, а также роли Microsoft в процессе их развития. Будут рассмотрены: история возникновения, особенности ботов, основные и неожиданные области их применения, перспективы и ограничения технологии.
Читать полностью »
Ищем ошибки в Mono: сотни их
2016-09-22 в 15:43, admin, рубрики: .net, C#, crossplatform, Mono, Mono и Moonlight, open source, pvs-studio, static code analysis, xamarin, Блог компании PVS-Studio, статический анализ кода
Крупные проекты проверять интересно. Как правило, в них удаётся найти различные интересные ошибки и рассказать о них людям. Также это хороший способ тестирования нашего анализатора и улучшения различных его аспектов. Я давно хотел проверить 'Mono', и наконец-то такая возможность появилась. И, стоит сказать, проверка себя оправдала, так как удалось найти много занимательного. О том, что же нашлось, какие нюансы возникли при проверке, и будет эта статья.
Читать полностью »
GDB оказался крепким орешком
2016-09-16 в 8:01, admin, рубрики: C, gdb, pvs-studio, PVS-Studio for Linux, PVS-Studio для Linux, Блог компании PVS-Studio, отладка, Отладчик, Разработка под Linux, СиGDB — инструмент, без которого тяжело обойтись. Конечно, как говорит Брукс «Качество разработки программного продукта достигается благодаря правильному проектированию, а не бесконечному тестированию». Однако правильное проектирование не защищает от логических ошибок, опечаток, нулевых указателей и так далее. И вот здесь нам и помогают инструменты отладки кода, такие как GDB. Моя цель показать, что не менее полезными инструментами являются статические анализаторы кода, выявляющие многие ошибки на самых ранних этапах. Намного лучше, если ошибка будет исправлена в коде, ещё до этапа тестирования и отладки. Для демонстрации пользы от статического анализа кода, поищем внутри GDB ошибки с помощью анализатора PVS-Studio.
Читать полностью »