LINUX.ORG.RU

Сообщения Andrey_Karpov_2009

 

Предоставляем анализатор PVS-Studio экспертам безопасности (jollheef и этим всё сказано :)

Закрыта хорошая тема «Предоставляем анализатор PVS-Studio экспертам безопасности» - www.linux.org.ru/forum/security/13462694?lastmod=1496745597867

Сообщение удалено jollheef по причине '6.2 Warez (-3)'

Нарушение copyright. Ссылки на места расположения нелегально распространяемого ПО.

И где эта ссылка?

И кому стало лучше? Я так и не успел некоторые ответы сделать.

 

Andrey_Karpov_2009
()

Модератор jollheef неадекватен

Модератор jollheef целенаправленно удаляет нормальные темы, как-то связанные с PVS-Studio. Последний случай, это удалении темы про C++ тест (www.linux.org.ru/forum/talks/13302391?lastmod=1490170431723) Причина: 4.1 Оффтопик и 6.2 Ссылка ведет на сайт, распространяющий ПО с нарушением свободных лицензий (-7) Как я понимаю, речь идёт про объектные файлы. Давным-давно эти файлы лежат на сайте. И про это можно было-бы, например, узнать из топики «Новое хобби команды PVS-Studio: устранение потенциальных уязвимостей» (www.linux.org.ru/news/proprietary/13296160) Но... Он конечно же был удалён jollheef.

 , ,

Andrey_Karpov_2009
()

Вот Linux.org и теряет популярность

Хотел как лучше, а получилось как всегда.

Не хотите, как хотите. На мой взгляд вы лишаете ресурс linux.org.ru ряда интересных дискуссий и возможность задавать вопросы одному из немногих отвечающих, кто что-то делает реального в области отечественного софта. Думаю, из-за такой политики ресурс и теряет постепенно аудиторию и популярность.

Вы держитесь здесь, вам всего доброго, хорошего настроения и здоровья.

 

Andrey_Karpov_2009
()

PVS-Studio: 10 лет от простой Win-утилиты, до статического анализатора под Linux

Согласен, название пафосное. Но вы ведь начали читать, а значит название правильное. :) Будьте снисходительны, начинаются новогодние праздники и надо быть добродушными.

У нас важное событие: 10 лет назад мы выпустили первый анализатор кода Viva64, который со временем превратился в PVS-Studio. Анализатор прошёл путь от простой Win-утилиты до полноценного анализатора кода, работающего как в Windows, так и Linux. Это был долгий и интересный путь, с удачами и неудачами (больше пока неудачами).

В честь этой даты я написал большую статью и предлагаю её вам к прочтению: Как 10 лет назад начинался проект PVS-Studio. Это не история успеха. До этого ещё рано. Но 10 лет - это хорошая дата, чтобы подвести промежуточные итоги и рассказать миру нашу историю. Надеюсь статья будет интересна, а, возможно, даже кого-то подтолкнёт к созданию своего стартапа.

Кстати, попутно исполнилось 10 лет и нашему сайту. Мой коллега Евгений так же написал в знак этого события статью: Как делался новый дизайн сайта viva64.com разработчиков анализатора кода PVS-Studio.

Вы можете спросить, «а какой смысл этой новости, раз все это просто можно прочитать на сайте»? Отвечаю. Во-первых, появление этих статей это всё-таки новость, которая может быть интересна многим участникам сообщества linux.org.ru. А во-вторых, это возможность задать мне дополнительные вопросы или обсудить какие-то темы. Уверен, это делает статью гораздо более ценной и интересной.

Желаю приятного, интересного чтения. И поздравляю всех с наступающим Новым Годом!

 , , , ,

Andrey_Karpov_2009
()

Мы нашли очередную порцию глюков в Linux Kernel

Используя таинственный инструмент XXX-Xxxxxx, мы вновь нашли кучу ошибок в Linux Kernel. Для желающих словить от этих ошибок Facepalm прошу пожаловать под кат.

Мне вот просто интересно, с какой теперь аргументацией будет бан интересного материала. :)

( Посмотреть ошибки в Linux Kernel и их описание )

 , , , ,

Andrey_Karpov_2009
()

Диагностики Clang - это хорошо, но недостаточно

Я продолжаю популяризировать методологию статического анализа и заодно инструмент PVS-Studio. Недавно я писал о проверке компилятора GCC, теперь же я добрался до LLVM (Clang). Подробности изложены в статье:

Находим ошибки в коде проекта LLVM с помощью анализатора PVS-Studio

