РУсскоязычный Архив Электронных СТатей периодических изданий
Инженерный журнал: наука и инновации/2013/№ 6/

Построение срезов для программ на динамических языках

Предложен метод построения срезов, учитывающий особенности динамических языков программирования и основанный на построении траектории в ходе интерпретации программы и последующем формировании на ее основе графа программных зависимостей. Метод реализован для построения срезов программ на языке Lua путем модификации его интерпретатора.

Авторы
Тэги
Тематические рубрики
Предметные рубрики
В этом же номере:
Резюме по документу**
УДК 004.415.53 Построение срезов для программ на динамических языках А.О. Крючков, В.А. Крищенко МГТУ им. <...> Н.Э. Баумана, Москва, 105005, Россия Предложен метод построения срезов, учитывающий особенности динамических языков программирования и основанный на построении траектории в ходе интерпретации программы и последующем формировании на ее основе графа программных зависимостей. <...> Метод реализован для построения срезов программ на языке Lua путем модификации его интерпретатора. <...> Срез программы — это подмножество ее операторов, влияющее на результат, вычисляемый в заданной точке программы [1]. <...> В последние годы возросла популярность так называемых динамических языков, характеризующихся, среди прочего, динамической типизацией, возможностью модификации типов данных и объектов и встроенными высокоуровневыми средствами кодогенерации «на лету». <...> Зависимости в программе можно представить несколькими способами, наиболее распространенный среди которых — граф программных зависимостей (ГПЗ) [6]. <...> Граф программных зависимостей 2 Построение срезов для программ на динамических языках В качестве примера представлен граф программных зависимостей для следующей программы (см. рис. <...> Когда ГПЗ построен, вычисление среза по заданному оператору в программе, которому соответствует одна из вершин ГПЗ, сводится к определению множества вершин графа, достижимых по дугам зависимостей из вершины-критерия, которое и будет являться срезом. <...> При определении достижимости дуги зависимостей по данным и управлению равнозначны. <...> Задачу построения среза, таким образом, можно считать решенной при наличии ГПЗ для анализируемой программы. <...> При построении срезов для программы и конкретного набора ее исходных данных построенный ГПЗ модифицируется некоторым образом с учетом траектории выполнения, собранной при фактическом запуске программы. <...> В качестве определяющих особенностей динамических языков, влияющих на создание срезов, можно <...>
** - вычисляется автоматически, возможны погрешности

Похожие документы: