В данной статье я хочу рассказать о том, с какими проблемами столкнулись разработчики PVS-Studio при поддержке новой версии Visual Studio. Кроме того, постараюсь ответить на вопрос: почему поддержка нашего C# анализатора, основанного на «готовом решении» (в данном случае, это Roslyn), оказывается в некоторых ситуациях более затратной, чем нашего «самописного» С++ анализатора.
Читать полностью »
Рубрика «pvs-studio» - 23
Поддержка Visual Studio 2017 и Roslyn 2.0 в PVS-Studio: иногда использовать готовые решения не так просто
2017-05-03 в 8:33, admin, рубрики: .net, C#, msbuild, plugin, pvs-studio, roslyn, Visual Studio, visual studio 2017, Блог компании PVS-Studio, дьявол в деталях, разработка под windowsКак используя PVS-Studio можно улучшить Visual C++ 2017 Libraries
2017-05-02 в 12:19, admin, рубрики: bugs, C, c/c++, c++, dev tools, MFC, pvs-studio, visual c++, Visual Studio, visual studio 2017, VS2017, библиотеки, Блог компании PVS-Studio, Компиляторы, ошибки, ошибки в коде, разработка под windows, Си, статический анализ кодаНазвание статьи намекает разработчикам Visual Studio, что они могут получать пользу от использования статического анализатора кода PVS-Studio. В статье приводятся результаты анализа библиотек, входящих в состав недавно выпущенной версии Visual C++ 2017, и даются рекомендации по улучшению и устранению ошибок. Приглашаю читателей узнать, как разработчики Visual C++ Libraries отстреливают ноги: будет интересно и познавательно.
Читать полностью »
Простая ошибка при кодировании — не значит нестрашная ошибка
2017-04-19 в 8:30, admin, рубрики: c++, devops, pvs-studio, Блог компании PVS-Studio, заблуждения, качество кода, код, менеджмент проектов, статический анализ кода, Управление продуктом, управление проектами, управление разработкой
Популяризируя статический анализатор кода PVS-Studio, мы обычно пишем статьи для программистов. Однако, на некоторые вещи программисты смотрят одностороннее. Именно поэтому и существуют менеджеры программных проектов, которые могут управлять процессом развития проекта направлять его в нужное русло. Я решил написать несколько статей, целевой аудиторией которых являются менеджеры программных проектов. Эти статьи помогут им лучше ориентироваться в вопросах использования методологии статического анализа кода. Сейчас мы рассмотрим ложный постулат: «ошибки кодирования несущественны».
Читать полностью »
Статья о статическом анализе кода для менеджеров, которую не стоит читать программистам
2017-04-14 в 14:18, admin, рубрики: bugs, C, c/c++, C#, c++, devops, pvs-studio, static code analysis, Блог компании PVS-Studio, информационная безопасность, качество кода, ошибки в коде, ошибки в программе, Си, статический анализ кода, управление персоналом, Управление продуктом, управление проектами, управление разработкой
Если вы считаете себя хорошим программистом, ну, скажем так, вы оцениваете свой уровень выше среднего, прошу не читать эту статью. Эта статья предназначена для менеджеров программных проектов. С ними я хочу обсудить хотя и важные, но скучные для программистов вопросы, связанные с методологией статического анализа кода.
Читать полностью »
Война машин: PVS-Studio vs TensorFlow
2017-04-11 в 16:18, admin, рубрики: c++, Google, machine learning, open source, pvs-studio, static code analysis, TensorFlow, Блог компании PVS-Studio, машинное обучение, Программирование, статический анализ кода
«I'll be back» ©. Думаю, все знают эту фразу. И хотя сегодня мы будем говорить не о возвращении терминатора, тема статьи в некотором роде схожа. Сегодня расскажем о проверке библиотеки машинного обучения TensorFlow и попробуем выяснить, можем ли мы спать спокойно, или час Skynet уже близок…
Читать полностью »
Как найти 56 потенциальных уязвимостей в коде FreeBSD за один вечер
2017-04-06 в 8:07, admin, рубрики: bugs, C, cwe, errors, freebsd, open source, pvs-studio, security, Блог компании PVS-Studio, информационная безопасность, ошибки в коде, Программирование, разработка операционных систем, Разработка под Linux, Си, статический анализ кода, уязвимости
Пришло время вновь проверить проект FreeBSD и продемонстрировать, что даже в таких серьезных и качественных проектах анализатор PVS-Studio легко находит ошибки. В этот раз я решил взглянуть на поиск ошибок с точки зрения обнаружения потенциальных уязвимостей. Анализатор PVS-Studio всегда умел выявлять дефекты, которые потенциально можно использовать для атаки. Но мы никогда не акцентировали на этом внимание и описывали ошибки как опечатки, последствия неудачного Copy-Paste и так далее, и не классифицировали их, например, согласно CWE. Сейчас очень популярно говорить и о безопасности, и об уязвимостях, поэтому попробую немного расширить ваше восприятие нашего анализатора. PVS-Studio — это не только поиск багов, но ещё и инструмент, повышающий безопасность кода.
Читать полностью »
Серьёзные ошибки в коде CryEngine V
2017-04-04 в 6:54, admin, рубрики: c++, CryEngine, crytek, game development, open source, pvs-studio, Блог компании PVS-Studio, обзор кода, Программирование, разработка игр
В мае 2016 года немецкая компания Crytek решила опубликовать на GitHub исходный код игрового движка CryEngine V. Проект находится в стадии активной разработки, что влечёт за собой появление множества ошибок в коде. Мы уже проверяли проект с помощью PVS-Studio для Windows, а теперь смогли проверить проект с помощью PVS-Studio для Linux. Материала снова набралось на большую статью с описанием только очень серьёзных ошибок.
Читать полностью »
Проверяем проект PascalABC.NET с помощью плагинов для SonarQube: SonarC# и PVS-Studio
2017-03-29 в 9:51, admin, рубрики: .net, C#, open source, pvs-studio, sonarqube, static code analysis, Visual Studio, Блог компании PVS-Studio, разработка под windows
В ноябре прошлого года в нашем блоге была опубликована статья о разработке и использовании плагина PVS-Studio для SonarQube. Мы получили много откликов от клиентов и просто заинтересованных пользователей с просьбами провести тестирование плагина на реальном проекте. Так как интерес к этому вопросу не ослабевает, было решено провести тестирование на C# проекте PascalABC.NET. Также не будем забывать, что SonarQube содержит собственный статический анализатор C# кода — SonarC#. Для полноты картины проведем исследование и SonarC#. Целью данной работы является не сравнение анализаторов, а показ основных особенностей их взаимодействия с сервисом SonarQube. Прямое сравнение анализаторов было бы не вполне корректным по той причине, что PVS-Studio является специализированным инструментом поиска ошибок и потенциальных уязвимостей, в то время как SonarQube — это сервис оценки качества кода по большому числу параметров: дублирование кода, соблюдение стандартов кодирования, покрытие кода модульными тестами, возможные ошибки в коде, плотность комментариев в коде, технический долг и т.д.
Читать полностью »
Дефекты безопасности, которые устранила команда PVS-Studio на этой неделе: выпуск N3
2017-03-24 в 13:21, admin, рубрики: bugs, c/c++, C#, CoreCLR, entity framework, freebsd, msbuild, open source, pvs-studio, Блог компании PVS-Studio, открытый код, ошибки в коде, статический анализ кода
Мы решили в меру своих сил регулярно искать и устранять потенциальные уязвимости и баги в различных проектах. Можно назвать это помощью open-source проектам. Можно — разновидностью рекламы или тестированием анализатора. Еще вариант — очередной способ привлечения внимания к вопросам качества и надёжности кода. На самом деле, не важно название, просто нам нравится это делать. Назовём это необычным хобби. Давайте посмотрим, что интересного было обнаружено в коде различных проектов на этой неделе. Мы нашли время сделать исправления и предлагаем вам ознакомиться с ними.
Читать полностью »
Баг месяца: эстафета от PC-Lint к PVS-Studio
2017-03-23 в 13:17, admin, рубрики: bug, C#, c++, open source, pvs-studio, static analysis, баг месяца, Блог компании PVS-Studio, Программирование, статический анализ кода, метки: баг месяцаНедавно мы опубликовали 2 статьи про ТОП 10 ошибок в открытых проектах C++ и C# за предыдущий 2016 год. Статьи понравились читателям и это натолкнуло на мысль: почему бы не сделать такой ТОП для каждого месяца? Ведь на нашем сайте огромная база ошибок, которая хорошо структурирована и из которой можно выбрать самые интересные баги, найденные в определенный промежуток времени. В этой заметке будет рассказано о новой рубрике «Баг месяца» и о том, из чего мы исходили, когда готовили список ошибок для нее.