Выходит следующая версия Svace 3.3.2. Основные изменения: обновление поддерживаемых версий Java, C# и Go, добавление анализа с кэшем в удалённый анализ.
В релизе обновлены компиляторы для следующих языков:
Язык Go довольно активно развивается и сейчас уже доступны версии 1.18 и 1.19. Проекты для этих версий также должны анализироваться, но возможен неточный анализ для новых возможностей языка.
Другим важным изменением было добавление анализа с кэшем в удалённый анализ.
Теперь сервер удалённого анализа может запускать анализ с кэшем, что позволит существенно сократить время.
Для активации режима необходимо передать параметр --with-cache
команде запуска удалённого анализа: svace remote analyze --with-cache
.
Также в анализе появилась опция ZIP_ANALYZE_RES
, которая позволяет передать заархивированную директорию analyze-res
на клиентскую машину при удалённом анализе.
В этом релизе было улучшено множество детекторов.
Ниже улучшения для детекторов, которые просили улучшить наши пользователи:
DYNAMIC_OVERFLOW
, SIMILAR_BRANCHES
, DEREF_OF_NULL.RET
, DEREF_OF_NULL.COND
, UNCHECKED_FUNC_RES.STAT
, DEREF_OF_NULL.RET.STAT
, DEREF_OF_NULL.CONST
, USE_AFTER_FREE.REALLOC
, HANDLE_LEAK
(C#), DEREF_OF_NULL.RET.USER.PROC
(C#).
В утилиту просмотра детекторов добавлена возможность объединения и пересечения:
Команда
svace warning DEREF_AFTER_NULL,DEREF_OF_NULL false
выключит предупреждения DEREF_AFTER_NULL
и DEREF_OF_NULL
.
Команда
svace warning --and CRITICAL,GO
покажет список критических предупреждений для Go.