RUS  ENG
Полная версия
ЖУРНАЛЫ // Моделирование и анализ информационных систем // Архив

Модел. и анализ информ. систем, 2012, том 19, номер 6, страницы 69–78 (Mi mais271)

Слайсинг над деревьями: метод обнаружения разорванных и переплетенных клонов в исходном коде программного обеспечения

М. Х. Ахин, В. М. Ицыксон

Санкт-Петербургский государственный политехнический университет

Аннотация: В настоящее время практически любое программное обеспечение (ПО) содержит избыточный дублированный код (клоны), что приводит ко множественным проблемам на этапе поддержки такого ПО. За последние годы для решения проблемы дублирования было предложено множество различных подходов к обнаружению клонов, но большинство из них не рассматривают семантические свойства исходного кода ПО.
В данной работе предлагается усилить классический подход к обнаружению клонов на основе анализа абстрактных синтаксических деревьев (АСД) за счет использования дополнительной информации о слайсах АСД по переменным программы. Это позволяет эффективно обнаруживать разорванные (gapped) и переплетенные (intertwined) клоны — результаты предварительных экспериментов подтверждают применимость предложенного подхода на практике.

Ключевые слова: обнаружение клонов, слайсинг над деревьями, шаблоны над деревьями, поддержка программного обеспечения.

УДК: 004.05+004.422+004.4'23

Поступила в редакцию: 12.09.2012



© МИАН, 2024