CMake — это кроссплатформенная система автоматизации сборки проектов. Эта система намного старше, чем статический анализатор кода PVS-Studio, при этом ещё никто не попробовал применить его к коду и сделать обзор ошибок. Ошибок, оказывается, много. Аудитория CMake огромна. На нём начинаются новые проекты и переносятся старые. Страшно представить, у скольких программистов могла проявиться та или иная ошибка.
Читать полностью »
Рубрика «static analysis» - 2
CMake: тот случай, когда проекту непростительно качество его кода
2019-08-19 в 6:24, admin, рубрики: C, c++, cmake, open source, pvs-studio, static analysis, Блог компании PVS-Studio, системы сборкиCMake: the Case when the Project’s Quality is Unforgivable
2019-08-19 в 6:21, admin, рубрики: C, c++, cmake, open source, pvs-studio, static analysis, Блог компании PVS-Studio, системы сборки
CMake is a cross-platform system for automating project builds. This system is much older than the PVS-Studio static code analyzer, but no one has tried to apply the analyzer on its code and review the errors. As it turned out, there are a lot of them. The CMake audience is huge. New projects start on it and old ones are ported. I shudder to think of how many developers could have had any given error.
Читать полностью »
Библиотеки Electronic Arts почти хорошего качества
2019-07-29 в 6:35, admin, рубрики: C, c++, ea games, Electronic Arts, open source, pvs-studio, static analysis, Блог компании PVS-Studio, разработка игрНаше внимание привлёк репозиторий Electronic Arts на GitHub. Он очень маленький и из двадцати трёх проектов нас заинтересовали только несколько C++ библиотек: EASTL, EAStdC, EABase, EAThread, EATest, EAMain и EAAssert. Проекты оказались тоже очень маленькими (около 10 файлов), поэтому мы нашли ошибки только в «самом большом» из 20 файлов :D Но нашли, и интересные! Пока писалась заметка, мы с коллегами также бурно обсудили игры компании EA и её стратегию :D
Cataclysm Dark Days Ahead, статический анализ и рогалики
2019-04-25 в 10:06, admin, рубрики: C, c++, Gamedev, open source, pvs-studio, static analysis, Блог компании PVS-Studio, разработка игр
Скорее всего, из названия статьи вы уже догадались, что в центре внимания ошибки в исходном коде. Но это вовсе не единственное, о чем пойдет речь в этой статье. Если кроме С++ и ошибок в чужом коде вас привлекают необычные игры и вам интересно узнать, что это такие за «рогалики» и с чем их едят, добро пожаловать под кат!
Читать полностью »
Following in the Footsteps of Calculators: Qalculate
2019-03-14 в 6:02, admin, рубрики: C, c++, calculator, open source, pvs-studio, static analysis, Блог компании PVS-Studio, Программирование
Previously we did code reviews of large mathematical packages, for example, Scilab and Octave, whereby calculators remained aloof as small utilities, in which it is difficult to make errors due to their small codebase. We were wrong that we haven't paid attention to them. The case with posting the source code of the Windows calculator showed that actually everyone was interested in discussing types of errors hiding in it. Moreover, the number of errors there was more than enough to write an article about that. My colleagues and I, we decided to explore the code of a number of popular calculators, and it turned out that the code of the Windows calculator was not that bad (spoiler).
Читать полностью »
Counting Bugs in Windows Calculator
2019-03-12 в 9:06, admin, рубрики: C, c++, calculator, open source, pvs-studio, static analysis, Visual Studio, windows, Блог компании PVS-Studio
A few days ago, Microsoft made the source code of their Windows Calculator publicly available. Calculator is an application that has traditionally shipped with every Windows version. A number of Microsoft projects went open-source over the recent years, but this time the news was covered even by non-IT media on the very first day. Well, it's a popular yet tiny program in C++. Despite its size, we still managed to find a number of suspicious fragments in its code using the PVS-Studio static analyzer.
Читать полностью »
Статический анализ в видеоигровой индустрии: топ-10 программных ошибок
2018-05-03 в 8:27, admin, рубрики: .net, C, C#, c++, CryEngine, DOOM, epic games, open source, pvs-studio, quake, static analysis, unity, Unreal Engine, x-ray engine, Xenko, Блог компании PVS-Studio, Программирование, разработка игр
Если вы занимаетесь разработкой ПО в сфере видеоигровой индустрии и задаётесь вопросом о том, что ещё можно сделать, чтобы повысить качество продукта упростить процесс разработки, и при этом не используете статический анализ — самое время начать. Сомневаетесь? Что ж, я попробую вас в этом убедить. Если же вам просто интересно посмотреть на ошибки, которые допускают разработчики из сферы видеоигровой индустрии, то, опять же, вы попали по адресу — специально для вас отобраны наиболее интересные.
Читать полностью »
Динамический анализ iOS-приложений без Jailbreak
2017-10-19 в 8:11, admin, рубрики: dynamic analysis, iOS, jailbreak, mobile, mobile app, static analysis, Блог компании «Digital Security», информационная безопасность, разработка под iOS, Тестирование мобильных приложенийВ рамках данной статьи мы хотим поделиться своим опытом решения некоторых проблем, связанных с анализом безопасности iOS-приложений. Рассмотрение будет осуществляться при условии, что у нас нет iOS-устройства с JailBreak на борту.
Баг месяца: эстафета от 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 год. Статьи понравились читателям и это натолкнуло на мысль: почему бы не сделать такой ТОП для каждого месяца? Ведь на нашем сайте огромная база ошибок, которая хорошо структурирована и из которой можно выбрать самые интересные баги, найденные в определенный промежуток времени. В этой заметке будет рассказано о новой рубрике «Баг месяца» и о том, из чего мы исходили, когда готовили список ошибок для нее.
Новый механизм подавления ненужных сообщений анализатора
2014-11-13 в 8:31, admin, рубрики: c++, developer tools, pvs-studio, static analysis, Блог компании PVS-Studio
На данный момент анализатор PVS-Studio уже имеет механизм для подавления ложных срабатываний (False Positive). Этот механизм полностью устраивает нас с функциональной точки зрения, т.е. у нас нет претензий к надёжности его работы. Однако, у некоторых из наших пользователей и клиентов возникало желание иметь возможность работать с сообщениями анализатора только на «новом», т.е. вновь написанном коде. Это желание вполне можно понять, учитывая, что в крупном проекте анализатор может сгенерировать тысячи или даже десятки тысяч сообщений на существующий код, править которые, конечно, никто не станет.