Выходит следующая версия 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.