LINUX.ORG.RU

Beta-тест C# анализатора PVS-Studio на Linux и macOS

 , , ,


3

4

Всё больше пользователей C# анализатора PVS-Studio интересуются возможностью его использования для проверки C# кода на Linux и macOS. И сегодня у нас хорошие новости.

Мы ведём активные работы по портированию нашего C# анализатора на платформу .NET Core, а также занимаемся обеспечением его работоспособности на Unix’о-подобных ОС. В наших планах выпустить PVS-Studio C# для .NET Core на платформах Linux и macOS в конце апреля - первой половине мая 2020.

Мы планируем начать бета-тест в начале-середине апреля. Если вам интересно принять в нём участие, заполните эту форму: https://www.viva64.com/ru/pvs-studio-eap/

Когда beta тест стартует, мы вышлем вам инструкции по установке анализатора и пробную лицензию.

Лысый, ты вернулся! А девки в костюмах единорогов у вас всё ещё работают?

И, кстати, что делать если у меня нет корпоративной почты? Бетатестером мне не стать?

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

ой, всё?

Зачем этот хлам в линуксах? Идите и пилите свои бложики на хабрах, попивая смузи и потягивая вейп. Ах, да. Штанишки подверни.

anonymous ()

я вот чего не понимаю… тулза статического анализа, которая якобы круто ищет баги и позволяет писать безошибочный софт…требует бета тесторов, чтобы они нашли баги внутри нее.

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

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

спасибо. cast lovesan На правах оффтопика в теме у попрошайки не расскажешь, что сейчас нового в Linux-е на C# пишут? А то я как-то отстал от жизни, помню что Banshee дропнули, а нового Stack Overflow на горизонте не вижу. Да и вообще ASP.NET вроде как не популярен, с него валят на Python и PHP, если могут

peregrine ★★★★★ ()
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от DELIRIUM

Ну тоже как вариант... А звезды от крестов гаснуть стали. Кресты они на психику плохо влияют, становишься более раздражительным.

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

Большинство пишущих под .Net Core серверные вещи, на линуксе их и запускают. Часто в контейнерах вообще.

Никто не валит на питон, и тем более на PHP. Это вещи вообще не сравнимые. Python для крупных энтерпрайз проектов подходит очень плохо, по длинному ряду причин.

Asp Net Core - очень крутая и удобная штука, из популярных веб-фреймворков вообще самый удобный имхо.

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

И это нужно потому, что … ?

Работая на стендах на конференциях в 2019 году мы очень много раз слышали про потребность запускать анализ C# кода именно на Linux. Некоторым командам разработчиков так удобно. И некоторые существующие клиенты также заинтересованы в такой возможности. Так что есть повод сделать и рассказать другим про новый возможный сценарий применения.

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

я вот чего не понимаю… тулза статического анализа, которая якобы круто ищет баги и позволяет писать безошибочный софт…требует бета тесторов, чтобы они нашли баги внутри нее.

Статический анализатор — это сложный проект, которому приходится через плагины взаимодействовать с различными вешними системами (Visual Studio разных версий, SonarQube, Jenkins и т.д). И здесь проверкой одного кода обойтись не получится, нужно проверять взаимодействие с другими сущностями. Более того, некоторые проблемы связанны со сторонними ошибками. Например, в Visual Studio 2019 (Toolset v142) сломали в некоторых случаях расстановку #line в препроцессированных файлах при использовании многострочных макросов. Из-за этого теперь мы иногда указываем не на ту строчку кода. Отписали, обещали поправить, ждём новый релиз. Как же не тестировать… Потом, кстати, когда поправят, будет заметка в блоге.

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

Мы хорошо понимаем, что качество достигается не одним волшебным инструментом, а комплексом мер, которые дополняют друг друга. Поэтому мы используем и свой статический анализатор, и сторонний, и code-review, и динамический анализатор, и юнит-тесты, и регрессонные тесты, и тесты интерфейса и т.д. Уж у нас то нет самообмана, что вот мы точно крутые и пишем без ошибок :). Ошибаются все и нужно использовать сочетание различных подходов.

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

