LINUX.ORG.RU

Команда PVS-Studio: Свежий взгляд на код Oracle VM VirtualBox

 , , ,


1

5

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

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

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

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

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

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



Проверено: tailgunner ()
Последнее исправление: tailgunner (всего исправлений: 3)

Хорошая эта ваша команда PVS-Studio.

weare ★★
()
Ответ на: комментарий от Andrey_Karpov_2009

Воспринимай меня как уникальный шанс пообщаться с представителем тёмной стороны. Думаю, тут немного таких. Это ведь интересно.

Ребята, а начерта вы тут нужны (даже если не брать в расчет что вы испортили своим спамом Хабрахабр)? Вы позиционируете свой убердорогой продукт, распространяемый по подписке как инструмент для крупных корпораций. Вы рассчитываете найти их на ЛОРе? Это просто смешно, учитывая что от ЛОРа нет фидбека даже на сообщения о финансовых кампаниях для открытого софта. Вы стремитесь просто получить рефералы с ЛОРа? Тогда смею огорчить, но Google уже отключил систему PageRank и смысла в этом немного... Поэтому, зачем ваша реклама нужна тут?

X-Pilot ★★★★★
()

Про виртуалбокс тут только первый абзац. Неинформативно. Вообще.

IceWindDale
()

Андрей Карпов молодец! Несмотря на тонны грязи и недовольства от LOR-сообщества, он продолжает писать здесь новости. Уважаю!

vedro
()
Ответ на: комментарий от gag

Предлагаю направить вашу рекламу именно в это русло, чтобы привлечь средства. Или вы уже начали, а не просто сидите и ждёте, пока главное министерство к вам само придёт?

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

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от dimon555

Правильно я понимаю, что Вы предлагаете поделить цикломатическую сложность на плотность ошибок? Если да, то прошу пояснить эту метрику. А так да, это можно сделать.

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

У нас в анализаторе есть только подсчёт цикломатической сложности в разделе «диагностики на заказ» (V2008. Метрики нам не очень интересны. Мы стараемся искать именно ошибки.

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от I-Love-Microsoft

К сожалению, это теория, которая не согласуется с реальностью. Писать, что «грамотная кроссплатформенная разработка не требует дополнительных затрат на поддержку дополнительных ОС» может только тот, кто на практике не занимался с такими проектами. Не важно, грамотная она или нет. Ну не бывает бесплатной поддержки чего-либо. За это всегда приходится платить временем, деньгами. Это как обсуждать вечный двигатель. Мол если сделать правильную схему, оно не будет ничего потреблять, а наоборот давать.

Предупреждаю, вступать в дискуссию с теми, кто будет доказывать мне обратное, я не буду. Эти люди просто не умеют считать.

тем более ПО, которое по сути анализирует текстовые файлы, которые не выполняются на целевой ОС.

К сожалению, это вновь теория, которая никак не согласуется с действительностью. Я вынужден разрушить розовый мир. У каждого компилятора «свой стандарт С++». Просто оно вот так и всё. Свои заморочки, свои расширения, свои несовместимости. Поэтому с каждым конкретным компилятором надо заниматься отдельно. Это очень большая, скрытая от других работа.

И не важно, что конкурентная команда разработчиков не пишет код вида:

x = y ?: 2;

Эту сокращённую форму тернарного оператора поддерживает GCC, а значит должен и анализатор. Иначе он просто будет отваливаться на каком-нибудь системном файле и не проверит половину проекта. И таких нюансов сотни.

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от Andrey_Karpov_2009

Вы не поняли, я имел в виду, есть ли у вас автономный анализатор, не плагин, который бы мог крутиться если не на линупсе, так хоть на реактосе...

Indexator ★★★
()
Ответ на: комментарий от SZT

В чем проблема озвучить количество пользователей этих бесплатных версий?

Да не знаю я просто это самое количество. Какие-то ключи выдавал я, какие-то мои коллеги. Учёт бесплатных пользователей у нас не ведётся. Ходить и заставлять всех копаться в почте, вспоминая что и когда кому выдавалось, я не буду.

Ну а кто или что вам мешает попробовать получить подобный грант?

Даже не знаю, как ответить. Попробую с помощью аналогии. :)

Что Вам мешает стать премьером/министром в нашей стране и пользуясь этим нести свет в массы, продвигая скажем открытые решения?

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от Indexator

Вы не поняли, я имел в виду, есть ли у вас автономный анализатор, не плагин, который бы мог крутиться если не на линупсе, так хоть на реактосе...

Конечно есть. Называется Standalone утилитой. Имеется в дистрибутиве. http://www.viva64.com/ru/d/0360/

Andrey_Karpov_2009
() автор топика

Напомню, что разработчики PVS-Studio славятся тем

А почему бы вам не написать проще "..мы, разработчики pvs-studio, славимся..."?

andreyu ★★★★★
()
Ответ на: комментарий от GanGSISoft

