Аннотация:
В статье представляется новый инструмент TSAR, предназначенный для оценки эффективности статических анализаторов. TSAR включает в себя три основных компонента: систему анализа статических анализаторов, генератор тестов, базирующийся на Common Weakness Enumeration (CWE), и механизмы трансформации кода (мутатора) для усложнения работы анализаторов. Система анализа позволяет выявлять слабые места в инструментах статического анализа, в то время как генератор тестов создает специфические случаи на основе известных уязвимостей. Трансформации кода позволяют создавать сложные структуры, затрудняющие анализ и призванные проверить устойчивость анализаторов к обнаружению реальных уязвимостей. Данный инструмент предоставляет исследователям и разработчикам возможность для более глубокой оценки качества статических анализаторов программного обеспечения для их дальнейшего улучшения.
Ключевые слова:
статический анализ, тесты, генератор тестов, трансформации, классификации уязвимостей CWE, компиляторная инфраструктура MLIR, проект LLVM, компилятор clang, анализатор cppcheck, тестовый набор Juliet, статический анализатор clang-tidy