Специалисты Национального исследовательского университета разработали систему для автоматического обнаружения опасных фрагментов в программном коде. Новый инструмент способен выявлять потенциально вредоносные участки до запуска программы.
Разработка использует метод статического анализа, который не требует выполнения проверяемого кода. Система проводит лексический анализ, разбивая программу на минимальные смысловые единицы, а затем строит структурную схему кода в виде дерева разбора.
По словам исследователей, существующие аналоги часто сосредоточены на поиске гипотетических уязвимостей и могут выдавать ложные срабатывания. Новая система присваивает каждому фрагменту кода «коэффициент вредоносности», что позволяет точнее отличать реальные угрозы от подозрительных, но безопасных участков.
Эффективность разработки составляет 96%, что подтверждено в ходе испытаний. Инструмент особенно полезен для проверки студенческих работ, где часто встречаются случайные ошибки и лишние инструкции, способные снизить производительность программы или представлять угрозу для компьютера.