Проверка была выполнена в Linux. Хочу напомнить, что недавно мы выпустили первую версию для Linux (подробности).

Результат ожидаем, анализатор PVS-Studio с легкостью смог найти ошибки, что говорит нам о пользе подобного инструментария. Специализированные инструменты статического анализа, такие как PVS-Studio, всегда будут опережать компиляторы в диагностических возможностях и гибкости настройки при работе с предупреждениями. Собственно, на этом разработчики анализаторов и зарабатывают свои деньги.

Примечание. Прошу оставить в стороне тему, что мы не сотрудничаем со студентами, сообществом открытых проектов и т.д. Честно, мы обдумываем, что и как можем сделать в этом направлении. Но пока не определились. Когда мы дозреем, я напишу сюда, и мы всесторонне рассмотрим и обсудим варианты. А пока, я буду оставлять многие вопросы, связанные с лицензированием без ответа, так как не вижу смысла в беспредметных обсуждениях.

И поздравляем всех с Хеллоуин.

 , , , ,

Andrey_Karpov_2009
()

Единорог бежал, хвостиком махнул, и из открытого проекта Mono 167 ошибок высыпалось

Мой коллега Сергей Васильев продолжает делать мир открытых программ немного лучше. Если кто-то хочет пообщаться с ним лично, то приглашаю на конференцию Юкон-2016, где Сергей выступит с докладом «Теория и практика использования статического анализа кода». Желающие смогут с ним пообщаться вживую и задать животрепещущие вопросы.

В этот раз Сергей проверил с помощью анализатора PVS-Studio проект Mono. Это проект по созданию полноценного воплощения системы .NET Framework. Реализации Mono существуют для следующих операционных систем: Windows, Linux, Solaris, FreeBSD и так далее. Думаю, не все знают, что Mono написан на языке C#. Это несколько необычно для Linux-мира.

Исходный код Mono доступен для загрузки в репозитории на GitHub. Количество строк кода при проверке загруженного с GitHub репозитория составило около 6.3 миллионов (исключая пустые строки). Соответственно и ошибок в такой огромной кодовой базе превеликое множество. Проверив кое-как проект (почему, станет ясно из статьи), Сергей насчитал 167 ошибок, о которых и рассказал.

Приглашаю всех желающих ознакомиться с длинной статьёй. Из неё станет понятно, что C# не сильно безопасней C++ и позволяет делать все те же опечатки и ляпы. И конечно, статья должна в очередной раз продемонстрировать, какую пользу может приносить статический анализа кода. Например, предлагаю всем скачать и попробовать PVS-Studio для проверки своих C# проектов (ну или C, C++).

С уважением, Андрей Карпов. И не забываем подписывать девушек и жён на наш инстаграм pvsstudio. Пусть к программированию приобщаются.

Статья: ищем ошибки в Mono: сотни их...

Перемещено Aceler из opensource

 , , , ,

Andrey_Karpov_2009
()

Диагностики GCC — это хорошо, но недостаточно

С++ компилятор, реализованный в GCC, умеет выполнять множество полезных диагностик. Эти диагностики весьма хороши, и многие считают, что их более чем достаточно. В том числе я нередко слышу, что анализатор PVS-Studio не нужен, так как все те же диагностики имеются у GCC. Конечно, я знаю, что это не так. Это то же самое как сравнивать бесплатный Paint.NET с платным Photoshop. Вроде одно и то же, и функции общие есть. Но платный профессиональный Photoshop всегда будет мощнее, чем такие инструменты как Paint.NET.

Теперь у меня есть не только скрытое знание, но и статья. Я могу демонстрировать, что изучать предупреждения GCC это хорошо, но недостаточно. Если программист действительно заботится о качестве кода, он должен использовать такие специализированные инструменты, как PVS-Studio.

Проверка GCC была ответственным испытанием для бета-версии PVS-Studio for Linux. Это и новая операционная система, это огромное количество макросов, это и код, который уже проверен многими инструментами, и найти в котором хоть что-то непростая задача.

Итак, приглашаю посмотреть, что интересного PVS-Studio нашел в коде GCC. Плюс в процессе повествования я даю ряд советов, как можно избегать подобные ошибки.

Находим ошибки в коде компилятора GCC с помощью анализатора PVS-Studio

Перемещено Aceler из proprietary

 , , , ,

Andrey_Karpov_2009
()

По просьбе читателей: проверяем код LDAP-сервера ReOpenLDAP

Уже несколько раз меня просили посмотреть на проект ReOpenLDAP, в том числе, кажется, и здесь. Я поручил коллеге проверить этот проект и написать заметку.

