В этой статье я хочу рассказать о проверке проекта ReOpenLDAP. Этот проект был реализован для решения проблем, возникших при эксплуатации OpenLDAP в инфраструктуре ПАО МегаФон — крупнейшего в России оператора мобильной связи. Сейчас ReOpenLDAP успешно работает в филиалах МегаФон по всей России, поэтому было бы интересно проверить столь высоконагруженный проект при помощи статического анализатора PVS-Studio.
Рубрика «Блог компании PVS-Studio» - 34
По просьбе читателей, проверяем код LDAP-сервера ReOpenLDAP
2016-08-22 в 8:07, admin, рубрики: C, open source, pvs-studio, ReOpenLDAP, static code analysis, Блог компании PVS-Studio, системное программирование, статический анализ кодаМы нашли 10000 ошибок в различных открытых проектах
2016-08-18 в 12:05, admin, рубрики: bugs, open source, pvs-studio, база ошибок, Блог компании PVS-Studio, открытый код, ошибки в программе, сделаем мир лучше, статический анализ кодаС целью популяризации методологии статического анализа в целом и анализатора PVS-Studio в частности мы регулярно проверяем различные открытые проекты. Найденные в них баги отлично демонстрируют, что никто не застрахован от опечаток, невнимательности и других ошибок. Именно никто, и подтверждения тому мы находим в таких проектах, как Microsoft Code Contracts, Qt, ядро Linux, CryEngine, VirtualBox, LibreOffice, Firefox, Boost, Tor и так далее. На данный момент нами проверено 262 проекта. И вот свершилось, мы нашли и выписали в базу 10000 багов.
Читать полностью »
Как статический анализ может дополнять юнит-тестирование на примере NUnit
2016-08-17 в 11:25, admin, рубрики: .net, C#, nunit, pvs-studio, tdd, Блог компании PVS-Studio, разработка через тестирование, статический анализ кода, юнит-тестирование, юнит-тестыДовольно часто при обсуждении средств статического анализа для C# проектов программисты пишут о том, что в этом нет необходимости, потому что с помощью юнит-тестирования они отлавливают большинство ошибок. Я решил проверить, насколько хорошо протестирован один из самых известных юнит-тест фреймворков — NUnit, и посмотреть найдёт ли там что-нибудь наш анализатор.
Читать полностью »
Космическая ошибка: $370 000 000 за Integer overflow
2016-08-16 в 10:01, admin, рубрики: Блог компании PVS-Studio, отладка, Программирование, Промышленное программирование, тестирование, Тестирование IT-системПуск.
37 секунд полета… бабах!
10 лет и 7 миллиардов долларов, потраченных на разработку.
Четыре полуторатонных спутника научной программы Cluster (изучение взаимодействия солнечного излучения с магнитным полем Земли) и ракета носитель Ariane 5 превратились в «конфети» 4 июня 1996 года.
А вину свалили на программистов.
Предыдущая модель — ракета Ariane 4 — успешно запускалась более 100 раз. Что пошло не так?
Чтобы штурмовать небеса, нужно хорошо знать язык Ада.
Читать полностью »
В ожидании Linux версии: проверка кода графического редактора Inkscape
2016-08-15 в 14:40, admin, рубрики: c++, inkscape, open source, pvs-studio, static code analysis, Блог компании PVS-Studio, обработка изображений, Программирование, статический анализ кодаВ этой статье речь пойдет о проверке еще одного известного open source проекта — векторного графического редактора Inkscape 0.92. Проект развивается уже более 12 лет и предоставляет множество возможностей по работе с различными форматами векторных иллюстраций. За это время его кодовая база выросла до 600 тысяч строк, и пришло время проверить его с помощью статического анализатора PVS-Studio.
Читать полностью »
Долгожданная проверка CryEngine V
2016-08-03 в 14:20, admin, рубрики: c++, CryEngine, crytek, game development, open source, pvs-studio, Блог компании PVS-Studio, обзор кода, Программирование, разработка игрВ мае 2016 года немецкая компания Crytek решила опубликовать на Github исходный код игрового движка CryEngine V. Игровой движок написан на языке C++ и сразу привлёк внимание как сообщества open-source разработчиков, так и команду разработчиков статического анализатора PVS-Studio, выполняющую проверку качества кода открытых проектов. На CryEngine разных версий сделано много отличных игр от разных игровых студий, и теперь движок стал доступен ещё большему числу разработчиков. Статья содержит обзор ошибок, выявленных с помощью статического анализатора кода.
Читать полностью »
Стряхнём пыль с глобуса: проверяем проект NASA World Wind
2016-08-02 в 9:02, admin, рубрики: .net, bugs, C#, NASA World Wind, pvs-studio, Блог компании PVS-Studio, все ошибаются, качество кода, ошибки в программе, Совершенный код, статический анализ кодаИногда полезно оглянуться и посмотреть, как мог помочь анализатор в старых проектах, и каких ошибок можно своевременно избежать, если использовать анализатор регулярно. В этот раз выбор пал на проект NASA World Wind, который до 2007 года разрабатывался на языке C#.
NASA World Wind — это интерактивный глобус, позволяющий увидеть любое место на Земле. Для работы проект использует базу публичных снимков со спутника Landsat и проект моделирования рельефа Shuttle Radar Topography Mission. Первые версии проекта создавались на языке С#. Позже проект продолжил своё развитие на языке Java. Последняя выпущенная на C# версия — 1.4. Хотя C# версия уже много лет как заброшена, это не помешает нам проверить проект и оценить качество кода, разработчиком которого является NASA Ames Research Center.
Зачем мы проверили старый проект? Нам давно предлагали проверить что-то из проектов NASA и вот мы случайно набрели на этот проект. Да, эта проверка не принесёт никакой пользы проекту. Но такой цели в этот раз мы и не ставили. Мы просто хотели в очередной раз продемонстрировать пользу, которую может приносить статический анализатор кода PVS-Studio при разработке, в том числе и компании NASA.
PVS-Studio признаётся в любви к Linux
2016-07-28 в 14:17, admin, рубрики: C, c++, clang, gcc, linux, pvs-studio, PVS-Studio for Linux, PVS-Studio для Linux, Блог компании PVS-Studio, Разработка под Linux, Си, статический анализ кода, статический анализатор кодаЭто заметка о любви. О любви статического анализатора кода PVS-Studio к замечательной открытой операционной системе Linux. Эта любовь молода, трогательная и ранима. Этой любви нужно помочь укрепиться. Вы поможете, если заранее запишитесь в добровольцы для тестирования beta-версии PVS-Studio for Linux.
Читать полностью »
Желания сбываются: интересные Си++ конференции России
2016-07-27 в 6:16, admin, рубрики: C, c++, c++11, C++14, Блог компании PVS-Studio, желания, конференции, конференция, С++Как известно весь ужас жизни в том, что мечты сбываются. Беда в том, что сбываются они не так, как хотелось. Однако в это раз я, видимо, правильно подошел к загадыванию желания, правильно визуализировал его и даже сформулировал письменно — "Хочу свой Луна-Парк с Fortran и Си". И вот свершилось: я могу заявить, что в России стабильно начали проводиться конференции по тематики Си++. Их организатором является замечательный человек — Сергей Платонов. В этой заметке я хочу выразить ему благодарность и порекламировать очередное мероприятие: C++ Siberia 2016, которое пройдет 26-27 августа в Технопарке Новосибирского Академгородка.
Читать полностью »
Сравниваем реализацию языков Python и Ruby по плотности ошибок
2016-07-22 в 7:05, admin, рубрики: C, open source, pvs-studio, python, ruby, static code analysis, Блог компании PVS-Studio, интерпретаторы, статический анализ кодаКакой язык программирования начать учить: Python или Ruby? Что из них лучше? Django или Ruby on Rails? Такие вопросы можно часто встретить на IT форумах всего мира. Я же предлагаю сравнить не сами языки, а их эталонные реализации: CPython и MRI. О том, какие ошибки в их интерпретаторах смог найти PVS-Studio, и пойдёт речь в этой статье.