LINUX.ORG.RU

Сообщения Andrey_Karpov_2009

 

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

Форум — Linux-org-ru

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

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

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

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

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

 

Andrey_Karpov_2009
()

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

Форум — Linux-org-ru

Модератор 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

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

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

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

 

Andrey_Karpov_2009
()

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

Форум — Talks

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

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

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

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

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

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

 , , , ,

Andrey_Karpov_2009
()

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

Форум — Development

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

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

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

 , , , ,

Andrey_Karpov_2009
()

Бесплатная лицензия PVS-Studio для открытых проектов

Новости — Проприетарное ПО
Группа Проприетарное ПО

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

( Подробнее )

>>> Подробная статья на Хабре

 , , , ,

Andrey_Karpov_2009
()

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

Форум — Development

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

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

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

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

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

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

 , , , ,

Andrey_Karpov_2009
()

PVS-Studio для Linux

Новости — Проприетарное ПО
Группа Проприетарное ПО

Появилась версия анализатора PVS-Studio, работающая в GNU/Linux. До этого программа работала только в Windows.

PVS-Studio — это инструмент для выявления ошибок в исходном коде программ, написанных на С и C++. В случае интеграции с Visual Studio также возможна проверка проектов на C#.

PVS-Studio выполняет широкий спектр проверок кода, но наиболее удачно справляется с поиском опечаток и последствий неудачного Copy-Paste. Показательные примеры таких ошибок: V501, V517, V522, V523, V3001.

( читать дальше... )

>>> Подробности

 , , ,

Andrey_Karpov_2009
()

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

Форум — Development

Мой коллега Сергей Васильев продолжает делать мир открытых программ немного лучше. Если кто-то хочет пообщаться с ним лично, то приглашаю на конференцию Юкон-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 — это хорошо, но недостаточно

Форум — Development

С++ компилятор, реализованный в 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

Форум — Talks

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

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

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

Подробности

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

 , , ,

Andrey_Karpov_2009
()

PVS-Studio под Linux, тренируемся на Inkscape

Новости — Open Source
Группа Open Source

Как я уже писал, мы потихоньку продолжаем заниматься созданием PVS-Studio for Linux. Потихоньку от того, что половина С++ сотрудников в летних отпусках. А так мы по-прежнему полны энтузиазма.

При разработке нам естественно надо на чем-то испытывать анализатор. Для этого берутся различные проекты, и иногда попутно, вот как сейчас, пишутся статьи. На этот раз жертвой стал графический редактор Inkscape. Если честно, я его даже никогда не видел (сам использую Gimp), но он не раз упоминался на Linux.org.ru, а значит местному сообществу будет интересно взглянуть на найденные в нем ошибки.

( читать дальше... )

>>> Подробности

 , , , ,

Andrey_Karpov_2009
()

Вы поможете, если заранее запишетесь в добровольцы для тестирования beta-версии PVS-Studio for Linux

Новости — Проприетарное ПО
Группа Проприетарное ПО

Я и мои коллеги очень долго отказывались обсуждать тему разработки PVS-Studio для операционной системы Linux и UNIX мира в целом. Дело не в каких-то личных пристрастиях или технических сложностях. Всё проще — это холодный, прагматический подход к развитию продукта.

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

Сейчас мы накопили новых сил, собрались с духом и начинаем новую для нас тему освоения Linux. Да, да, это свершилось. Подробности можно узнать из статьи на Хабре: "PVS-Studio признаётся в любви к Linux". А заодно обсудить, является ли Linux операционной системой.

И самое важное

Мы с нетерпением ожидаем, когда можно будет что-то представить миру. Надеюсь, я вас заинтересовал, и многим Linux-разработчикам хочется попробовать проверить свои проекты. Если у вас есть желание и время, приглашаю вас заранее вступить в группу beta-тестеров.

Итак, если вы хотите помочь нам проверить работу PVS-Studio для Linux прошу написать нам. Чтобы письма можно было проще обрабатывать, просим указать в теме письма строчку «PVS-Studio for Linux, Beta». Письма отправляйте по адресу support@viva64.com.

Просим писать письма с корпоративных ящиков и кратко представиться. Мы будем благодарны всем, кто откликнется, но в первую очередь будем уделять внимание тем людям, которые потенциально со временем могут стать нашими клиентами.

Также прошу в письме дать ответы на следующие вопросы:

  • Под какой операционной системой планируется запускать анализатор?
  • Какую среду разработки вы используете?
  • Какой компилятор используется для сборки проекта?
  • Какую сборочную систему вы используете?

Когда появится версия, которую можно будет попробовать, мы напишем всем откликнувшимся письма.

Заранее всем спасибо. Мы будем временами упоминать в статьях, как продвигается развитие PVS-Studio для Linux.

>>> Полная статья на Хабре

 , ,

Andrey_Karpov_2009
()

Написал небольшую книгу для C/C++ программистов

Новости — Документация
Группа Документация

Здравствуйте. Меня зовут Андрей Карпов. Сфера моих интересов - язык C/C++ и продвижение методологии статического анализа кода. На протяжении пяти лет я являюсь Microsoft MVP в номинации Visual C++. Основная цель моих статей и работы, сделать код программ немножко безопасней и качественней. Буду рад, если эта мини-книга научит вас писать более надежный код и предостережет от некоторых типовых ошибок. Немало полезного здесь можно будет почерпнуть и тем, кто занимается написанием стандартов кодирования для своих компаний.

