The OpenNET Project / Index page

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

28.07.2017 19:19  Итоги проверки Tizen в статическом анализаторе PVS-Studio (реклама)

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

На замечания о недостаточном размере проверочной выборки (3.3%) для экстраполирования результатов на весь проект, разработчики PVS-Studio отметили то, что выборка в 3.3% для проектом масштаба Tizen не такая и маленькая и включает около 2.4 млн строк, по которым вполне можно сделать приблизительные общие выводы. Кроме того, в эти 2.4 млн строк вошли компоненты совершенно разных частей ОС, выбранных случайно, от типичных alsa-lib, efl, enlightenment, bluetooth-frwk и aspell до capi-maps-service, org.tizen.download-manager и других специфичных для Tizen компонентов.

На основе проведённой проверки показатель качества кода Tizen составил 0.37 ошибок на 1000 строк кода, что можно отнести к среднему уровню. Например, для проекта Notepad++ этот показатель составил 2 ошибки на 1000 строк кода, для Far Manager for Linux - 0.46, а для Tor - 0 (вообще не выявлено ошибок). По поводу ложных срабатываний на примере анализа кода библиотек EFL показано, что статический анализатор PVS-Studio выдаёт около 10-15% ложных срабатываний.

Идея переписать всё на языке Rust, предоставляющем средства безопасной работы с памятью, рассматривается как малореалистичная с учётом огромной кодовой базы проектов на С/С++ и вероятности внесения новых ошибок в процессе портирования. Отмечается, что в крупных проектах значение языка не так велико, а многие библиотеки на C или C++ давно отлажены.

  1. Главная ссылка к новости (https://www.viva64.com/ru/b/05...)
  2. OpenNews: Анализатор PVS-Studio бесплатно доступен экспертам по безопасности (реклама)
  3. OpenNews: Эксперимент по выявлению уязвимостей во FreeBSD при помощи PVS-Studio (реклама)
  4. OpenNews: Использование PVS-Studio для поиска дефектов безопасности (реклама)
  5. OpenNews: Методы работы и история возникновения анализатора кода PVS-Studio (реклама)
  6. OpenNews: PVS-Studio доступен для бесплатного использования открытыми проектами (реклама)
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: viva64, pvs-studio
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.1, nii, 19:47, 28/07/2017 [ответить] [смотреть все]    [к модератору]
  • +/
    Упоминание о том, что в торе 0 ошибок сразу над новостью о том, что в торе только что исправили критическую ошибку.
     
     
  • 2.2, A.Stahl, 19:51, 28/07/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]
  • +15 +/
    Анализатор анализирует ошибки связанные с языком, а не с корявостью логики.
    Программа, которая запускает rm если параметров больше 3 может быть синтаксически корректной, но адекватной её назвать сложно.
     
     
  • 3.5, anonymous, 19:55, 28/07/2017 [^] [ответить] [смотреть все]     [к модератору]
  • +1 +/
    Странно, мне казалось что UD в си работает именно по такому принципу - вместо то... весь текст скрыт [показать]
     
     
  • 4.6, A.Stahl, 20:02, 28/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +8 +/
    UD -- да. А Поттеринг, например, пишет: "Если имя пользователя начинается с цифры, то запускаем что попало из-под рута". Это UD? Нет. Это ошибка, которую можно вычислить в терминах языка? Нет. Это логическая ошибка. И программный код этой логической ошибки -- корректный и пушистый.
     
     
  • 5.20, номия, 01:13, 29/07/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –3 +/
    ващет он сказал что добавлять проверку а не обходит ли кто-то стандарты безопасн... весь текст скрыт [показать]
     
     
  • 6.26, Аноним, 07:07, 29/07/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    В системном компоненте проверки нужны И как раз эта ошибка с цифрой тому показа... весь текст скрыт [показать]
     
     
  • 7.31, борис эйк, 10:49, 29/07/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    дада а ещё ножи надо запретить продавать или как минимум лицензию ввести а ещё ... весь текст скрыт [показать]
     
  • 7.33, борис эйк, 10:51, 29/07/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    из-за вас _няшек_ всякие упыри и запрещают всё подряд а вы жрёте и нахваливаете... весь текст скрыт [показать]
     
  • 6.61, kamiram, 01:23, 01/08/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А есть которые проверяют Взрыватель РГН взводится только через 1,3 8212 1,8 с ... весь текст скрыт [показать]
     
  • 4.16, Олег, 22:56, 28/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Может имеется ввиду UB (undefined behaviour)?
     
     
  • 5.17, A.Stahl, 22:58, 28/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Может имеется ввиду UB (undefined behaviour)?

    Разумеется.


     
     
  • 6.18, anonimus, 00:24, 29/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Почему тогда 5 раз указан UD?
     
     
  • 7.28, A.Stahl, 08:14, 29/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +5 +/
    Потому что 5 раз ошиблись при написании.
     
  • 2.3, kachsheev, 19:53, 28/07/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    Там новость про браузер же, а тут скорее подразумевается демон.
     
  • 2.32, crypt, 10:50, 29/07/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Я уже вел большую дискуссию с автором на лоре и спрашивал, почему его анализато... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.40, Andrey_Karpov, 14:29, 29/07/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Жаль, что на лоре такой Butthur на упоминание PVS-Studio Впрочем, с другой стор... весь текст скрыт [показать]
     
  • 2.34, crypt, 10:53, 29/07/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    короче, цель этой софтины не в том, чтобы на самом деле предотвращать реальные п... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.48, Аноним, 02:24, 30/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Цыц, противный! Щас какой-нить директор тебя прочитает чего доброго!
     
  • 2.53, Аноним, 18:10, 30/07/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Если быть более точным - в браузере в firefox А если быть еще более точным,... весь текст скрыт [показать] [показать ветку]
     
  • 1.4, Аноним, 19:55, 28/07/2017 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    А что таки помешало на всём коде тизена запустить эту чудо-штуку?
     
     
  • 2.7, Andrey_Karpov, 20:09, 28/07/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Ничего не помешало Просто не было смысла это делать Т е работал бы анализатор... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.29, Аноним, 08:38, 29/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    Завтра конец света и надо срочно выкатить хоть что-то?
     
  • 2.8, Аноним, 20:11, 28/07/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +7 +/
    Желание заработать на кусок хлеба с маслом. Мол, мы вам бесплатно показываем, что мы можем найти в вашем коде, а вы смотрите, интересно вам это или нет, и если интересно — давайте разговаривать более предметно. В принципе, в любом случае все стороны в выигрыше. :)
     
  • 1.9, Zoolander, 20:28, 28/07/2017 [ответить] [смотреть все]    [к модератору]  
  • +/
    Tizen - капиталисты, PVS-студио - капиталисты. Ну и фиг с вами.
     
     
  • 2.10, ы, 20:39, 28/07/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • –1 +/
    написал демагог
     
     
  • 3.12, Zoolander, 21:00, 28/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Тьфу на тебя
     
     
  • 4.21, номия, 01:15, 29/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    > Тьфу на тебя

    ещё раз.

     
  • 4.35, Алексей, 12:08, 29/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +5 +/
    Алишер, опять ты?
     
  • 2.11, Led, 21:00, 28/07/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +4 +/
    Врядли Среди капиталистов явные идиоты не выживают ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.13, Zoolander, 21:01, 28/07/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А-ха-ха-ха ... весь текст скрыт [показать]
     
  • 3.14, Анонец, 21:37, 28/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Светодиод как всегда в теме, знает о чем говорит
     
     
  • 4.30, Аноним, 08:39, 29/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    > Светодиод как всегда в теме, знает о чем говорит

    Он что ли не выжил?

     
  • 2.24, KonstantinB, 06:04, 29/07/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    > капиталисты

    Вы так говорите, как будто это что-то плохое.

     
  • 2.25, Sabakwaka, 07:03, 29/07/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Отчего всех тупиц так бесит такой прекрасный инструмент, как PVS Что с вами не ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.27, ы, 07:08, 29/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    У работников макдональдса принято всё хаять
     
  • 1.15, Вы забыли заполнить поле Name, 21:58, 28/07/2017 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    > Отмечается, что в крупных проектах значение языка не так велико, а многие библиотеки на C или C++ давно отлажены.

    Если значение не велико, то зачем постоянно пиарят этот PVS-Studio и говорят, что постоянно нужно его прогонять.

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

     
     
  • 2.19, Comdiv, 00:27, 29/07/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Это излишне оптимистичное заявление Статический анализатор может выявлять более... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.46, Vkni, 02:03, 30/07/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Я проверил, такое даже GHC не ловит, хотя в Хаскеле это вообще бессмысленная чеп... весь текст скрыт [показать]
     
     
  • 4.52, Vkni, 16:32, 30/07/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Блин, кроме случаев, когда a = NaN :: Double, конечно. :-)
     
  • 3.60, Вы забыли заполнить поле Name, 00:49, 01/08/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Попробуйте сначала проверить прежде чем глупости писать https play rust-lang ... весь текст скрыт [показать]
     
     
  • 4.62, Vkni, 06:23, 01/08/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    У вас не на то предупреждение warning unnecessary parentheses around if cond... весь текст скрыт [показать]
     
  • 1.23, Аноним, 06:03, 29/07/2017 [ответить] [смотреть все]     [к модератору]  
  • +/
    Господи, дадут какой-нибудь группе китайцев внутри компании выполнить проверку ч... весь текст скрыт [показать]
     
  • 1.39, Аноним9563, 13:48, 29/07/2017 [ответить] [смотреть все]     [к модератору]  
  • –3 +/
    программист из меня конечно чуть лучше чкем никакой, но зашел насайт для интерес... весь текст скрыт [показать]
     
     
  • 2.41, Andrey_Karpov, 14:37, 29/07/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Такие ошибки хорошо видны, когда соответствующие фрагменты кода вот так представ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.42, недовольный, 15:15, 29/07/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Убедительно, но не совсем Но быть может в анриле кодят слепые люди Нет, мы ... весь текст скрыт [показать]
     
     
  • 4.43, Comdiv, 15:50, 29/07/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Всё даже хуже, потому что статический анализатор при всё полезности выявляет лиш... весь текст скрыт [показать]
     
  • 4.44, Andrey_Karpov, 16:11, 29/07/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Прошу пролистать вот эту статью Зло живёт в функциях сравнения - https www vi... весь текст скрыт [показать]
     
  • 4.47, Vkni, 02:08, 30/07/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ага Нет, просто там объёмы большие Такие большие, что любой хоть раз, да запнё... весь текст скрыт [показать]
     
  • 4.57, Ordu, 18:55, 31/07/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Может быть заменили, но неудачно Иногда, когда занимаешься такой механической р... весь текст скрыт [показать]
     
     ....нить скрыта, показать (6)

  • 1.49, 123, 10:28, 30/07/2017 [ответить] [смотреть все]    [к модератору]  
  • +/
    >>Идея переписать всё на языке Rust, предоставляющем средства безопасной работы с памятью, рассматривается как малореалистичная с учётом огромной кодовой базы проектов на С/С++ и вероятности внесения новых ошибок в процессе портирования

    Все верно - те кто пытался навести порядок в классовой иерархии проекта поймут без объяснений причин.

     
  • 1.54, northbear, 19:01, 30/07/2017 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Про Rust ребята ожидаемо слукавили. Конечно, если народ нечнёт переводить проекты на другие языки, то плоды их трудов станут ненужными.
    То что такие инструменты must have для серьезных критичных коммерческих проектов, это факт. Это не имеет смысла обсуждать.
     
  • 1.55, Kodir, 22:20, 30/07/2017 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Tizen - когда там успели так много настрочить?? Я думал, это мобильная ОСь, где как раз НЕ НУЖНО столько кода - это ж не ПК, где подключают мириады периферии и где количество задач зашкаливает! Это просто мобила, пальцетык с кучей перделок "под пальцы". Походу, там тоже сидят космические архитекторы, желающие написать "одно, подо всё и для всех". Win 10 тому печальный пример...
     
     
  • 2.56, Led, 22:36, 30/07/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    > Я думал

    Опять врёшь?

     
  • 1.58, Andrey_Karpov, 19:14, 31/07/2017 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    А вот обещанная ранее статья: Характеристики анализатора PVS-Studio на примере EFL Core Libraries, 10-15% ложных срабатываний - https://www.viva64.com/ru/b/0523/
     
     
  • 2.59, Led, 22:15, 31/07/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Ух ты! Картинка-в-картинке^WРекламка-в-рекламке!
     
  • 1.63, Kodir, 19:02, 03/08/2017 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    С таким уровнем ошибок для _встроенного_ПО_ сасунг может смело катиться к чертям! Это неприемлемо!
     

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


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