У ограничений имеется две цели. Первая — как можно быстрее показать потенциальному пользователю, что статический анализатор может находить ошибки в его коде. Вторая — побудить к общению с нами в почте, чтобы помочь использовать инструмент правильно. Я уверен, что эта взаимосвязь непонятна, поэтому я и решил написать эту маленькую заметку.
Читать полностью »
Рубрика «статический анализ кода» - 20
Пояснение про ограничения демонстрационной версии PVS-Studio
2016-05-06 в 6:52, admin, рубрики: c/c++, C#, demo, pvs-studio, trial, Блог компании PVS-Studio, демонстрация товара, сипровер, статический анализ кодаПоиск ошибок с помощью вычисления виртуальных значений
2016-05-05 в 8:59, admin, рубрики: C#, pvs-studio, static code analysis, Блог компании PVS-Studio, Программирование, статический анализ кодаВ процессе работы статического анализатора точные значения или диапазоны значений некоторых переменных и выражений могут быть вычислены на этапе анализа. Это полезная информация, которую можно использовать при поиске ошибок. Мы называем такие значения виртуальными значениями, о них и будет эта статья.
Проверка PHP 7
2016-04-28 в 10:41, admin, рубрики: C, open source, php, pvs-studio, static code analysis, Блог компании PVS-Studio, Си, статический анализ кода
Повторная проверка проектов нередко бывает весьма интересной. Она позволяет узнать, какие новые ошибки были допущены в ходе разработке приложения, а какие ошибки уже были исправлены. Раньше мой коллега уже писал о проверке PHP. С выходом новой версии (PHP7), я решил ещё раз проверить исходный код интерпретатора и нашёл кое-что интересное.
Читать полностью »
О преобразовании типов в арифметических выражениях в C++ и C#
2016-03-29 в 8:39, admin, рубрики: C#, c++, pvs-studio, static code analysis, Блог компании PVS-Studio, преобразование типов, статический анализ кода, метки: преобразование типов В арифметическом выражении типы операндов могут быть преобразованы к общему типу. Такие преобразования описаны в стандарте языка — в C# они существенно проще чем в C++. Тем не менее, скорее всего далеко не каждый программист знает обо всех тонкостях.
Читать полностью »
Проверяем исходный код плагина PVS-Studio с помощью PVS-Studio
2016-03-16 в 12:33, admin, рубрики: .net, C#, pvs-studio, static code analysis, Блог компании PVS-Studio, Компиляторы, разработка, статический анализ кода
Один из вечных вопросов, с которыми мы встречаемся, звучит так — «Вы проверяли PVS-Studio с помощью PVS-Studio? Где статья о результатах проверки?». Да, мы регулярно делаем это, поэтому мы никак не могли написать статью об ошибках, которые нашли сами в себе. Ошибки исправляются разработчиками ещё на этапе написания кода, и мы постоянно забываем в этот момент их выписать. Но читателям в этот раз повезло. Из-за недосмотра C# код плагина для Visual Studio не был добавлен в ежедневные ночные проверки, которые мы проводим. И, соответственно, в отличие от ядра анализатора, ошибки в нем не замечались на протяжении всего развития C# PVS-Studio. Как говорится, нет худа без добра, и благодаря этому вы и читаете данную статью.
Читать полностью »
Об одной интересной ошибке в Lucene.Net
2016-03-14 в 12:14, admin, рубрики: .net, C#, lucene.net, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, Программирование, статический анализ кода
Некоторые программисты, когда слышат про статический анализ, говорят о том, что он им не нужен, так как весь их код покрыт юнит-тестами, и этого достаточно, чтобы выловить все ошибки. Мне попалась ошибка, найти которую с помощью юнит-тестов теоретически возможно, но если о ней не знать, то написать такой тест практически нереально.
Свежий взгляд на код Oracle VM VirtualBox
2016-03-10 в 11:10, admin, рубрики: c++, open source, oracle, pvs-studio, virtualbox, Блог компании PVS-Studio, виртуализация, ошибки в программе, Программирование, статический анализ кода Виртуальные машины — важный инструмент в арсенале разработчика программного обеспечения. Мой интерес к коду VirtualBox вызван личным использованием этого продукта для проверки открытых проектов, а также для других разных задач, связанных с использованием нескольких операционных систем. Первая проверка этого проекта состоялась в 2014 году, тогда описание около 50 ошибок едва уместилось в двух статьях. C выходом Windows 10 и VirtualBox 5.0.XX, на мой взгляд, стабильность работы программы заметно ухудшилась. Поэтому я решил проверить проект ещё раз.
Читать полностью »
Ищем ошибки в игровом движке Xenko
2016-03-09 в 13:51, admin, рубрики: .net, C#, dotnet, game development, game engine, open source, paradox, pvs-studio, static code analysis, Xenko, Блог компании PVS-Studio, статический анализ кода
Движков с открытым исходным кодом, написанных на C++, куда больше, чем аналогичных движков, написанных на C#. Но есть исключения. Xenko – один из движков, написанных на C# и имеющих открытый исходный код. О том, что же интересного удалось найти в коде этого движка, будет рассказано в этой статье.
Читать полностью »
Как непродуманные предупреждения компиляторов помогают портить совершенно правильный код
2016-02-18 в 4:03, admin, рубрики: C, c++, Блог компании ABBYY, Компиляторы, переносимость, предупреждения, разработка, статический анализ кода, эвристикаЭто пост о сложностях взаимодействия искусственного и естественного интеллекта. Современные компиляторы имеют довольно развитые средства статического анализа, которые умеют выдавать предупреждения на разные подозрительные конструкции в коде. В теории эти предупреждения должны помочь разработчикам делать меньше ошибок в коде.
На практике далеко не всегда предупреждения компилятора одинаково полезны. Зачастую они не помогают разработчикам, а мешают им и могут провоцировать на исправление совершенно правильного кода, т.е. на нарушение правила «работает — не трогай».
Читать полностью »
PVS-Studio покопался в ядре FreeBSD
2016-02-17 в 16:48, admin, рубрики: C, c++, freebsd, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, Компиляторы, Си, статический анализ кода Около года назад мы смогли проверить ядро Linux. Это была одна из самых обсуждаемых статей о проверке open-source проекта за всё время. Предложения обратить внимание и на FreeBSD тогда активно поступали, но только сейчас появилось достаточно времени, чтобы это сделать.
Читать полностью »