ReOpenLDAP — это проект, реализованный для решения проблем, возникших при эксплуатации OpenLDAP в инфраструктуре ПАО МегаФон — крупнейшего в России оператора мобильной связи. Сейчас ReOpenLDAP успешно работает в филиалах МегаФон по всей России.

Итак, предлагаем познакомиться с результатами проверки проекта ReOpenLDAP с помощью статического анализатора PVS-Studio. Ошибок найдено немного, но надо понимать, что разовая проверка мало что даёт, и смысл статического анализа кода в регулярных проверках, когда многие ошибки выявляются на ещё на этапе кодирования.

Подробности

Перемещено Shaman007 из opensource

 , , ,

Andrey_Karpov_2009
()

Анализ Samba с помощью PVS-Studio в Linux

Пока собравшиеся здесь сидят и ноют, что анализатор PVS-Studio не open source, что он дорого стоит, что его нет под Linux и так далее, другие засучивают рукава и занимаются полезными делами.

Сегодня в интернете появилась статья зарубежного программиста, который использовал PVS-Studio, чтобы улучшить код проекта Samba. По результатам своей работы он написал статью, с которой предлагаю ознакомиться всех желающих: Analyzing Samba with PVS-Studio on Linux.

Подробности

Перемещено beastie из commercial

Перемещено tailgunner из development

Перемещено JB из general

 , , , ,

Andrey_Karpov_2009
()

Сыграйте в игру: найдите ошибки в известных открытых проектах (для Си/Си++ программистов)

Авторы анализатора PVS-Studio предлагают программистам проверить свою внимательность и попробовать найти ошибки в фрагментах Си/Си++ кода.

Анализаторы кода работают без устали и умеют находить множество ошибок, которые сложно заметить. Мы отобрали некоторые фрагменты кода, в которых мы выявили ошибки с помощью PVS-Studio.

Тест не предназначен для тестирования глубины знания языка Си++. Для этого есть другие хорошие и интересные тесты. Например, можно рекомендовать этот C++ Quiz. Наш же тест сделан for fun.

Мы часто слышим от людей, что анализатор кода — это бессмысленный инструмент. Не там поставленную скобку или запятую можно найти за 5 секунд. А сложные алгоритмические ошибки анализатор не найдёт. Поэтому, максимум кому полезен инструмент, это студенты.

Мы решили потроллить таких людей. В тестах сделано ограничение по времени. Предлагаем им найти ошибку за тем самые 5 секунд. Хорошо, не 5 секунд, а за минуту. Будет предложено 15 случайно выбранных заданий. За верный ответ насчитывается одно очко, если он дан в течение 1 минуты.

Хотим подчеркнуть, речь идёт не о синтаксических ошибках. Все фрагменты взяты из известных Open-Source проектов, которые успешно компилируются. Рассмотрим пару примеров с ошибками и объясним, как указывать правильный ответ.

Пример первый.

Здесь ошибка выделена красным. При решении задач этого, конечно, не будет.

Программист случайно опечатался и вместо индекса 2 написал 3. При движении курсора мышки над кодом будут подсвечиваться различные слова и цифры. Вы должны навести курсор на число 3 и нажать левую кнопку мыши.

Это будет правильный ответ.

Не всегда можно однозначно указать, где ошибка:

Второй пример.

Размер буфера нужно сравнить с числом 48. Случайно в код затесался лишний оператор sizeof(). В результате, размер буфера сравнивается с размером типа int.

На мой взгляд, ошибкой является оператор «sizeof», и именно на него надо указать мышкой. Однако, не имея перед глазами весь текст программы, можно рассудить так. Оператор 'sizeof' должен был посчитать размер какого-то буфера, но ему случайно подсунули макрос. Ошибкой является использование «SSL3_MASTER_SECRET_LENGTH».

Для таких случаев ответ будет засчитан, как верный, независимо от того, выберете вы «sizeof» или «SSL3_MASTER_SECRET_LENGTH».

Желаем успехов! Вы можете начать игру.

Примечание.

Тест не рассчитан на мобильные устройства. Тыкая пальцем очень легко промахнуться. Мы готовим новую версию тестов, где лучше поддержим мобильные устройства, сделаем новый задания и так далее. Но пока этого нет. Предлагаем подписаться на твиттер, чтобы быть в курсе что у нас нового, интересного, и что вообще происходит в мире Си++.

Подробности

Перемещено anonymous_incognito из opensource

 , , ,

Andrey_Karpov_2009
()

RSS подписка на новые темы