Главная » Просмотр файлов » Диссертация

Диссертация (1150733), страница 19

Файл №1150733 Диссертация (Синтаксический анализ динамически формируемых программ) 19 страницаДиссертация (1150733) страница 192019-06-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 19)

Сайт конференции (дата обращения: 29.07.2015): http://2015.icse-conferences.org/.106Таблица 7: Критерии сравнения инструментов анализадинамически формируемых строковых выраженийКритерииНазваниеОписаниеколонкивтаблицесрезультатамисравнения 8Алгоритм синтаксического анализа динамически формируемых выраженийПостроениелеса Лес разбораПредоставляет ли алгоритм и соответразбораствующий инструмент функциональность по построению леса разбора динамически формируемого кода.Поиск синтаксиче- Синт. ошибки Реализует ли алгоритм и соответствуюских ошибокщий инструмент поиск синтаксическихошибок в динамически формируемомкоде.Поиск семантиче- Сем. ошибки Предоставляет ли алгоритм возможноских ошибоксти для поиска семантических ошибокв динамически формируемом коде.АрхитектураПлатформа для раз- ПлатформаПредоставляется ли в явном виде платработкиформа для создания новых инструментов статического анализа динамическиформируемых выражений.Модульность обра- Модульность Выделены ли отдельные независимыеботкишаги обработки или же анализ является монолитным.

Реализованы ли соответствующие выделенным шагам независимые компоненты.В таблице 8 приведены основные результаты сравнени. Были использованыследующие обозначения.– ’+’ — функциональность, соответствующая критерию, полностью реализована.– ’−’ — функциональность, соответствующая критерию, полностью не реализована.– ’+−’ — соответствующая функциональность реализована частично.107Таблица 8: Сравнение инструментов анализа динамическиформируемых строковых выраженийИнструментAbsParsAlvorJSAPHPSAIntelliLangVarisYC.SEL.SDKЛесразбора+−*−−−−+***+Синт.ошибки++++++−****Сем.ошибки+−−−+−+Платформа Модульность−−−−+−**−+−+−−+−+*В работе [28] утверждается, что поддерживаются атрибутные грамматики для описания языка. Это даёт возможность описать семантику построения леса.

При этом в работе обсуждаютсяпроблема уменьшения точности анализа при использовании семантики, а построение леса не обсуждается. Возможность построения корректного конечного представления леса разбора требуетотдельного исследования.**IntelliLang использует возможности платформы IntelliJ IDEA [74], поэтому средства для расширения некоторых возможностей унифицировано, однако самостоятельной платформы для анализавстроенных языков не предоставляется.***Такие свойства конструируемой структуры данных, как конечность, а так же возможности еёдальнейшей обработки в общем виде не обсуждаются.****Возможность диагностики синтаксических ошибок не реализована на данный момент в рамкахплатформы.

Однако данная задача может быть решена другими инструментами, так как обработкапроизводится по шагам и возможно добавить новый без существенных затрат.Метод реинжиниринга встроенного программного кода сформулирован впервые. Большинство существующих работ и инструментов посвящены решениюконкретных задач, часто входящих в состав мероприятий по реинжинирингу.Вместе с этим работа [37] рассматривает вопрос учёта встроенного SQL-кодапри оценке качества информационных систем и описывает метод решения данной задачи. Однако, метод затрагивает только часть области и является болееспециальным и узно направленным, чем предложенный в данной работе.Проведённое сравнение позволяет выявить несколько аспектов.– Многие инструменты могут быть расширены, однако ранее не предоставлялось полноценного самостоятельного инструментария специально предназначенного для создания новых инструментов для обработки динамически формируемых выражений.108– Основная цель большинства инструментов — это проверка корректностидинамически формируемого кода.

