Инструмент PVS-Studio постоянно совершенствуется. При этом наиболее динамично в настоящее время развивается анализатор C# кода: в 2016 году в него было добавлено девяносто новых диагностических правил. Ну а лучшим показателем качества работы анализатора являются обнаруживаемые им ошибки. Всегда интересно, а также достаточно полезно, проводить повторные проверки больших открытых проектов, сравнивая результаты. Сегодня я остановлюсь на повторной проверке проекта SharpDevelop.
Читать полностью »
Рубрика «pvs-studio» - 26
Повторная проверка SharpDevelop: что нового?
2017-01-30 в 9:15, admin, рубрики: .net, C#, microsoft, open source, pvs-studio, static code analysis, Visual Studio, Блог компании PVS-Studio, разработка под windowsКак замкнуть переменную в C# и не выстрелить себе в ногу
2017-01-27 в 8:01, admin, рубрики: .net, C#, cil, il, pvs-studio, static code analysis, Блог компании PVS-Studio, замыкание переменных, захват переменных, Компиляторы, особенности C#, статический анализ кодаЕще в далеком 2005 с выходом стандарта C# 2.0 появилась возможность передачи переменной в тело анонимного делегата посредством ее захвата (или замыкания, кому как угодно) из текущего контекста. В 2008 вышел в свет новый стандарт C# 3.0, принеся нам лямбды, пользовательские анонимные классы, LINQ запросы и многое другое. Сейчас на дворе январь 2017 и большинство C# разработчиков с нетерпением ждут релиз стандарта C# 7.0, который должен привнести много новых полезных «фич». А вот фиксить старые «фичи», никто особо не торопится. Поэтому способов случайно выстрелить себе в ногу по-прежнему хватает. Сегодня мы поговорим об одном из их, и связан он с не совсем очевидным механизмом захвата переменных в тело анонимных функций в языке C#.

Как PVS-Studio ищет ошибки: методики и технологии
2017-01-12 в 11:31, admin, рубрики: C, C#, c++, pvs-studio, Блог компании PVS-Studio, информационная безопасность, Компиляторы, разработка программного обеспечения, Си, статический анализ, статический анализ кода, статический анализатор кода
PVS-Studio — статический анализатор исходного кода для поиска ошибок и уязвимостей в программах на языке C, C++ и C#. В этой статье я хочу дать обзор технологий, которые мы используем в анализаторе PVS-Studio для выявления ошибок в коде программ. Помимо общей теоретической информации я буду на практических примерах показывать, как та или иная технология позволяет выявлять ошибки.
Введение
Поводом для написания статьи стало моё выступление с докладом на открытой конференции ИСП РАН 2016 (ISPRAS OPEN 2016), проходившей в первых числах декабря в Главном здании Российской академии наук. Тема доклада: «Принципы работы статического анализатора кода PVS-Studio» (презентация в формате pptx).
К сожалению, время выступления было сильно ограничено, поэтому мне пришлось подготовить весьма короткую презентацию и не рассказать в докладе многое из того, что хотелось. Поэтому я решил написать эту статью, где более подробно расскажу о том, какие подходы и алгоритмы мы используем при разработке проекта PVS-Studio.
Читать полностью »
Как 10 лет назад начинался проект PVS-Studio
2016-12-29 в 12:57, admin, рубрики: 10 лет, C, c++, devops, pvs-studio, viva64, анализ кода, Блог компании PVS-Studio, информационная безопасность, история создания, история старта, история стартапов, Программирование, разработка под windows, разработка приложений, разработка программного обеспечения, статический анализ кода, статический анализатор кода
Десять лет назад мы создали простенькую утилиту под названием Viva64, предназначенную для выявления некоторых проблем в 64-битном коде. Так было заложено начало статического анализатора кода PVS-Studio. Хотя с того момента прошло 10 лет, что-то более-менее у нас, как у компании, стало получаться только несколько лет назад. Эта статья — не история успеха, так как мы считаем, что всё интересное только начинается. Однако, 10 лет — это повод подвести промежуточные итоги и рассказать нашим читателям как все начиналось, какие нас ждали ошибки, и что на данный момент у нас получилось. Местами я, возможно, буду не совсем хронологически точен при описании событий. Моя память не идеальна, а 10 лет — это длительный промежуток времени. Желаю всем приятного чтения.
Читать полностью »
Как делался новый дизайн сайта viva64.com разработчиков анализатора кода PVS-Studio
2016-12-27 в 6:17, admin, рубрики: pvs-studio, Блог компании PVS-Studio, дизайн сайтов, Развитие стартапа, разработка сайтов, Управление продуктом, управление проектами, управление разработкой
Сайту viva64.com — основной площадке разработчиков анализатора кода PVS-Studio исполнилось 10 лет! Домен был зарегистрирован 09.11.2006 года, а последнее серьезное обновление дизайна было выполнено в декабре 2010 года. Пришло время что-то поменять.
Истории о новогодних багах
2016-12-23 в 11:28, admin, рубрики: amazon, bugs, cristmas, iOS, pvs-studio, Блог компании PVS-Studio, Новый Год, ПрограммированиеВерите ли вы в волшебство? С логической точки зрения — конечно, нет! Программисты, разработчики — серьезные люди, с хорошим образованием и реалистичным взглядом на мир. Может вы и в детстве не любили сказки? Нет, я не буду больше отвечать за вас. Просто попрошу налить кружечку чая, почистить мандарин, взглянуть на снежинки за окном и только после этого начать читать эту Историю.
Перед вами рассказ о Злобном Баге. О том, как он неоднократно пытался испортить новогодние праздники. Часто ему удавалось воплотить свои коварные замыслы, но, к счастью, в каждой Сказке «злу» противостоит настоящее «добро».

Снова проверяем исходный код Umbraco
2016-12-19 в 7:20, admin, рубрики: .net, C#, microsoft, open source, pvs-studio, static code analysis, Visual Studio, Блог компании PVS-Studio, Программирование
Время неумолимо. Казалось бы, только недавно мы анонсировали выход статического анализатора для C# кода, проверили первые проекты и начали писать про это статьи. И вот уже прошел целый год с этого момента. Год кропотливой и сложной работы по улучшению характеристик анализатора, добавлению новых диагностических правил, сбору статистики ложных срабатываний и устранению их причин, взаимодействию с пользователями и решению массы других вопросов. Год множества маленьких и больших побед на том трудном, но невероятно интересном пути, который мы для себя выбрали. Пришло время повторной проверки проекта, первым попавшего к нам для исследования с помощью нового C# анализатора год назад — Umbraco.
Читать полностью »
Тестируем Linux-версию PVS-Studio на Linux Kernel
2016-12-12 в 6:51, admin, рубрики: C, linux kernel, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, Разработка под Linux, системное программирование, статический анализ кода
С момента выхода публичной Linux-версии PVS-Studio, статья о повторной проверке ядра Linux оставалась лишь вопросом времени. Проект, который пишется профессионалами со всего мира, который используют большое количество людей в самых разных сферах, который регулярно проверяется и тестируется различными инструментами — проверка такого проекта будет серьёзным испытанием для любого статического анализатора. Какие ошибки удалось найти PVS-Studio в таких условиях?
Как использовать PVS-Studio бесплатно
2016-11-30 в 5:50, admin, рубрики: C, C#, c++, free, pvs-studio, static code analysis, бесплатно, Блог компании PVS-Studio, инструментарий, инструменты разработчика, информационная безопасность, ошибки в коде, Разработка под Linux, разработка под windows, Си, статический анализ кода
Мы хотим помочь миру программного обеспечения лучше познакомиться с инструментами статического анализа кода и повысить качество программного обеспечения. Мы предоставляем возможность бесплатного использования анализатора PVS-Studio студентам в учебных целях, индивидуальным разработчикам и коллективам энтузиастов.
Введение
Клиентами анализатора PVS-Studio являются отделы разработчиков различных компаний. Мы бы хотели, чтобы нашими клиентами были и индивидуальные разработчики. К сожалению, у нас ничего не получилось с экспериментальным продуктом CppCat. Мы не знаем, как построить успешный бизнес в сфере статического анализа кода, продавая персональные лицензии. Поэтому сейчас продукт PVS-Studio позиционируется исключительно как B2B решение.
Думаю, что наш провал с CppCat был предопределён. Мир диктует свои законы, и, например, тот же Coverity ориентирован на корпоративные лицензии. Однако, это не значит, что нужно исключать другие варианты взаимодействия с миром.
Мы долго думали, как помочь маленьким командам разработчиков или как распространять академические лицензии. На первый взгляд кажется, что самый простой путь — дарить лицензии тем, кто развивает бесплатное программное обеспечение. К сожалению, это решение не кажется нам правильным.
Стоит пояснить нашу позицию. Впрочем, если вам не терпится, вы можете сразу перейти к разделу «Бесплатная лицензия PVS-Studio». Если же читателю интересно узнать подробности, то предлагаю продолжить чтение.
Читать полностью »
Ищем и анализируем ошибки в коде Orchard CMS
2016-11-29 в 11:46, admin, рубрики: .net, ASP, C#, open source, orchard cms, pvs-studio, static code analysis, Блог компании PVS-Studio, статический анализ кодаOrchard — это бесплатная система управления контентом с открытым исходным кодом, являющаяся частью галереи ASP.NET-проектов с открытым исходным кодом некоммерческого фонда Outercurve Foundation.

Для нас, разработчиков статического анализатора PVS-Studio, это еще одна возможность проверить интересный проект, рассказать людям (и разработчикам в том числе) о найденных ошибках и, в свою очередь, еще раз протестировать наш анализатор. Сегодня речь пойдёт об ошибках, найденных в проекте Orchard CMS.
Читать полностью »
