Re[6]: И еще рассуждения об ИИ
От: Pavel Dvorkin Россия  
Дата: 01.02.26 15:12
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Это значит, что никакой специфичной для инструмента разметки нет. Просто даём код, и он ищет в нём любые дефект.


Ну так PVS Studio и давали файл кода. Больше ничего.

PD>>Работал он ЕМНИМ на per- source file основе, поэтому ошибки, размытые между разными файлами, не находил.

S>А ИИ прекрасно анализирует ошибки, размытые между файлами.

Этого у него тогда не было, но это было лет 10 назад. С тех пор я с ним дела не имел. Да и его тогда для C# вроде как не было, а для Java только в альфа-версии.


S>Это всё не то. PVS умеет ваш п.5? А это как раз оно — "принять или отвергнуть". Там если он не нашёл, к чему прикопаться, то просто ставит "лайк".


Чего ради он будет делать то, для чего он не предназначен ? Он вообще про PR не знал тогда ИМХО, и не уверен, что сейчас знает. Его дело файл с кодом проанализировать и потенциальные ошибки найти. По крайней мере тогда так было.


S>При том, что отрабатывает эта штука уже после того, как все линтеры, форматтеры, статические верификаторы и юнит-тесты отработали.


А вот это уже интереснее. Линтеры и верификаторы — бог с ними, а вот юнит-тесты — это интересно. Насколько я понимаю, такое можно сделать только если запускать код под собой и контролировать его выполнение. Это уже не статический анализ, а контроль в рантайме. Профайлеры это умеют, но они инструментируют байт-код. Для С++ это неплохо умел покойный Bounds Checker, я им студентов долго мучил. А тут как и кто ? Используется некий инструмент ? И он есть только в этом ИИ, а отдельно его нет ? Чтобы я сам под ним свои unit тесты запустил ? Хм...



S>З.Ы. Важно обратить внимание на формат подачи. Это не просто "правило ES-0051 нарушено в строке такой-то", и сиди разбирайся — то ли это false positive, то ли реальный баг.

S>А на нормальном, человеческом языке написан комментарий про суть проблемы (в терминах проекта, а не линтера). Ровно так же, как это написал бы мега-внимательный, хорошо разбирающийся в коде проекта ревьювер.

Ну и там вполне нормальные сообщения были, а не просто ES-0051. Номер лишь для ссылки на документацию, там дается подробная информация об этом типе ошибки, иногда с примерами.

По ES-0051 не нашел, но вот, пожалуйста

https://pvs-studio.ru/ru/docs/warnings/v1051/

Вот что мне бы выдалось

V1051. It is possible that an assigned variable should be checked in the next condition. Consider checking for typos.

В общем, вполне понятно, а для если непонятно — см. пояснения и примеры на этой странице. Что ему, их все в диагностику мне выдать ?
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.