что между ними общего, кроме названия?

Общее то, что pvs-studio умеет в эти языки.

andreyu ★★★★★
()
Ответ на: комментарий от Dark_SavanT

был у них cppcat, как раз для индивидуальных разрабов, который не взлетел.

Потому, что он был порезан по самое не хочу. Но выводы авторы сделали несколько странные.

andreyu ★★★★★
()
Ответ на: комментарий от anonymous

а ещё и эксплуатируют в этих корыстных целях свободный софт, выставляя это всё как «благое дело».

Это и есть благое дело - они провели исследования открытого продукта своей утилитой и предоставили разработчикам открытого продукта отчет.
Что вас смущает в этой схеме мне непонятно.

andreyu ★★★★★
()

1) Что именно технически мешает сделать кросс-платформенный анализатор? Какие платформо-зависимые решения используются, препятствующие обобщению реализации? Может ли автономный вариант PVSS работать при отсутствии каких-либо компиляторов в системе?

2) Понятно, что вы хотите зарабатывать на продукте, ОК. Тогда скажите, за какое количество денег (вообще/в год/...) вы готовы опубликовать исходники (вообще все/наработанные за период) под публичной лицензией (MIT/CC/GPL/...)? У вас же должна быть определенная цель в финансовом плане. Разбивку можно сделать не по времени, а по версиям, не важно.

EtherealPhantom
()
Ответ на: комментарий от Vudod

бан автора по морально-этическим соображениям

Ну почему на этом форуме столько неадекватных фанатиков? Откуда вы вообще беретесь? Еще наверняка все взрослые люди, а не какие-нибудь школотроны.

SjZ ★★★★★
()
Ответ на: комментарий от Edible

Я писал этим PVS-мымрам на почту с просьбой продать продукт. Послали лесом со словами - мы работаем только с корпорациями, идите разрабы нахер.

Хоть мне их позиция не нравится, но это их продукт и они вправе сами решать, кому его предоставлять, а кого нахер посылать.

andreyu ★★★★★
()
Ответ на: комментарий от Andrey_Karpov_2009

Если да, то прошу пояснить эту метрику.

смысл понять зависимость между цикломатической сложностью и количеством ошибок, линейная она или более сложная.

Метрики нам не очень интересны. Мы стараемся искать именно ошибки

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

dimon555 ★★★★★
()
Ответ на: комментарий от X-Pilot

но Google уже отключил систему PageRank и смысла в этом немного...

Ничего он не отключал. PR будет использоваться и дальше, но не будет доступен снаружи.

andreyu ★★★★★
()
Ответ на: комментарий от Vudod

Ну так этот сайт сделан для поддержки пользователей и разработчиков свободных проектов.

Ну, так они и помогли: выявили проблемы, отправили отчет...

я за бан автора по морально-этическим соображениям.

Потому ты и не король аськи модератор...

Indexator ★★★
()
Ответ на: комментарий от void_ptr

Кстати, почему ЛОР для Карпова вторичен?
Я сперва эту же статью на Гиктаймсе читаю, а потом только через пару дней на ЛОРе.


А что на ЛОРе вообще делает реклама плагина для MSVS?!

segfault ★★★★★
()
Последнее исправление: segfault (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Они одинаковы по сути.

Интересно, а что ты ожидал от отчета, чем эта статья, по сути, и является? Какого-то захватывающего сюжета или экшОна? Каждый отчет об ошибках одинаков по форме, но полезен по содержанию, а у них они еще и с подробным описанием ошибок, с полезными советами и замечаниями и мне, как разработчику, это всегда интересно читать! Насчет тебя не знаю, видимо ты не имеешь отношения к разработке...

Старый быдлокодер

А, ну, понятно... В общем, этим все сказано...

Indexator ★★★
()
Ответ на: комментарий от andreyu

Хоть мне их позиция не нравится, но это их продукт и они вправе сами решать, кому его предоставлять, а кого нахер посылать.

Теперь понятно зачем он сюда ходит. Поиздеваться. Как ребенок, показать конфетку и сказать, что тебе никогда не дам. :)

Так как цена закрыта, то можно предположить, что система построена на откатах. А здесь есть люди работающие в крупных конторах, ну или те, кто может в них попасть. Так что вполне себе целевая аудитория.

x86_64 ★★★
()

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

smolnij
()
Ответ на: комментарий от torvn77

Так вроде как virtualbox после появления kvm и libvirt стал не нужно и пользуются им только неосиляторы и некрофилы.

Сначала хотел аргументировать, потом понял, что аргумент можно под некрофилию подвести. :) QNX4 в свое время перестал запускаться. Только в virtualbox работает.

Разработчики просят доставать из исходников, собирать и проверять на каком патче QNX4 перестал работать.

Самим им влом, очевидно.

x86_64 ★★★
()
Последнее исправление: x86_64 (всего исправлений: 1)

Да пусть рекламятся, лично мне ни жарко ни холодно. Проверяют опенсорс проекты и то хорошо, вот только клиентов вам на этом сайте вам и правда не найти

anonymous
()
Ответ на: комментарий от x86_64

Разработчики просят доставать из исходников, собирать и проверять на каком патче QNX4 перестал работать.

Самим им влом, очевидно.

Ну это типа кому нужнее :)

anonymous
()
Ответ на: комментарий от Indexator

Так оно работает под вайном или в реактосе?

Я не знаю. Под выйном давно не пробовали. Когда попробовали поставить ReactOS, этот ReactOS падал. Как сейчас с ReactOS дела обстоят - тоже не знаю.

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от x86_64

Так как цена закрыта, то можно предположить, что система построена на откатах. А здесь есть люди работающие в крупных конторах, ну или те, кто может в них попасть.

Ох тыж господи. Теория заговора головного мозга. Мы практически не имеем клиентов в России. Посмотрите на список. А те кто есть, могут себе спокойно позволить приобрести и использовать анализатор для улучшения качества кода (пример: компания 1С).

Andrey_Karpov_2009
() автор топика
Ответ на: комментарий от dimon555

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

Да, вы правы. И есть другие инструменты, считающие метрики. Нам это неинтересно. Это сложно продать.

Andrey_Karpov_2009
() автор топика

Команда PVS-Studio

Опять эти, со своим было-поделием рыло своё сюда пилят. Изыди я сказал.

anonymous
()
Ответ на: комментарий от Andrey_Karpov_2009

Теория заговора головного мозга.

Всего лишь информированность о использовании таких цен несколькими конторами. Причем тут «Мы практически не имеем клиентов в России.»? Или вы из тех наивных вьюнешей у которых на цивилизованном западе коррупции нет? Так те примеры которые я знаю и были как раз филиалами штатовских и европейских контор.

x86_64 ★★★
()
Ответ на: комментарий от X-Pilot

даже если не брать в расчет что вы испортили своим спамом Хабрахабр

Это каким образом интересно? Тебя насильно их статьи читать заставляют? Или нормальные авторы из-за них разбежались? Ну-ну.

Поэтому, зачем ваша реклама нужна тут?

Да хотя бы ради смешных комментариев.

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

Это звучит как «Буду рекламироваться любой ценой» или «Приказ боса будет выполнен во что бы то не стало»

torvn77 ★★★★★
()

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

Хотя нет, не все :). Я знаю как некоторым хочется громко хлопать дверью «это сайт для опенсурца». Но есть проблема — большинство крикунов ничего полезного не сделали :). Ну и, конечно, щас всплывут те кто что-то когда-то сделал и теперь будут «с полным моральным правом гнать проприетарщину с лора» :).

Ну а лично я не против видеть статью если после этого виртуалбокс станет лучше. Тем более что я расцениваю их статьи как руководства для молодняка «как делать не надо». Для многих до сих пор новость что код вычёсывается не только принтами.

true_admin ★★★★★
()
Ответ на: комментарий от Andrey_Karpov_2009

Когда попробовали поставить ReactOS, этот ReactOS падал. Как сейчас с ReactOS дела обстоят - тоже не знаю.

Всё также.

anonymous
()

Видели ли этот анализ разработчики VBox'а? Высказали ли они свое мнение на этот счет?

thesis ★★★★★
()
Ответ на: комментарий от true_admin

Хотя нет, не все :). Я знаю как некоторым хочется громко хлопать дверью «это сайт для опенсурца». Но есть проблема — большинство крикунов ничего полезного не сделали :). Ну и, конечно, щас всплывут те кто что-то когда-то сделал и теперь будут «с полным моральным правом гнать проприетарщину с лора» :). Ну а лично я не против видеть статью если после этого виртуалбокс станет лучше. Тем более что я расцениваю их статьи как руководства для молодняка «как делать не надо». Для многих до сих пор новость что код вычёсывается не только принтами.

Удваиваю. Чуваки из PVS-Studio пишут интересные разборы полётов по итогам работы своего анализатора, бывает интересно почитать.

А у кого свободка в одном месте щекочет, так вперёд: исходники cppcheck в зубы и пилить, пилить...

Deleted
()
Ответ на: комментарий от torvn77

А вот пользователи KVM просто пробрасывают видеокарту

Теоретег? Как пробросить ноутбучную нвидию сидя на встройке?

TooPar
()
Ответ на: комментарий от TooPar

Теоретег? Как пробросить ноутбучную нвидию сидя на встройке?

Ок, кроме пользователей ноутбуков.

torvn77 ★★★★★
()
Ответ на: комментарий от torvn77

Сам ты здесь не считаешься.
И, кстати, умозаключение «хомяки и есть неосиляторы квм» выдает в тебе удивительно глубокого здравомыслящего аналитика.

thesis ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.