Где? Я пытаюсь выкроить время для Яндексовского на Курсере, но у них код-стайл — говно, глаза сломаешь, пока прочтёшь хоть одну функцию, из-за чего приходится всё переформатировать под себя

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

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

А если тулза написана на С++, как ты себе представляешь анализ С++ кода анализатором С#-кода?

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

А если тулза написана на С++, как ты себе представляешь анализ С++ кода анализатором С#-кода?

C++ анализатор написан на C++. C# на C#. А Java на Java и C++. Так что мы можем проверить сами себя и, естественно, регулярно это делаем. Другое дело, что ошибки сразу правятся и как-то не получается их собирать для демонстрации. Хотя, однажды был вот такой случай: Проверяем исходный код плагина PVS-Studio с помощью PVS-Studio - https://habr.com/ru/company/pvs-studio/blog/279437/

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

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

Слишком много хайпа в этой теме, и обширный рынок, но т.к. сама задача «костыльная» - исправление «подводных камней» ЯП и низкой квалификации программистов, нет также никаких гарантий, что подобные эмпирические припарки гарантируют качество конечного продукта, проанализированного подобным анализатором, пусть даже он лучший на рынке. А плохих на рынке хватает. Глянешь на отчет анализа - а там бOльшая часть false positives, и тратить время на разгребание тонн навоза в поиске пары жемчужин смысла нет - проще исправить баг, когда его выявит клиент или отдел тестирования.

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

Думаю, в следующий раз причину бана можно поставить более точно: Попрошайничество.

А зачем банить? Товарищ не настолько навязчив, как, например, Антивирус Куранина.

DarkAmateur ★★★ ()
Последнее исправление: DarkAmateur (всего исправлений: 3)
Ответ на: комментарий от seiken

Глянешь на отчет анализа - а там бOльшая часть false positives, и тратить время на разгребание тонн навоза в поиске пары жемчужин смысла нет - проще исправить баг, когда его выявит клиент или отдел тестирования.

Попробуйте вот такой подход: Heisenbug 2019, Иван Пономарёв, Непрерывный статический анализ кода - https://youtu.be/_Wv-PvZeRlI

Описание: Статические анализаторы — верные помощники, умеющие просматривать код на предмет нарушений форматирования, характерных багов и даже ошибок правописания и конфигурации. В докладе мы рассмотрим, как заставить анализаторы приносить пользу в вашем конвейере непрерывной интеграции, в том числе для старых и не использовавших ранее анализ проектов. Обсудим ограничения анализаторов и их место в процессе непрерывной интеграции. Рассмотрим «метод храповика» уменьшения количества находок статического анализа. Примеры кода будут на Jenkins, но общие принципы могут быть применены для любой CI-системы.

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

Просто в голову стрельнула идея. Вы для Go сделайте свою штуку. Востребовано, и слабых программистов там тоже должно быть много. Чем не рынок?)

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

На линуксах любят бесплатное

Добавь комент и пользуйся бесплатно

// This is an open source non-commercial project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com

или такой, если хочешь заработать чуток денег и пилишь не open source и всё равно хочешь пользоваться бесплатно:

// This is an independent project of an individual developer. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com

Те же gpl или bsd тоже требуют упоминания и ссылки/либо полного текста лицензии…

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

Дохлый номер. На линуксах любят бесплатное. Тут наварчик не поимеете.

Не вижу взаимосвязи. У нас есть немало клиентов из мира C++ в Linux. Есть конкретные клиенты, которые хотят под Linux ещё и C#. Так что направление вполне имеет смысл.

Andrey_Karpov_2020 ()

на платформу .NET Core

В долговременной перспективе это хорошо, но на сейчас и ближайшее будущее необходим обычный .NET/Mono. В крупных дистрибутивах GNU/Linux нет официальных (собранных независимо от Mircrosoft) пакетов .NET Core, а, значит, нет и соответствующих приложений. И в AUR (Arch), насколько можно нагуглить, открытая сборка ещё содержит существенные ошибки.

gag ★★★★★ ()