Прежде всего осуществляется поисксинтаксических ошибок.– Инструменты реализованы на основе разных подходов и предназначеныдля решения разных задач, поэтому детальное сравнение их возможностей, производительности и других аспектов не представляется возможным. Например, инструмент PHPSA изначально создавался для решениязадачи проверки корректности динамически формируемых выражений иотсутствие подсветки синтаксиса не является его недостатком.– Существование многочисленных инструментов для решения различных задач и создание новых говорит о том, что обработка встроенных языковявляется актуальной задачей.В результате можно утверждать, что YC.SEL.SDK является единственнойполноценной платформой для создания различных инструментов статическогоанализа динамически формируемых выражений, применимых в разных областяхи обладающих широкими функциональными возможностями.109ЗаключениеИтоги диссертационной работыВ качестве итогов работы приведём основные результаты полученные в ходевыполнения исследования.1.

Разработан алгоритм синтаксического анализа динамически формируемых выражений, позволяющий обрабатывать произвольную регулярнуюаппроксимацию множества значений выражения в точке выполнения, реализующий эффективное управление стеком и гарантирующий конечностьпредставления леса вывода. Доказана завершаемость и корректность предложенного алгоритма при анализе регулярной аппроксимации, представимой в виде произвольного конечного автомата без -переходов.2.

Создана архитектура инструментария для разработки программныхсредств статического анализа динамически формируемых строковых выражений.3. Разработан метод реинжиниринга встроенного программного кода в проектах по реинжинирингу информационных систем.Предложенный метод был применён в проекте компании ЗАО “ЛанитТерком” по переносу информационной системы с MS-SQL Server на OracleServer. Кроме того, реализован инструментальный пакет для разработки средствстатического анализа динамически формируемых выражений. На его основе реализован плагин для ReSharper. Код опубликован на сервисе GitHub под лицензией Apache License Version 2.0 [79].110Рекомендации по применению результатов работыПри применении результатов работы в индустрии и научных исследованияхнеобходимо учитывать следующие аспекты.– Множество, являющееся аппроксимацией значений динамически формируемого выражения, принимаемое на вход алгоритмом синтаксическогоанализа, должно быть регулярным.– Эталонный язык должен быть описан детерминированной контекстносвободной грамматикой.– Так как предложенная платформа создавалась с ориентацией на разработку инструментов для реинжинирига, то некоторые компоненты направлены на увеличение точности анализа динамически формируемого кода вущерб производительности.

При этом важно, что возможности платформы позволяют комбинировать различные реализации компонент. С другойстороны, платформа содержит возможности для различных оптимизаций.Например, некоторые алгоритмы могут быть ускорены с помощью распараллеливания.– Теоретическое исследование вопросов, связанных с обработкой SPPF в общем виде, является открытой исследовательской задачей. С другой стороны, было доказано, что из построенного SPPF могут быть извлечены деревья вывода для любых цепочек из аппроксимации, а с деревьями можноработать с помощью стандартных методов.Перспективы дальнейшей разработки тематикиПроблемой, подлежащей дальнейшему исследованию, является возможностьвыполнения семантических действий непосредственно над SPPF. Это необходимо для рефакторинга, улучшения качества трансляции, автоматизации переходана более надёжные средства метапрограммирования [97, 98].Важной задачей является теоретическая оценка сложности предложенногоалгоритма синтаксического анализа.

В существующих работах не приводится111строгих оценок для подобных алгоритмов, поэтому данная задача является актуальным самостоятельным исследованием.С целью обобщения предложенного подхода к синтаксическому анализу, атакже для получения лучшей производительности и возможностей для более качественной диагностики ошибок, планируется переход на алгоритм обобщённого LL-анализа (GLL) [47, 99–101]. Планируется исследовать возможность улучшения предложенного алгоритма при переходе на другие алгоритмы обобщённого LR-анализа [77], например, такие как BRNGLR [102] и RIGLR [22].Кроме того, важной задачей является реализация диагностики ошибок,решение которой для обобщённого восходящего анализа активно исследуется [24, 25, 103, 104].

Характеристики

Тип файла
PDF-файл
Размер
2,34 Mb
Высшее учебное заведение

Список файлов диссертации

Синтаксический анализ динамически формируемых программ
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее