The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

15.11.2016 15:48  Отчёт о разработке Linux-версии PVS-Studio и результаты проверки LLVM (реклама)

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

Что касается работы по выявлению ошибок в открытом ПО, то следом за проведённой в августе проверкой набора компиляторов GCC, анализ ошибок был проведён и для кодовой базы LLVM. Для проверки LLVM была использована Linux-версия PVS-Studio, а для отслеживания вызовов компилятора задействован формат JSON Compilation Database. Несмотря на то, что LLVM ранее уже проверялся в PVS-Studio в 2011 и 2012 годах, повторная проверка выявила порцию новых ошибок. В частности, обращается внимание на проблемы с использованием небитовых полей, досрочным завершением циклов, путаницей с указанием операторов "||" и "&&", опечатками в определении условий, возвратом функцией ссылки на временный локальный объект, повторным присваиванием, подозрительным переопределением указателей, путаницей при использовании release() и reset(), разыменованием нулевого указателя и т.п

Также можно отметить публикацию в свободном доступе электронной книги "Главный вопрос программирования, рефакторинга и всего такого", в которой Андрей Карпов, технический директор компании "СиПроВер", делится своим опытом разбора ошибок в программах на C/C++ и приводит 42 рекомендации, которые помогут избежать ошибок при программировании и повысить качество кода. Каждая рекомендация сопровождается практическим примером.

  1. Главная ссылка к новости (http://www.viva64.com/ru/b/044...)
  2. OpenNews: Статический анализатор PVS-Studio доступен для Linux (реклама)
  3. OpenNews: Анализатор PVS-Studio помог выявить 10000 ошибок в различных открытых проектах (реклама)
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: viva64, pvs-studio
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 16:31, 15/11/2016 [ответить] [смотреть все]
  • –16 +/
    Как достала реклама этой бесполезной проприетарщины Большинсто проектов живут и... весь текст скрыт [показать]
     
     
  • 2.2, hoopoe, 16:41, 15/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +15 +/
    соглашениями по стилю кода закрывать потенциальные грабли?
    это мощно :)
     
     
  • 3.98, Аноним, 09:26, 17/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Однако так делают MISRA C - это такой себе набор соглашений Все остальное - у ... весь текст скрыт [показать]
     
  • 2.4, llolik, 16:51, 15/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +6 +/
    И как, например, потенциальный resource leak или data race обнаружить, приведя всё к единому стилю?
    > Большинсто проектов живут и успешно развиваются без этих анализаторов

    И Coverity тоже никто не пользуется? И даже просто Clang Static Analyzer?

     
  • 2.5, Andrey_Karpov, 16:52, 15/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +7 +/
    Верно подмечено. Можно написать в стандарт, "не делайте опечаток вида if (a.x == a.x)", но толку... :) А ведь это одна из самых распространённых ошибок - http://www.viva64.com/ru/examples/V501/
     
  • 2.7, Алексей, 17:06, 15/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +6 +/
    Ну во первых не бесполезной. Мы прошлись по нескольким своим проектам и получили РЕАЛЬНЫЕ ошибки в коде, которые пропустили при тестировании, которые проигнорировал cppcheck & clang. Польза вобщем-то есть, особенно когда кода много и пишут его быстро-быстро.

    Во вторых - а с чего вы взяли что большинство проектов живут без анализаторов? Потому что они об этом Вам не сказали?

    В третьих, соглашения это прекрасно, но от ошибок спасает слабо.

    А по поводу проприетарщины - программистам очень непросто зарабатывать на open-source проектах, а кушать хотят все.

    ps. Андрей Карпов, спасибо за быструю реакцию в почте на вопросы :)

     
     
  • 3.13, kuku, 18:11, 15/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Опытные, профессиональные кушать хотят - возраст А для тех, кто ещё не стал опы... весь текст скрыт [показать]
     
     
  • 4.23, Andrey_Karpov, 20:24, 15/11/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Нет, нет Анализатор это в первую очередь как раз инструмент профессиональных ра... весь текст скрыт [показать]
     
     
  • 5.27, Аноним, 20:41, 15/11/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    вы простите меня Самые дорогие ошибки - это ошибки архитектуры и методов решени... весь текст скрыт [показать]
     
     
  • 6.31, тоже Аноним, 21:53, 15/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Буквально сегодня исправил в программе ошибку выхода за пределы памяти В програ... весь текст скрыт [показать]
     
     
  • 7.46, Аноним, 00:40, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    вы много проектов знаете с хорошим покрытием тестами Возьмем для примера linux-... весь текст скрыт [показать]
     
  • 6.41, Andrey_Karpov, 22:53, 15/11/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Никто не спорит, что ошибки при разработке архитектуры фатальны Однако и инстру... весь текст скрыт [показать]
     
     
  • 7.50, Аноним, 00:55, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Покажите хоть к одному из них полный Unit test suite, или regression test suite ... весь текст скрыт [показать]
     
  • 6.45, angra, 23:55, 15/11/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну давай посмотрим на примере Сбой на старте arian 5 обошелся в 370 миллионов б... весь текст скрыт [показать]
     
     
  • 7.47, Аноним, 00:42, 16/11/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    Сколько из них не покрыты страховкой 0 значит ошибка не обошлась ничего ... весь текст скрыт [показать]
     
     
  • 8.51, angra, 01:18, 16/11/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Весело в вашем розовом мире, все убытки всегда покрывает волшебная страховка, вс... весь текст скрыт [показать]
     
     
  • 9.58, Аноним, 08:47, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    если экономить на страховании рисков, то да Вон примеры с Союзами намекают чт... весь текст скрыт [показать]
     
     
  • 10.65, Аноним, 09:57, 16/11/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Да только вы забыли сказать что после каждого фейла, размер страхового взноса во... весь текст скрыт [показать]
     
     
  • 11.107, Аноним, 14:46, 18/11/2016 [^] [ответить] [смотреть все]  
  • +/
    выше упомянули MISRA, намного проще встроить такие правила в стиль написания - к... весь текст скрыт [показать]
     
  • 8.86, adolfus, 17:50, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Страховка не отменяет убытков, а размазывает их Это если бы кто-нибудь компактн... весь текст скрыт [показать]
     
  • 6.83, Алексей, 16:28, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    мы нашли и исправили ошибку в своём DHCP-сервере, который 4 года работает у кли... весь текст скрыт [показать]
     
     
  • 7.93, Аноним, 22:47, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    вы анализировали покрытие веток строк тестами возможно ваши тесты просто не даю... весь текст скрыт [показать]
     
  • 4.82, Алексей, 16:24, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    глупости говорите Опытные, профессиональные кушать хотят программисты, в осно... весь текст скрыт [показать]
     
  • 2.57, Аноним, 08:06, 16/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Потому что создатели анализаторов сами все проверяют и отправляют разработчикам ... весь текст скрыт [показать] [показать ветку]
     
  • 2.68, yurkis, 12:32, 16/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Не-не-не-не Большинство проектов живут без этих всех новомодных соглашений по ... весь текст скрыт [показать] [показать ветку]
     
  • 1.8, Костик, 17:13, 15/11/2016 [ответить] [смотреть все]  
  • +4 +/
    Ну, может это и реклама, но с реальной пользой. Ошибки-то находятся.
    По факту вообще получается trial-режим для отдельно взятого проекта.
     
     
  • 2.12, anonimous, 18:09, 15/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Что-то во всех их постах идёт перечисление ворнингов, а вот реально зарепорченны... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.14, Аноним, 18:23, 15/11/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Плохо смотрели Например https www freebsd org news status report-2016-01-2016... весь текст скрыт [показать]
     
     
  • 4.20, anonimous, 19:59, 15/11/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Абсолютное большинство - false positive. Ok.
     
     
  • 5.54, KonstantinB, 02:47, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Не знаю ни одного статического анализатора, у которого не было бы абсолютного бо... весь текст скрыт [показать]
     
     
  • 6.94, Аноним, 22:54, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    у coverity есть язык для разметки и подсказки разных спорных участков - очень по... весь текст скрыт [показать]
     
  • 3.24, Andrey_Karpov, 20:26, 15/11/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Разработчики бывают благодарны нам и исправляют многое из описанного нами Часто... весь текст скрыт [показать]
     
     
  • 4.48, Аноним, 00:44, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    а интересно читать что большинство из того что вы зарепортили - является мусором... весь текст скрыт [показать]
     
  • 2.79, Аноним, 15:01, 16/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    а по факту ты его не купишь, если не работаешь в крупной конторке, о какой польз... весь текст скрыт [показать] [показать ветку]
     
  • 1.9, Народ, 17:24, 15/11/2016 [ответить] [смотреть все]  
  • +4 +/
    Так а где мне наконец скачать free-версию для домашнего использования?
     
     
  • 2.16, A.Stahl, 19:11, 15/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Жди когда на торрентах появится.
    А вообще посмотри в сторону cppcheck.
     
     
  • 3.25, KonstantinB, 20:27, 15/11/2016 [^] [ответить] [смотреть все]  
  • +/
    cppcheck, к сожалению, очень сильно отстает от коммерческих анализаторов Для оп... весь текст скрыт [показать]
     
     
  • 4.55, Аноним, 05:13, 16/11/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Рассказывайте, ага Вы cppcheck как используете cppcheck dirname Это находит... весь текст скрыт [показать]
     
  • 4.84, Алексей, 16:33, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    к сожалению, надо использовать все, пусть это и кушает процы так дешевле они д... весь текст скрыт [показать]
     
  • 3.69, yurkis, 12:33, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    llvm scan-build по ощущениям получше все же будет ... весь текст скрыт [показать]
     
  • 1.11, Аноним, 17:54, 15/11/2016 [ответить] [смотреть все]  
  • +9 +/
    Было бы круто, если бы вы выложили прайс на сайте. Необходимость согласовывать цену индивидуально особого доверия не вызывает.
     
     
  • 2.15, Конь, 19:08, 15/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Да, ё! Почему это, на, нет цены на сайте? Проприетарщики!!! Чтоб вас!
     
     
  • 3.19, KonstantinB, 19:56, 15/11/2016 [^] [ответить] [смотреть все]  
  • +/
    У coverity тоже публичного прайса нет Похоже, на этом рынке так эффективнее а... весь текст скрыт [показать]
     
     
  • 4.21, Конь, 20:18, 15/11/2016 [^] [ответить] [смотреть все]  
  • +3 +/
    Ага ) А сколько у тебя есть? А если найду? )))
     
  • 1.18, iPony, 19:49, 15/11/2016 [ответить] [смотреть все]  
  • +/
    > Также можно отметить публикацию в свободном доступе электронной книги "Главный вопрос программирования, рефакторинга и всего такого", в которой Андрей Карпов, технический директор компании "СиПроВер", делится своим опытом разбора ошибок в программах на C/C++ и приводит 42 рекомендации

    Круто. Была бы бумажной, обязательно бы купил и поставил бы на полку в ряд своей золотой коллекции: C++ алгоритмы Седжвик, томики Кнута, эффективный современный c++ маерса, книги Криса Касперски.

    iPony плохого не посоветует.

     
     
  • 2.67, Семилетов, 11:34, 16/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Пони, зачем ты так ... весь текст скрыт [показать] [показать ветку]
     
  • 1.33, Аноним, 22:00, 15/11/2016 [ответить] [смотреть все]  
  • +5 +/
    Уважаемые СиПроВер, от ваших проверок открытых проектов раз в несколько лет, эти... весь текст скрыт [показать]
     
     
  • 2.40, xo, 22:45, 15/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Очень хорошее замечание Действительно, делать рекламу проприетарного продукта з... весь текст скрыт [показать] [показать ветку]
     
  • 2.42, Andrey_Karpov, 22:55, 15/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    А почему Вы решили, что мы никому ничего не даём У нас немало бесплатных пользо... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.44, anonimous, 23:54, 15/11/2016 [^] [ответить] [смотреть все]  
  • +/
    И часто менеджеры по закупкам из Гугла забегают на опеннет?
     
     
  • 4.85, Алексей, 16:36, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    - вы верите в Сатану -- нет - а зря, он - то в Вас верит ... весь текст скрыт [показать]
     
  • 3.49, Аноним, 00:45, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    все как один с недельной лицензией ... весь текст скрыт [показать]
     
  • 3.52, олхнтп, 01:49, 16/11/2016 [^] [ответить] [смотреть все]  
  • +5 +/
    вы можете пиариться только на открытом софте, потомучто _внезапно_ доступа к код... весь текст скрыт [показать]
     
     
  • 4.70, yurkis, 12:36, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    gt оверквотинг удален То есть вы считаете что взаимной выгоды тут нет ... весь текст скрыт [показать]
     
  • 3.61, Аноним, 09:30, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Бесплатную лицензию всем, на ком пиаритесь -> это справедливо.
     
  • 2.53, angra, 02:17, 16/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +5 +/
    Можно узнать, зачем коммерческой компании делать добрые дела Социализм закончил... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.59, Аноним, 09:24, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Навязывание и агрессивно пропихиваемая везде реклама - одно и тоже Выходит след... весь текст скрыт [показать]
     
  • 1.43, Kroz, 22:56, 15/11/2016 [ответить] [смотреть все]  
  • +2 +/
    Хоть рекламу и не люблю, но к такого рода рекламе отношусь положительно.

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

     
     
  • 2.78, Аноним, 14:59, 16/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    вброс.
     
  • 1.60, Аноним, 09:27, 16/11/2016 [ответить] [смотреть все]  
  • +/
    Народ, а вы не думали почему именно открытые проекты проверяют Да у них бoльше ... весь текст скрыт [показать]
     
     
  • 2.73, Аноним, 13:17, 16/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Это плохо - работать за деньги, а не за идею ... весь текст скрыт [показать] [показать ветку]
     
  • 2.76, Аноним, 13:59, 16/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Да, так бывает Компании покупают программы, пользуются ими, и не отправляют отч... весь текст скрыт [показать] [показать ветку]
     
  • 2.92, Алексей, 21:00, 16/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    есть легальный метод проверки других Вот вы знаете, даже писать такое неприя... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.101, Аноним, 12:44, 17/11/2016 [^] [ответить] [смотреть все]  
  • +/
    В следующем предложении написано что его нет И не собираюсь Я в данном контекс... весь текст скрыт [показать]
     
     
  • 4.104, llolik, 13:34, 17/11/2016 [^] [ответить] [смотреть все]  
  • +/
    А потребитель о продукте должен узнать как Как он должен хотя бы приблизительно... весь текст скрыт [показать]
     
     
  • 5.108, Аноним, 14:47, 18/11/2016 [^] [ответить] [смотреть все]  
  • +/
    в гугле забанили ... весь текст скрыт [показать]
     
  • 5.110, Аноним, 15:27, 20/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Потребитель может узнать о товаре посредством сайт производителя, форумов, витри... весь текст скрыт [показать]
     
     ....нить скрыта, показать (7)

  • 1.62, Аноним, 09:38, 16/11/2016 [ответить] [смотреть все]  
  • +/
    Ну и проверяли бы и выкладывали бы дальше, у себя на сайте Зачем это постить на... весь текст скрыт [показать]
     
  • 1.64, Аноним, 09:44, 16/11/2016 [ответить] [смотреть все]  
  • +2 +/
    На сайте нет цены, товарищи явно уходят от уплаты налогов Покупая таких вы вору... весь текст скрыт [показать]
     
     
  • 2.66, Аноним, 11:23, 16/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    s/населения/государства/
     
  • 2.71, Andrey_Karpov, 12:38, 16/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ох уж эти анонимы и срыватели покровов Будете делать свой стартап, узнаете мног... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.75, Аноним, 13:19, 16/11/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    А, тогда увы. Скачаю на торрентах.
     
  • 3.77, Аноним, 14:33, 16/11/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Не убедили, пускай каждый остается при своем мнении
     
  • 3.95, Аноним, 06:59, 17/11/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    а что вам в валютном контроле не нравится Нет возможности переводить баксы друз... весь текст скрыт [показать]
     
  • 2.74, Аноним, 13:18, 16/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • –3 +/
    А вы открыли мне глаза До этого отношение к PVS было строго отрицательное, но е... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.80, Аноним, 15:03, 16/11/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    Когда Вы не платите налоги, ваши деньги остаются у вас Когда СиПроВер не платит... весь текст скрыт [показать]
     
     
  • 4.81, Анонин, 15:51, 16/11/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    *ля люди, вы сайтом не ошиблись?
     
     
  • 5.87, Аноним, 18:17, 16/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Тот, кто опубликовал новость - точно сайтом ошибся, остальное просто следствие
     
  • 1.88, Аноним, 18:19, 16/11/2016 [ответить] [смотреть все]  
  • +2 +/
    Цена не указана чтобы содрать всё до последней копейки
     
     
  • 2.96, Аноним, 08:52, 17/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Судя по всему они разрываются между желанием держать адекватную цену для запада ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.99, Аноним, 11:59, 17/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Не теряют Вообще-то это нормальная практика для софта такого уровня ... весь текст скрыт [показать]
     
  • 1.97, Аноним, 09:15, 17/11/2016 [ответить] [смотреть все]  
  • +/
    И в каждой такой новости СиПроВер в деталях рассказывают про криворукость разраб... весь текст скрыт [показать]
     
     
  • 2.105, llolik, 14:00, 17/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    В закрытом ПО не менее глупые ошибки и опечатки сплошь и рядом и даже в коде по... весь текст скрыт [показать] [показать ветку]
     
  • 1.102, Аноним, 12:49, 17/11/2016 [ответить] [смотреть все]  
  • –2 +/
    Толстый СиПроВер бежит по головам разработчиков открытых проектов, ломая им шеи,... весь текст скрыт [показать]
     
     
  • 2.103, Аноним, 13:22, 17/11/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Комплексы какие-то что ли Им список ошибок присылаешь для улучшения программног... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.106, llolik, 14:27, 17/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Как будто раньше не догадывался, что некоторая часть отписавшихся, если и не из-... весь текст скрыт [показать]
     
  • 3.109, Аноним, 15:08, 18/11/2016 [^] [ответить] [смотреть все]  
  • +/
    Им посылается мусор, без фильтровки - является ли это ошибкой или является false... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor