Пока во всём мире обсуждают 89-ю церемонию вручения наград премии «Оскар» и составляют различные рейтинги актёров и их костюмов, мы решили подготовить обзорную статью в IT-сфере. Речь пойдёт о самых интересных ошибках, допущенных в проектах с открытым исходным кодом в 2016 году. Этот год был примечателен тем, что наш анализатор PVS-Studio стал доступен и в операционных системах, основанных на Linux. Представленные ошибки наверняка уже исправлены, и каждый читатель может убедиться в серьёзности ошибок, которые допускают разработчики.
Читать полностью »
Рубрика «static code analysis» - 13
Топ 10 ошибок в открытых проектах С++ за 2016 год
2017-03-10 в 11:44, admin, рубрики: c++, microsoft, open source, pvs-studio, static code analysis, Visual Studio, Блог компании PVS-Studio, разработка под windowsИщем и анализируем ошибки в коде Media Portal 2
2017-03-06 в 7:38, admin, рубрики: .net, C#, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, Компиляторы, статический анализ кодаMedia Portal 2 — это открытое программное обеспечение класса медиа центр, которое позволяет смотреть видео, фотографии, слушать музыку и многое другое. Для нас, разработчиков статического анализатора PVS-Studio, это еще одна возможность проверить интересный проект, рассказать людям (и разработчикам в том числе) о найденных ошибках и, в свою очередь, еще раз показать возможности нашего анализатора.
Топ 10 ошибок в проектах C# за 2016 год
2017-02-27 в 7:22, admin, рубрики: .net, C#, microsoft, open source, pvs-studio, static code analysis, Visual Studio, Блог компании PVS-Studio, разработка под windows Для оценки качества работы нашего анализатора, а также с целью популяризации методологии статического анализа, мы регулярно проверяем на наличие ошибок проекты с открытым исходным кодом и пишем про это статьи. Не стал исключением и прошедший 2016 год, который примечателен ещё и тем, что это было время своеобразного «взросления» C# анализатора. PVS-Studio получил значительное количество новых C# диагностик, улучшенный механизм работы с виртуальными значениями (symbolic execution) и многое другое. По результатам проделанной нашей командой работы, я составил своеобразный хит-парад наиболее интересных ошибок, обнаруженных в проектах С# в 2016 году.
Читать полностью »
Портирование — дело тонкое: проверка Far Manager под Linux
2017-02-16 в 7:59, admin, рубрики: c++, far manager, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, Компиляторы, статический анализ кодаОдним из популярных файловых менеджеров в среде Microsoft Windows является Far Manager, принявший эстафету у Norton Commander, созданной еще для DOS. Far Manager позволяет облегчить работу с файловой системой (создание, редактирование, просмотр, копирование, перемещение, поиск, удаление файлов), а также расширяет стандартный функционал (работа с сетью, архивами, резервными копиями и т.д.). Недавно была произведена работа по портированию Far Manager на Linux, и на текущий момент была выпущена альфа-версия. Команда PVS-Studio не могла обойти стороной данное событие и решила проверить качество адаптированного кода.
Проверка open-source сервера World of Warcraft CMaNGOS
2017-02-14 в 12:12, admin, рубрики: c++, open source, pvs-studio, static code analysis, world of warcraft, Блог компании PVS-Studio, разработка игр, статический анализ кодаВ этой статье мне хотелось бы поделиться результатами проверки статическим анализатором PVS-Studio открытой реализации сервера игры World of Warcraft – CMaNGOS.
Введение
C(ontinued)MaNGOS является активно развивающимся ответвлением старого проекта MaNGOS (Massive Network Game Object Server), призванного создать свободный альтернативный сервер для игры World of Warcraft. Большая часть разработчиков MaNGOS продолжает работу в проекте CMaNGOS.
Как пишут сами разработчики, их цель – создать открытый «well written server in C++» для одной из лучших MMORPG. Постараюсь немного помочь им в этом, и проверю CMaNGOS при помощи статического анализатора PVS-Studio.
Примечание: Для проверки использовался сервер CMaNGOS-Classic, доступный в репозитории проекта на github.
Читать полностью »
Инкрементальный анализ в PVS-Studio: теперь и на сборочном сервере
2017-02-13 в 11:13, admin, рубрики: build server, continuous integration, pvs-studio, static code analysis, Блог компании PVS-Studio, Компиляторы, Разработка под Linux, разработка под windows, статический анализ кода
Введение
При внедрении статического анализатора в существующий процесс разработки, команда может столкнуться с определенными трудностями. Например, очень полезно проверять измененный код перед тем, как он попадет в систему контроля версий. Однако, выполнение статического анализа в этом случае может требовать достаточно продолжительного времени, особенно на проектах с большой кодовой базой. В этой статье мы рассмотрим режим инкрементального анализа в статическом анализаторе PVS-Studio, который позволяет проверять только измененные файлы, что значительно сокращает время, необходимое для анализа кода. Следовательно, разработчики смогут использовать статический анализ так часто, как это необходимо, и минимизировать риски попадания кода, содержащего ошибку, в систему контроля версий. Поводом для написания статьи послужило, во-первых, желание еще раз рассказать о такой полезной функции нашего анализатора, а во-вторых, тот факт, что мы полностью переписали механизм инкрементального анализа и добавили поддержку этого режима в версию нашего анализатора для командной строки.
Читать полностью »
PVS-Studio и GitHub-сообщество: начало дружбы
2017-02-10 в 11:30, admin, рубрики: C#, c++, freesoftware, github, open source, pvs-studio, reviews, static code analysis, Блог компании PVS-Studio, статический анализ кодаНекоторое время назад было принято решение сделать статический анализатор кода PVS-Studio бесплатным для отдельных категорий разработчиков: студентов в учебных целях, индивидуальных разработчиков и коллективов энтузиастов. Постепенно количество бесплатных пользователей увеличивается, но мы решили напомнить о такой возможности, так как многие разработчики могли пропустить соответствующую новость.
Итак, всё началось со статьи: Как использовать PVS-Studio бесплатно.
Читать полностью »
Предложи проект для проверки анализатором PVS-Studio: теперь и на GitHub
2017-02-08 в 12:33, admin, рубрики: C, C#, c++, github, open source, pvs-studio, static code analysis, Блог компании PVS-Studio
Проверка проектов с помощью статического анализатора и написание обзорных статей с найденными в них ошибками – задача не из лёгких. Почти всегда это работа не одного человека, а коллектива. Большую роль в этом процессе играет выбор проекта. От него напрямую зависит интерес читателей к той или иной статье. В этой заметке я хочу рассказать, как можно предложить интересный проект для анализа через GitHub.
Читать полностью »
Почему я не люблю синтетические тесты
2017-02-06 в 8:36, admin, рубрики: C, c/c++, c++, itc-benchmarks, pvs-studio, static code analysis, Toyota ITC, Блог компании PVS-Studio, информационная безопасность, Си, статический анализ кода, тестирование по, тесты
Мне не нравится, когда кто-то пытается использовать созданные вручную примеры кода для оценки возможностей статического анализатора кода. Сейчас на конкретном примере я продемонстрирую, почему негативно отношусь к синтетическим тестам.
Не так давно Bill Torpey написал в своем блоге заметку "Even Mo' Static", где рассказал, как, на его взгляд, показали себя инструменты Cppcheck и PVS-Studio при анализе проекта itc-benchmarks. Проект itc-benchmarks — это static analysis benchmarks from Toyota ITC.
Мне не понравилось, что после прочтения статьи создается впечатление, что анализаторы Cppcheck и PVS-Studio приблизительно равны в своих возможностях. Из статьи следует, что один анализатор показывает себя лучше в одном, второй в другом, но в целом их диагностические возможности похожи.
Я думаю, что это не так. Мое мнение — наш анализатор PVS-Studio в несколько раз мощнее, чем Cppcheck. И вообще, это не «мнение», я знаю это!
Читать полностью »
Повторная проверка SharpDevelop: что нового?
2017-01-30 в 9:15, admin, рубрики: .net, C#, microsoft, open source, pvs-studio, static code analysis, Visual Studio, Блог компании PVS-Studio, разработка под windows Инструмент PVS-Studio постоянно совершенствуется. При этом наиболее динамично в настоящее время развивается анализатор C# кода: в 2016 году в него было добавлено девяносто новых диагностических правил. Ну а лучшим показателем качества работы анализатора являются обнаруживаемые им ошибки. Всегда интересно, а также достаточно полезно, проводить повторные проверки больших открытых проектов, сравнивая результаты. Сегодня я остановлюсь на повторной проверке проекта SharpDevelop.
Читать полностью »