185 похожих чатов

Я, наверное, задолбал этой темой, но, в принципе, можно и

раз в день гонять этот анализ, присылая результаты наутро. В смысле, не так всё отчаянно плохо — можно «договориться» тем или иным образом. Чем-то придётся пожертвовать, но это не так чтобы «совсем бесполезно». Это не win/loose, тут целый спектр.

Если кода достаточно много, даже простая проверка Сшных include guards (тупой regexp, два дня на написание и проверку) выявляет сотни случаев.

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

14 ответов

25 просмотров

Это всё ещё про сложные анализы режима "вся программа"?

> можно и раз в день гонять этот анализ, присылая результаты наутро На практике такое работает очень плохо. Основных проблем 2. 1. Наутро разработчики уже забыли, что конкретно они меняли, и вообще, исправления репортов от статического анализатора в бэклоге не было, так что уезжает на какой-нибудь будущий спринт, который никогда не наступит. 2. Если статический анализатор выдаёт достаточно много ложноположительных срабатываний, но между прогонами "забывает" про них (или вообще нет механизма отметить известные ложноположительные случаи) — это очень быстро всем надоест, и на него просто забьют.

Я так понимаю тут сложность будет где-то 4/3 в степени n, где n - число переменных влияющих на результат проверки. Если у вас число превысит 2 в 20 степени, то можно считать, что это не работает.

Alexander Chichigin
> можно и раз в день гонять этот анализ, присылая ...

У нас работает норм. Статический анализ гонится несколько раз в день, если приезжают новые ошибки - сообщение а слак, там тегают автора ошибки и он идёт исправлять. Без беклогов и спринтов, да.

Mikhail
У нас работает норм. Статический анализ гонится не...

Так анализ гоняется на каждый pull request или "от балды"? Блочит мердж или нет? На предмет каких проблем анализирует?

Лимон Цитрусовый
Ваш анализатор использует sat решатель?

уверенно ничего не понимаю. у нас пивас сейчас, периодически тыкаю палочкой шланг с z3.

Alexander Chichigin
Так анализ гоняется на каждый pull request или "от...

От балды, на каждый мр слишком медленно

Mikhail
От балды, на каждый мр слишком медленно

И примерный объем кода проверяемого ещё напишите для понимания.

Лимон Цитрусовый
И примерный объем кода проверяемого ещё напишите д...

------------------------------------------------------------------------------------ Language files blank comment code ------------------------------------------------------------------------------------ C++ 8382 396303 86958 2297196 C/C++ Header 9480 197202 104427 1065150 C# 7278 114689 42557 628749

Konstantin-Romanov Автор вопроса
Alexander Chichigin
> можно и раз в день гонять этот анализ, присылая ...

Не, ну пункт 1 — это болезнь такая. Альцгеймер.

Konstantin Romanov
Не, ну пункт 1 — это болезнь такая. Альцгеймер.

Есть такое понятие — скорость обратной связи.

Konstantin-Romanov Автор вопроса
Alexander Chichigin
Есть такое понятие — скорость обратной связи.

Я не спорю, что это чудесно. Я вообще люблю, когда обратная связь имеет хотя бы 0.2 сек, а лучше 60 fps. Но я всё клоню к тому, что это не математическая, а инженерная проблема => она не решается на 100%. Но ведь абсолютной неприменимости тоже нет. По Salto ведь даже статьи нет, только презентация. Статью обещали написать. Язык поддерживается не полностью (в смысле, на ряд конструкций стоит failwith "Unimplemented"). В общем, будем посмотреть, что выйдет. Я постараюсь проследить, и, если интересно, рассказать тут.

Konstantin Romanov
Я не спорю, что это чудесно. Я вообще люблю, когда...

Whole-program vs. Compositional (modular, incremental) analysis — именно что математическая проблема. Если её "решать инженерными костылями", то результаты будут абы какими. Если статический анализ невозможно встроить в CI, то результаты тоже будут "как получится", потому что проблемы начнут решаться "по возможности, как время будет". Для академических проектов это "приятный бонус", но для индустриальных коммерческих проектов — очень серьёзная проблема.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта