LuNA-Static-Analysis / LuNA-Static-Analysis-Repository

1 stars 0 forks source link

Дегса: полный поиск SYN5 #186

Open VTsarevNSU opened 2 weeks ago

VTsarevNSU commented 2 weeks ago

для идентификаторов -- обход всех вершин и проверка на пустоту множеств use и def для макросов и ФК -- сохранение каждого из них в отдельную структуру, в которой существует флаг isUsed

VTsarevNSU commented 1 week ago

SYN5.1 - Макрос объявлен, но не используется можно хранить все макросы в базе и для каждого указывать, был он использован или нет требуется сделать эту базу; лучше сделать это как вектор объектов класса Макрос ПРОПУЩЕНО аст не содержит информацию о макросах по различным причинам ошибка не очень важная, поэтому пропущена

SYN5.2 - Имя, определенное в операторе let, не используется возможно создать базу данных всех идентификаторов, а не только базовых имён, чтобы было удобно отслеживать база данных -- дерево, с метками узлов в виде имён вызванных функций (коллстек), и в каждом узле есть список объявленных имён, ДУБЛИКАТОВ В НЁМ НЕТ (использовать множество) РЕАЛИЗОВАНО

SYN5.3 - Базовое имя ФД, определенное в операторе df, не используется пройтись по списку базовых имён и узнать, были ли использования или нет РЕАЛИЗОВАНО

SYN5.4 - Атомарный ФК не используется создать базу РЕАЛИЗОВАНО

SYN5.5 - Структурированный ФК не используется создать базу РЕАЛИЗОВАНО

SYN5.6 - Параметр структурированного ФК не используется проверять метки use у параметров по выходу из анализа блока ФК РЕАЛИЗОВАНО, НО МЕТКИ РАБОТАЮТ ПЛОХО, НУЖНА РЕВИЗИЯ

SYN5.7 - Счетчик оператора for не используется проверять метки use у счётчика по выходу из блока МОЖНО РЕАЛИЗОВАТЬ

SYN5.8 - Счетчик оператора while не используется проверять метки use у счётчика по выходу из блока МОЖНО РЕАЛИЗОВАТЬ