Мы провели эксперимент по проверке библиотеки glibc с помощью PVS-Studio. Цель эксперимента посмотреть, насколько успешно анализатор может проверять Linux-проекты. Пока плохо может. Возникает огромное количество ложных срабатываний из-за использования нестандартных расширений. Однако, всё равно удалось найти кое что интересного.
Читать полностью »
Метка «Си» - 2
Эксперимент по проверке библиотеки glibc
2014-02-26 в 11:22, admin, рубрики: glibc, linux, pvs-studio, Блог компании PVS-Studio, Си, статический анализ кода, метки: c++, glibc, pvs-studio, Си, статический анализ кодаПобочный результат: проверяем Firebird с помощью PVS-Studio
2014-02-21 в 8:32, admin, рубрики: c++, code review, firebird, Firebird/Interbase, pvs-studio, Блог компании PVS-Studio, инструменты разработчика, обзор кода, статический анализ кода, метки: c++, code review, firebird, pvs-studio, инструменты разработчика, обзор кода, Си, статический анализ кода
Сейчас мы заняты большой задачей. Мы хотим провести сравнение четырёх анализаторов кода: CppCat, Cppcheck, PVS-Studio и Visual Studio 2013 (встроенный анализатор кода). Для этого мы решили проверить не менее 10 открытых проектов и проанализировать отчёты, которые выдадут анализаторы. Это очень трудоёмкая задача и пока она не завершена. Но так как ряд проектов уже проверен, то про некоторые из них можно написать статьи. Чем я сейчас и займусь. Для начала опишу, что интересного удалось найти с помощью PVS-Studio в Firebird.
Читать полностью »
Open-source проекты, которые мы проверили с помощью PVS-Studio
2014-02-15 в 17:37, admin, рубрики: c++, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, открытый исходный код, си плюс плюс, статический анализ кода, метки: c++, open source, pvs-studio, static code analysis, открытый исходный код, Си, си плюс плюс, статический анализ кода
Подобная статья уже публиковалась на нашем сайте. Однако, количество проектов увеличивается, и, думаю, будет рационально раз в год обновлять список. Этим и займёмся.
Мы хорошо относимся к бесплатным open-source проектам. Мы стараемся уведомить авторов проектов о найденных недочётах и при необходимости предоставляем им на время лицензию.
Читать полностью »
LibRaw, Coverity SCAN, PVS-Studio
2014-02-07 в 6:02, admin, рубрики: c++, open source, pvs-studio, Блог компании PVS-Studio, обзор кода, статический анализ кода, метки: c++, pvs-studio, обзор кода, Си, статический анализ кода
Прочитал заметку о проверке маленького проекта LibRaw с помощью Coverity SCAN. Из статьи следует, что ничего интересного не нашлось. Решил попробовать, сможет ли найти что-то анализатор PVS-Studio.
Читать полностью »
Как вынудить процесс использовать новый адрес DNS-сервера из обновлённого resolv.conf без перезапуска самого процесса
2014-01-20 в 6:22, admin, рубрики: gdb, postgresql, Администрирование баз данных, Си, системное программирование, метки: c++, gdb, postgresql, Си Я работаю системным администратором Unix. Однажды к нам в отдел эксплуатации сервисов упал тикет от программиста с выдержой из лога application-сервера в заголовке: "pgbouncer cannot connect to server". Посмотрев логи pgbouncer'ов, я увидел, что периодически возникают lookup fail'ы при обращении к нашим DNS. Было установленно, что это связано не с работой наших DNS-серверов, а с ненадёжностью самого протокола UDP: иногда возникают потери пакетов по разным причинам.
В результате, было решено установить на каждом сервере с pgbouncer'ами по кэширующему BIND. И тут возникла интересная проблема: pgbouncer не перечитывал по сигналу HUP файл /etc/resolv.conf и продолжал обращаться к старым DNS-серверам. А перезагружать баунсеры категорически нельзя: есть проблемные проекты, которые очень болезненно относятся к разрывом сессий с базой.
В данной статье я расскажу как можно pgbouncer или любую другую программу, использующую библиотечный вызов getaddrinfo(), заставить перечитать resolv.conf и начать использовать новый DNS-сервер совершенно безболезненно для клиентов (без даунтайма). Читать полностью »
Альтернатива PVS-Studio за $250
2014-01-14 в 5:29, admin, рубрики: c language, c++, cppcat, pvs-studio, visual c++, Visual Studio, Блог компании PVS-Studio, обзор кода, ошибки программистов, Си, статический анализ кода, метки: c language, c++, cppcat, pvs-studio, visual c++, обзор кода, ошибки программистов, Си, статический анализ кода
Вас приветствуют разработчики статического анализатора кода PVS-Studio. Мы разработали новый программный продукт — CppCat. Разработан он так. Мы представили, что у нас нет PVS-Studio, но есть опыт в разработке инструментов статического анализа для языка Си/Си++. И мы с чистой головой разработали новый статический анализатор таким, каким бы хотели его видеть. Мы сделали инструмент простым и лёгким. И что многих обрадует, он будет стоить $250 за одну инсталляцию.
Читать полностью »
Вы еще не программируете микроконтроллеры? Тогда мы идем к вам!
2013-12-13 в 15:28, admin, рубрики: Atmega, avr, diy или сделай сам, LED, микроконтроллеры, Программинг микроконтроллеров, Си, таймер, метки: Atmega, avr, LED, микроконтроллеры, Си, таймерЗдравствуйте, уважаемые читатели!
В этой статье я хочу рассказать о том, как однажды решил начать программировать микроконтроллеры, что для этого понадобилось и что в итоге получилось.
Тема микроконтроллеров меня заинтересовала очень давно, году этак в 2001. Но тогда достать программатор по месту жительства оказалось проблематично, а о покупке через Интернет и речи не было. Пришлось отложить это дело до лучших времен. И вот, в один прекрасный день я обнаружил, что лучшие времена пришли не выходя из дома можно купить все, что мне было нужно. Решил попробовать. Итак, что нам понадобится:
Читать полностью »
Продолжение проверки Geant4
2013-11-14 в 11:35, admin, рубрики: bugs, c++, CERN, copy-paste, pvs-studio, Блог компании PVS-Studio, ошибки в коде, Совершенный код, статический анализ кода, метки: bugs, c++, CERN, copy-paste, pvs-studio, ошибки в коде, Си, статический анализ кодаНаписал правильную статья про проверку проекта Geant4. Напомню предысторию. Недавно была проверена старая версия библиотеки Geant4 и написана статья "Copy-Paste и мюоны". Почему была проверена старая версия? Люди не совершенны. Суть оплошности можно узнать в предыдущей статье. Теперь же вашему вниманию предлагается краткий отчет о проверке Geant4 версии 10.0-beta.
Copy-Paste и мюоны
2013-11-05 в 10:38, admin, рубрики: bugs, c++, CERN, cplusplus, pvs-studio, Блог компании PVS-Studio, ошибки, ошибки программистов, Совершенный код, метки: bugs, c++, CERN, cplusplus, pvs-studio, ошибки, ошибки программистов, Си
Сейчас я буду рассказывать и показывать на примерах, почему физики тоже должны использовать инструменты статического анализа кода. Мне бы хотелось, чтобы этим инструментом был PVS-Studio. Но, конечно, любой другой инструмент тоже будет полезен. Анализатор кода сократит время на отладку приложений и уменьшит головные боли от тупых ошибок. Лучше побольше думать о физике и поменьше об ошибках в программах на языке Си++.
Проверка VirtualDub
2013-10-18 в 7:58, admin, рубрики: bugs, c++, pvs-studio, virtualdub, Блог компании PVS-Studio, ошибки в программе, Совершенный код, метки: bugs, c++, pvs-studio, virtualdub, ошибки в программе, Си
Только что, я сел и проверил проект VirtualDub с помощью PVS-Studio. Выбор был случаен. Я считаю, самое главное регулярно проверять/перепроверять различные проекты, чтобы показать, как развивается анализатор кода PVS-Studio. А какой проект будет проверен, не так важно. Ошибки есть везде. Проект VirtualDub мы уже проверяли в 2011 году, но тогда почти ничего интересного не нашлось. Вот я и решил посмотреть, как обстоят дела, спустя 2 года.