Предлагаем читателю очередную статью о проверке известного open-source проекта. В этот раз мы проверили проект LibreOffice, представляющий собой офисный пакет. В его разработке принимает участие более чем 480 программистов. Код оказался весьма качественным и регулярно проверяемым статическим анализатором Coverity. Но, как и в любом другом большом проекте, были найдены новые ошибки и недочеты, о которых мы и расскажем в статье. Для разнообразия, в этот раз нас будут сопровождать не единороги, а коровы.
Читать полностью »
Рубрика «ошибки в коде» - 7
Проверка проекта LibreOffice
2015-03-01 в 13:19, admin, рубрики: bugs, c++, libreoffice, open source, pvs-studio, Блог компании PVS-Studio, коровы, ошибки в коде, ошибки в программеПроект Miranda NG получает приз «дикие указатели» (часть первая)
2014-11-25 в 7:43, admin, рубрики: c++, pvs-studio, Блог компании PVS-Studio, дикие указатели, обзор кода, ошибки в коде, разработка под windows, статический анализ кода
Я добрался до проекта Miranda NG и проверил его с помощью анализатора кода PVS-Studio. К сожалению, с точки зрения работы с памятью и указателями это самый неаккуратный проект из виданных мной. Хотя я внимательно не анализировал результаты, ошибок столь много, что я решил разбить собранный материал на 2 статьи. Первая статья будет посвящена указателям, а вторая всему остальному. Желаю приятного чтения, и не забудьте взять попкорн.
Читать полностью »
Valgrind — это хорошо, но недостаточно
2014-09-10 в 5:18, admin, рубрики: c++, pvs-studio, valgrind, баги, Блог компании PVS-Studio, динамический анализ кода, ошибки в коде, статический анализ кода, тестирование Не так давно мы пытались продемонстрировать пользу от использования статического анализатора PVS-Studio одной из компаний. Ничего дельного из этого не вышло. Но в процессе переписки я подготовил развёрнутый ответ, касающийся методологий статического и динамического анализа. Сейчас я решил оформить этот ответ в виде небольшой статьи. Думаю, текст может показаться интересным читателям, да и просто можно будет использовать эту статью при общении с новыми потенциальными клиентами.
Читать полностью »
10 самых распространённых ошибок при программировании на JavaScript
2014-08-16 в 16:08, admin, рубрики: javascript, баги, ошибки в коде, ошибки программистовСегодня JavaScript лежит в основе большинства современных веб-приложений. При этом за последние годы появилось большое количество JavaScript-библиотек и фреймворков для разработчиков Single Page Application (SPA), графики, анимации и даже серверных платформ. Для веб-разработки JavaScript используется повсеместно, и поэтому качество кода обретает всё большее значение.
На первый взгляд, этот язык может показаться довольно простым. Встраивание в веб-страницу базового функционала JavaScript — это не проблема для любого опытного разработчика, даже если он ранее не сталкивался с этим языком. Однако это обманчивое впечатление, поскольку JavaScript гораздо сложнее, мощнее и чувствительнее к нюансам, чем кажется поначалу. Немало тонкостей в этом языке приводит к большому количеству распространённых ошибок. Сегодня мы рассмотрим некоторые из них. На эти ошибки нужно обратить особое внимание, если вы хотите отлично программировать на JavaScript.
Читать полностью »
Проверка PVS-Studio с помощью Clang
2014-08-08 в 16:44, admin, рубрики: c++, clang, LLVM, pvs-studio, static code analysis, Блог компании PVS-Studio, Компиляторы, ошибки в коде, статический анализ кода
Да, да. Вы не ослышались. В этот раз статья «наоборот». Не мы проверяем какой-то проект, а проверили наш анализатор с помощью другого инструмента. На самом деле, подобное делали мы и раньше. Например, проверяли PVS-Studio с помощью Cppcheck, с помощью анализатора, встроенного в Visual Studio, смотрели на предупреждения Intel C++. Но раньше не было повода написать статью. Ничего интересного не находилось. А вот Clang смог заинтересовать своими диагностическими сообщениями.
Читать полностью »
Безопасная работа с php
2014-08-05 в 12:48, admin, рубрики: php, информационная безопасность, ошибки в коде Доброго времени суток!
В предыдущем посту я немного наговнокодил неправильно отнёсся к безопасности своего php кода. Добрые читатели сказали, что мне почитать и заминусовали. Теперь хотелось бы исправиться, а заодно рассказать тем, кто только начал учить php, как лучше работать с данными в php.Читать полностью »
Анализ одного рефакторинга
2014-07-28 в 9:42, admin, рубрики: ошибки в книгах, ошибки в коде, Проектирование и рефакторингВ данном крохотном посте речь пойдет об одной из глав, книги «Принципы, паттерны и методики гибкой разработки на языке C#», с названием «Рефакторинг». Глава полностью посвящена рефакторингу. На примере одного большого метода, автор последовательно модифицирует код, попутно объясняя почему он делает те или иные модификации. После каждого этапа, код прогоняется через тесты.
Очевидно, что многие примеры из книг, часто являются синтетическими, и предназначены только для пояснения какой-либо мысли статьи. По этому часто в книгах присутствуют как синтаксические так и логические ошибки, и обычно, это ни как не ухудшает восприятие книги.
Статья не преследует цели дискредитации автора, просто показалось интересным выложить свои наблюдения и услышать мнение сообщества по этому поводу.
Читать полностью »
Математикам доверяй, но проверяй
2014-03-30 в 5:52, admin, рубрики: bugs, c++, error, pvs-studio, SciLab, Блог компании PVS-Studio, математический пакет, обзор кода, ошибки в коде, ошибки в программе, Си, статический анализ кода, метки: bugs, c++, error, pvs-studio, SciLab, математический пакет, обзор кода, ошибки в коде, ошибки в программе, Си, статический анализ кода
Я временами бываю озадачен, рассматривая ошибки в очередном программном проекте. Многие из этих ошибок живут в проектах годами. Смотришь на сотню ляпов в коде и удивляешься, как программа вообще работает. И ведь как-то работает. Ей даже пользуются. Причем, я говорю не о коде, рисующем покемона в игре. А, например, о математических библиотеках. Да, вы верно догадались. В этой статье пойдет речь о проверке кода математической библиотеки Scilab.
Читать полностью »
Единорог заинтересовался микромиром
2014-03-18 в 6:01, admin, рубрики: bugs, c++, open source, pvs-studio, Блог компании PVS-Studio, обзор кода, ошибки в коде, метки: bugs, c++, open source, pvs-studio, обзор кода, ошибки в коде, Си
В этот раз интересные примеры ошибок нам преподнёс микромир. Мы проверили с помощью анализатора кода PVS-Studio открытый проект μManager. Это программный пакет для автоматизированного получения изображения с микроскопа.
Читать полностью »
Побочный результат: проверяем CryEngine 3 SDK с помощью CppCat
2014-03-10 в 14:11, admin, рубрики: bugs, c++, code review, cppcat, game development, pvs-studio, Блог компании PVS-Studio, ошибки в коде, ошибки в программе, метки: bugs, c++, code review, cppcat, pvs-studio, ошибки в коде, ошибки в программе, Си
Мы закончили сравнивать статические анализаторы кода CppCat, Cppcheck, PVS-Studio и анализатор встроенный в Visual Studio 2013. В ходе этого было проверено более 10 открытых проектов. И про некоторые из них можно написать статьи. Вот очередная такая статья о результатах проверки проекта CryEngine 3 SDK.
Читать полностью »