LINUX.ORG.RU

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

 , , , ,


0

2

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

язабан

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

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

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

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

OpenSource — он прежде всего про свободу модификации и раздербанивания на куски. Т.е. кто-то проделал работу по созданию OpenSource кода и он дает тебе возможность смотреть, анализировать, переиспользовать, переделывать, доделывать и т.д. Т.е. дает возможность производить что-то дальше.

Но OpenSource — это не про пиар за счет результатов чужого труда. Не зря же в ряде OpenSource-лицензий есть даже явный запрет на использования названия оригинальной разработки в производных продуктах. А тут, на мой взгляд, именно это и происходит. Использовали рассказ о багах в GCC или в Mono для пиара PVS-Studio. Хз, какая польза для самих проектов GCC/Mono от сделанных баг-репортов. Зато PVS-Studio засветился в лучах брендов GCC и Mono.

Цинизм в том, что люди при этом прикрываются формальностями: ну баг-репорты же сделалы, вклад в OpenSource налицо, все нормально, никто никого не имеет...

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

Цинизм в том, что люди при этом прикрываются формальностями: ну баг-репорты же сделалы, вклад в OpenSource налицо, все нормально, никто никого не имеет...

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

anonymous
()

Думаю, не все знают, что Mono написан на языке C#.

И эти дебилы пытаются что-то там еще «анализировать».

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

При всём уважении, я не могу считать новость (беру последнюю) «Релиз музыкального плеера Audacious 3.8» поводом для интересной дискуссии. Я уверен, что мои посты гораздо интересней и вызывают куда больше отклика у читателей. :)

Не благодарите :)

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

Они же пытаются подать себя как «ненищебродов» (и для «ненищебродов»), пуканы воспламенятся.

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

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

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

Отправьте смс «Я не лох» на короткий номер. Чем больше вы отправите, тем больше вы не лох.

anonymous
()

Что тут можно сказать? Шокирует количество близоруких людей, исповедующих позицию «буду жрать говно, лишь бы сосед не разбогател»

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

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

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

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

eao197 ★★★★★
()

Andrey_Karpov_2009, я тут ваш бинарник с бета-версией PVS Studio for Linux чуть-чуть поковырял.

Линковать статически GLibc конечно идея здравая. Вне зависимости от дистрибутива заработает этот ваш бинарник. Но согласно лицензии GNU LGPL, вы обязаны предоставить объектные файлы пользователю, чтобы провести линковку пользователь мог сам. Чего нет. А это уже нарушение лицензии СПО. :)

Не знаю, насколько для вас это «свежо», просто лишний раз напомнить.

a1batross ★★★★★
()
24 ноября 2016 г.
Ответ на: комментарий от anonymous_sama

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

Посмотреть можно и чейчас. А поповоду бесплатного варианта мы тоже работаем. Ждите новостей.

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