Комментарии 8
интересно можно ли эти наработки использовать не для разных архитектур, но и для разных ОС (совсем разных имеется в виду, не дистрибов линукса разных) ?
Какой то проктологический подход к интеграции вызова анализатора, а не unix-way
Больше на антивирус смахивает, лол
Да, с помощью rtc можно встроить анализ в процесс сборки отдельных проектов, например, с использованием compile_commands.json
.
Но, ключевой частью задачи была интеграция анализа в процесс сборки пакетов дистрибутива операционной системы. И в этом случае штатные способы интеграции pvs-studio с запуском под rtc пришлось бы внедрять в spec
-файлы для каждого пакета по отдельности (да, что-то можно было бы унифицировать макросами, но было бы очень много постоянной ручной работы).
Вынос процесса проверки за пределы сборки позволил избежать ручного труда по доработке каждого пакета. По сути все изменения на стороне сборочницы были локализованы в конфигурации Mock.
Здравствуйте, Владислав @phprus ! Нам очень приятно, что вы и ваша компания не только обратили внимание на наш продукт, но и решили проверить ваш проект с помощью PVS-Studio. Надеемся, найденные ошибки в коде помогут вам улучшить "Эльбрус"!
Мы обратили внимание, что в конце статьи вы пишете о замедлении работы процессов сборки. В теории, замедление действительно возможно, так как strace может влиять на скорость сборки, но на практике мы еще не встречали заметных проблем с ним. Нам было бы интересно исследовать ваш кейс подробнее, поэтому будем очень рады, если вы оставите сообщение в форме обратной связи на нашем сайте: https://pvs-studio.ru/ru/about-feedback/. Тем более, как подсказывают коллеги, мы уже общались по поводу различных доработок анализатора, и ваш опыт будет особенно ценен для нашей команды.
Хорошего дня и чистого кода! С уважением, команда PVS-Studio!
Добрый день!
Да, при запуске сборки различных проектов под strace
на платформе Эльбрус наблюдалось заметное замедление сборки. Но, мы не проводили точных измерений замедления и не проводили поиск причин этого замедления. Из поверхностных наблюдений, процесс strace
иногда упирался в CPU, потребляя все ресурсы ядра процессора.
Как манул единорога в горы водил: запускаем PVS-Studio на российских процессорах Эльбрус