|
Эта публикация цитируется в 3 научных статьях (всего в 3 статьях)
Масштабируемый инструмент поиска клонов кода на основе семантического анализа программ
Севак Саргсян, Шамиль Курмангалеев, Андрей Белеванцев, Айк Асланян, Артем Балоян Институт системного программирования РАН
Аннотация:
В статье обсуждаются существующие методы поиска семантически сходных участков кода (клонов). Анализируются недостатки каждого метода, на основе чего предлагается новый метод поиска клонов кода и описывается архитектура инструмента для языков C/C++ на основе компиляторной инфраструктуры LLVM, в которой реализован предложенный метод. Работу инструмента можно разделить на два основных этапа. На первом этапе программа компилируется в промежуточное представление LLVM компилятором Clang. По этому представлению строится граф зависимостей программы (Program Dependence Graph — PDG) для каждой единицы компиляции. На втором этапе производится анализ поиска клонов кода в построенных графах. В инструменте существует отдельный этап тестирования алгоритмов, который будет подключен при запуске инструмента в режиме тестирования. Это дает возможность автоматической генерации тестов и проверки точности реализованных алгоритмов.
Ключевые слова:
семантический анализ, поиск клонов, PDG, LLVM.
Образец цитирования:
Севак Саргсян, Шамиль Курмангалеев, Андрей Белеванцев, Айк Асланян, Артем Балоян, “Масштабируемый инструмент поиска клонов кода на основе семантического анализа программ”, Труды ИСП РАН, 27:1 (2015), 39–50
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp112 https://www.mathnet.ru/rus/tisp/v27/i1/p39
|
|