Немного истории. Не так давно я создал ресурс, на котором делился различными полезными советами по программированию на языке С++. Ресурс не собрал ожидаемое количество подписчиков, поэтому я не вижу смысла приводить здесь на него ссылку. Сайт просуществует какое-то время, после чего уйдет в небытие. А вот советы достойны сохранения. Поэтому я доработал, пополнил эти советы и объединил их в единый текст. Желаю приятного чтения.

UPD: PDF-версия: https://yadi.sk/i/RCHauHFBr2cSs

P.S. Пользуясь случаем приглашаю всех желающих последовать за мной в Twitter: @Code_Analysis.

>>> Главный вопрос программирования, рефакторинга и всего такого

 , , , ,

Andrey_Karpov_2009
()

Оцениваем качество кода пакета стоимостью 10000$

Новости — Проприетарное ПО
Группа Проприетарное ПО

Часто можно встретить дискуссии на тему, какой код качественней, закрытый или открытый. Лично мое мнение - разницы нет. Я видел много кода, как открытого, так и закрытого. И там и там, я встречал и хороший и плохой код.

Но вот статьи мы, по понятным причинам, пишем в основном про открытые проекты. Сейчас появилась очередная редкая возможность написать про код закрытого проекта. Вернее, закрытого до недавнего времени.

Итак, предлагаю вашему вниманию статью: Плохой код пакета для создания 2D-анимаций Toonz.

OpenToonz - это программное обеспечение для создания 2D анимации. Основой является проект «Toonz», который разработала итальянская компания Digital Video. Адаптировав эту программу, Studio Ghibli успешно использует ее уже много лет. Кроме мультипликационных картин проект также был задействован и в компьютерных играх — Discworld 2 и Claw.

Стоит отметить, что цена пакета до настоящего момента составляла $10000.

С помощью рассматриваемого кода, создавали «Ходячий замок Хоула», «Унесенных призраками», «Рыбку Поньо», а также множество других картин. В их числе так же мультфильм «Футурама»!

>>> Подробности

 , , , ,

Andrey_Karpov_2009
()

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

Форум — Talks

Пока собравшиеся здесь сидят и ноют, что анализатор 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: Свежий взгляд на код Oracle VM VirtualBox

Новости — Проприетарное ПО
Группа Проприетарное ПО

Использовать свои любимые дистрибутивы Linux в VirtualBox со временем становится затруднительно. В этом на своём опыте убедился Святослав Размыслов из команды PVS-Studio, который опубликовал статью о проверке Oracle VM VirtualBox. По его мнению, с VirtualBox 5.0.XX, стабильность работы программы заметно ухудшилась.

Но вернемся к сути статьи. Мы уже встречались на сайте с работой Святослава и активно её обсуждали. Думаю, есть повод для новой дискуссии о качестве открытых проектов.

Напомню, что разработчики PVS-Studio славятся тем, что в целях рекламы своего продукта регулярно проверяют различные открытые проекты.

Это не первая статья о проверке исходного кода виртуальной машины. Почти два года назад в коде VirtualBox было найдено более 50 ошибок и их описание было опубликовано двумя статьями (1, 2). К счастью, все те предупреждения анализатора разработчики исправили, но качество исходного кода постоянно ухудшается. О чём говорит снижение стабильности последних версий программы и несколько десятков новых ошибок, найденных с помощью PVS-Studio.

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

>>> Подробности

 , , ,

Andrey_Karpov_2009
()

В ядре FreeBSD выявлено как минимум 40 ошибок с помощью анализатора кода PVS-Studio

Новости — BSD
Группа BSD

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

Теперь очередь дошла и до ядра FreeBSD. Исходный код для проверки был взят с GitHub из ветки 'master'. По заявлению Святослава, анализатор PVS-Studio выявил около 1000 подозрительных фрагментов в коде, которые с большой вероятностью являются ошибками или неаккуратным кодом. 40 наиболее интересных фрагментов кода он описал в статье. Список предупреждений был заранее передан команде FreeBSD, и она уже начала вносить правки.

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

>>> Подробности

 , , ,

Andrey_Karpov_2009
()

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

Форум — Talks

Авторы анализатора 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
()

Ядро Linux проверено статическим анализатором PVS Studio

Новости — Ядро Linux
Группа Ядро Linux

Исходный код ядра Linux (3.18.1) был проверен проприетарным статическим анализатором PVS Studio, разработанным в Туле. Анализатор нашёл ряд ошибок и крайне подозрительных участков кода. Полный текст статьи можно найти на сайте компании или на habrahabr.ru.

PVS-Studio ориентирован только на Windows, поэтому для проверки исходного кода ядра Linux была написана утилита на С++, которая для каждого запущенного процесса компилятора сохраняла командную строку, текущую директорию и переменные окружения. По результатам проверки были выбраны и подробно описаны некоторые интересные сообщения.

>>> Результаты проверки ядра Linux (3.18.1) анализатором PVS-Studio

 , , , ,

Andrey_Karpov_2009
()

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