RUS  ENG
Полная версия
ЖУРНАЛЫ // Вестник Астраханского государственного технического университета. Серия: Управление, вычислительная техника и информатика // Архив

Вестн. Астрахан. гос. техн. ун-та. Сер. управление, вычисл. техн. информ., 2014, номер 4, страницы 55–66 (Mi vagtu344)

Эта публикация цитируется в 1 статье

КОМПЬЮТЕРНОЕ ОБЕСПЕЧЕНИЕ И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

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

М. В. Зубов, А. Н. Пустыгин, Е. В. Старцев

Челябинский государственный университет

Аннотация: Для выполнения статического анализа предложено использовать универсальные многоуровневые промежуточные представления. Для анализа архитектуры проекта разработано представление уровня классов, а для анализа функциональных модулей – потока управления. Было реализовано их получение. Для решения задач извлечения информации из исходного текста и предложения рефакторинга был составлен список анализов, основывающихся на подходе совместного использования нескольких представлений. Для реализации анализов были составлены математические модели, формализующие их работу. Часть моделей позволяет рассчитать метрики анализируемого кода, которые могут дать дополнительную информацию о проекте. Для двух анализов были предложены модели на основе пороговых функций, а также модели для вычисления самих порогов. Выбранные анализы были реализованы на основе предложенных моделей в виде утилит-анализаторов. В качестве основы для тестирования и практической проверки анализаторов выступили крупные open-source проекты и собственный код. Так как представления и полученные анализаторы – универсальные, то использовались проекты на языках Java и Python. По каждому проекту были посчитаны величины метрик, что позволило получить информацию о среднем размере компоненты наследования и о зависимости функциональной компоненты. Ряд метрик наглядно показал различия в подходах к программированию в языках Java и Python. Для анализов, использующих пороговые функции, были смоделированы и рассчитаны оптимальные значения порога для выбранных проектов. Эти значения подходят в качестве исходных для анализа других. Реализованные анализаторы, помимо практической ценности, демонстрируют также возможность и эффективность использования промежуточных представлений, предложенных ранее.

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

УДК: 004.41

Поступила в редакцию: 09.07.2014
Исправленный вариант: 11.09.2014



© МИАН, 2024