The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Статический анализатор PVS-Studio доступен для Linux (реклама), opennews (??), 25-Окт-16, (0) [смотреть все] –4

Сообщения [Сортировка по времени | RSS]


5. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +9 +/
Сообщение от Аноним (-), 25-Окт-16, 11:40 
От всей этой пвс у меня пока такое ощущение (сужу только по рекламам):

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

"Ах, спасибо, пвс! С помощью него мы ..." я даже не знаю, что "мы"-то!

Тот же, например, Valgrind: "Ах, спасибо, valgrind! С помощью него мы избавились от утечек памяти!"

Так ли? Или реально пвс - это лучик света в тёмной жопе?

Ответить | Правка | Наверх | Cообщить модератору

12. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +7 +/
Сообщение от тоже Анонимemail (ok), 25-Окт-16, 11:59 
Ну, представьте, что ваша работа с завтрашнего дня - поддержка здоровой кучи легаси-кода, написанного поколениями ваших предшественников. Код целиком состоит из "некрасивых мест", но переписать его целиком вам не под силу, можно только выявить места, где эта "некрасивость" реально грозит проблемами, и отсортировать их по степени важности, чтобы знать, что исправлять в первую очередь.
Думаю, вы немного иначе взглянете на этот инструмент... и, может быть, даже на его ценник.
Ответить | Правка | Наверх | Cообщить модератору

18. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +9 +/
Сообщение от angra (ok), 25-Окт-16, 12:26 
> Судя по постам от компании всё что пвс делает - это выявляет
> в основном некрасивый код.
> На функционал это никак не влияет. На ошибки это никак не влияет.

Судя по твоему посту, ты просто не понял ничего из постов от PVS. В большей части случаев там выявлялись места, приводящие к самому мерзкому типу ошибок - не воспроизводимым, проявляющимся лишь время от времени.

Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

23. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  –5 +/
Сообщение от Аноним (-), 25-Окт-16, 12:32 
Да ладно? Она интеграционные тесты писать умеет?
Ответить | Правка | Наверх | Cообщить модератору

38. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +7 +/
Сообщение от angra (ok), 25-Окт-16, 14:00 
Еще один ничего не понявший, но знающий умное слово. Откуда вас сегодня выпустили?
Ответить | Правка | Наверх | Cообщить модератору

69. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Аноним (-), 25-Окт-16, 17:04 
Кто бы говорил сам небось по TDD
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

97. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Аноним (-), 25-Окт-16, 23:12 
>приводящие к самому мерзкому типу ошибок - не воспроизводимым, проявляющимся лишь время от времени.

По-моему как раз от таких проблем никакой статический анализатор не спасет, ведь только в рантайме (легче всего - с помощью valgrind/callgrind/helgrind/massif/drd) можно задетектить периодические переполнения буфферов, дэдлоки, небезопасное использование разделяемой памяти и т.п.

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

98. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Andrey_Karpov (ok), 26-Окт-16, 00:09 
И да, и нет. Всё зависит от типа ошибки. То, что легко выявляет статический анализ, бывает сложно/невозможно выявить динамическим. И наоборот.

P.S. Близко по теме: http://www.viva64.com/ru/b/0248/

Ответить | Правка | Наверх | Cообщить модератору

164. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Аноним (-), 27-Окт-16, 14:26 
> P.S. Близко по теме: http://www.viva64.com/ru/b/0248/

Поздравления, вы тоже придумали ASAN. Но это уже несколько лет реализовано и в clang и в gcc и продать что-то такое за деньги реально наверное только пользователям вьюжлстудии которые еще не выбросили MS'овский компилятор. Ну или если у вас производительность сильно выше. ASAN все-таки ощутимо просаживает программу.

Ответить | Правка | Наверх | Cообщить модератору

165. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Andrey_Karpov (ok), 27-Окт-16, 15:01 
Это никак не мешает нам легко находить ошибки в этих самых clang и gcc. Proof: http://www.viva64.com/en/b/0425/ , http://www.viva64.com/en/b/0108/ , http://www.viva64.com/en/b/0155/ и скоро ещё одна статья будет про clang. Так что деньги мы получаем не зря за PVS-Studio. :)
Ответить | Правка | Наверх | Cообщить модератору

19. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Andrey_Karpov (ok), 25-Окт-16, 12:26 
Некрасивый код, это не к нам. :) PVS-Studio ориентирован на поиск настоящих ошибок. Прошу посмотреть внимательнее на то, что он выявляет: http://www.viva64.com/ru/examples/

Суть статического анализа, не в том, чтобы прискакать на единороге перед релизом и найти два фатальных бага. Суть статического анализа в регулярном использовании и нахождении многих ошибок на самом раннем этапе. Зачем долго и мучиться отлаживаться, если можно найти многие ошибки сразу. Да не все ошибки, но многие. Это экономия сил и времени разработчика. Пример: https://habrahabr.ru/post/198836/

И ещё на тему, что программы и так работают: http://www.viva64.com/ru/b/0336/


Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

32. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  –2 +/
Сообщение от Аноним (-), 25-Окт-16, 13:19 
> Прошу посмотреть внимательнее на то, что он выявляет: http://www.viva64.com/ru/examples/

Ну да, реальные ошибки находятся - спору нет.

Хотя по сути, тестировался бы код... Ну потому что "infinite loop" - это на самом деле очень серьёзно. И что, хотите сказать, что мыши плакали, кололись, но продолжали пользоваться программой, которая зависала? Значит, этот код либо не для продакшена, либо вообще не используется. Ну зависание же, ну infinite loop же!

А вот с возвращением из функции указателя на локальную переменную - это да, это круто. Но тогда пвс должна сразу писать письмо в отдел расстрелов.

В общем, как ни крути (превьюшка на видео к новости (а видео-то уже удалилось!)): Кому нужен статический анализатор?
- новичкам
- "индусам"
- плохим программистам

Поэтому если компания использует пвс, значит контингент понятен :)

Я - хрен с горы - заявляю: инструмент, в принципе, полезен. Но...

Ответить | Правка | Наверх | Cообщить модератору

43. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +2 +/
Сообщение от angra (ok), 25-Окт-16, 14:12 
>  Кому нужен статический анализатор?
> - новичкам
> - "индусам"
> - плохим программистам
> Поэтому если компания использует пвс, значит контингент понятен :)

Я так понимаю, ты сейчас даш нам пример написанного тобой серьезного софта без единой ошибки, причем даже на этапе написания, код сразу писался идеальный.


Ответить | Правка | Наверх | Cообщить модератору

48. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  –2 +/
Сообщение от Аноним (-), 25-Окт-16, 15:01 
> Я так понимаю, ты сейчас даш нам пример написанного тобой серьезного софта без единой ошибки, причем даже на этапе написания, код сразу писался идеальный.

Примера не будет, так как этот проект пока ещё только в планах, но, поверь, у него уже идеальный код!

Ответить | Правка | Наверх | Cообщить модератору

54. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +1 +/
Сообщение от Аноним (-), 25-Окт-16, 15:38 
философ и вонючка!
Ответить | Правка | Наверх | Cообщить модератору

84. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Аноним (-), 25-Окт-16, 19:52 
> философ и вонючка!

А тот чудак который про Тюринга не в курсе? Обнаружить все infinite loops невозможно даже чисто теоретически.

Ответить | Правка | Наверх | Cообщить модератору

90. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Аноним (-), 25-Окт-16, 20:48 
Изнутри LLVM запросто, в GCC не так просто в реализации через ядро, не говоря уже про обертку с нуля.
Ответить | Правка | Наверх | Cообщить модератору

119. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Аноним (-), 26-Окт-16, 08:34 
> Изнутри LLVM запросто,

Что значит - изнутри LLVM? Ты готов гонять симуляцию моей програмы вечно, чтобы посмотреть загнется ли она в конце концов? Ну вот отработала моя программа два года. И какой будет вердикт? А может, я в программе на часы смотрю и жду 2027 года, и закруглюсь именно тогда? И как ты это будешь анализировать, хоть LLVM'ом, хоть чем там еще? Тебе для анализа Full AI потребуется как минимум, и тот лажать по черному будет.

Ответить | Правка | Наверх | Cообщить модератору

56. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +3 +/
Сообщение от Аноним (-), 25-Окт-16, 15:45 
> Я так понимаю, ты сейчас даш

                              ^- Error at line 1: syntax error.

Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

61. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Аноним (-), 25-Окт-16, 15:55 
Щито? Так было на видосе! А масса уже делает выводы о том, что увидела...
Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору

25. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Аноним (-), 25-Окт-16, 12:33 
можно и не использовать. только эти ошибки придётся искать другим людям. и времени займёт больше
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

33. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Michael Shigorinemail (ok), 25-Окт-16, 13:28 
> можно и не использовать. только эти ошибки придётся искать другим людям. и
> времени займёт больше

Собственно, тот же Coverity начинали люди, которые до этого много лет глазками-ручками... (опять же насколько понимаю, может, опёнковцы поправят)

Ответить | Правка | Наверх | Cообщить модератору

28. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +11 +/
Сообщение от CodeRushemail (?), 25-Окт-16, 13:04 
Реально вполне, только проверять надо постоянно, а не эпизодически (то же самое справедливо и для Valgrind, и для остальных "проверяльщиков").

Мой пример: боролся я однажды с интересным багом при инициализации дополнительных ядер процессора AMD Merlin Falcon в прошивке. Нулевое ядро там назвают BSP (BootStrap Processor), а остальные - AP (Application Processor), так вот, инициализация очередного AP иногда зависала на ровном месте в ~0.1% случаев (а т.к. процесс работы прошивки до этого времени детерминирован, то в таких зависаниях чаще всего виновато оборудование или код, который его неправильно использует).
Зависающая прошивка - это show stopper, т.е. пока это не починим, дальше разрабатывать нет смысла. Я просидел две недели в попытках понять, что не так, и пошел пробовать статические анализаторы, которые давали попробовать (AMI использует CppCheck для своего кода, но он совсем слабый по сравнению с любыми коммерческими анализаторами).
В итоге PVS-Studio нашла переменную в структуре, у которой был пропущен аттрибут volatile, а в коде было что-то вроде такого:
// Prepare CPU context structure
...
apStructPtr->InSync = 0;
...
// Send context to AP
...
// Wait for AP sync
while(apStructPtr->InSync) {
// Still waiting
}

Т.к. ни apStructPtr, ни InSync не были помечены как volatile, то компилятор просто выбрасывал цикл, т.к. он не влияет на наблюдаемое поведение и аналогичен while(0), в результате получалась гонка между внутренними процессами в CPU и продолжением исполнения, и выигрывали её чаще всего внутренние процессы, т.е. все работало почти всегда. Но потом стало больше ядер, вышли новые процессоры и более долгой синхронизацией, и все сломалось.
А PVS-Studio сразу сообщила, что вот тут место подозрительное, проверьте. Проверил, добавил volatile, баг исчез. Вот так и помогает, вполне реально.

Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

42. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Аноним (-), 25-Окт-16, 14:11 
> А PVS-Studio сразу сообщила, что вот тут место подозрительное, проверьте.
> Проверил, добавил volatile, баг исчез.

Ну эээ... Расстрелы уже провели? Потому что - ну ёмоё, ожидание результата в глобальной переменной от другого ядра и без volatile? Кто код писал? Фамилию! Да шучу :)

Ответить | Правка | Наверх | Cообщить модератору

70. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от _ (??), 25-Окт-16, 17:14 
Трепло!
Расходимся пацаны ... он ещё сисек не мял, а уже лопочет чегото :-\
Ответить | Правка | Наверх | Cообщить модератору

45. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Andrey_Karpov (ok), 25-Окт-16, 14:22 
Спасибо за интересный комментарий.
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

62. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +1 +/
Сообщение от anonimm (?), 25-Окт-16, 15:55 
Зачем платить если есть coverity и clang????
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

93. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Aleksey (??), 25-Окт-16, 21:25 
Зачем покупать кофе, если вода дешевле?
Ответить | Правка | Наверх | Cообщить модератору

99. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Аноним (-), 26-Окт-16, 00:42 
А что из этого кофе?
Ответить | Правка | Наверх | Cообщить модератору

120. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +/
Сообщение от Аноним (-), 26-Окт-16, 08:44 
> А что из этого кофе?

Ява, разумеется.

Ответить | Правка | Наверх | Cообщить модератору

55. "Статический анализатор PVS-Studio доступен для Linux (реклам..."  +2 +/
Сообщение от Аноним (-), 25-Окт-16, 15:44 
> Так ли? Или реально пвс - это лучик света в тёмной жопе?

Лучику света наверное не пристало выдавать коменты "пришлось сделать под линукс". Это больше похоже на темную проприетарную ...

Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру