Средства автоматизации обратного проектирования встроенных систем тема диссертации и автореферата по ВАК РФ 05.13.12, кандидат технических наук Мартынов, Антон Иванович

  • Мартынов, Антон Иванович
  • кандидат технических науккандидат технических наук
  • 2005, Ульяновск
  • Специальность ВАК РФ05.13.12
  • Количество страниц 252
Мартынов, Антон Иванович. Средства автоматизации обратного проектирования встроенных систем: дис. кандидат технических наук: 05.13.12 - Системы автоматизации проектирования (по отраслям). Ульяновск. 2005. 252 с.

Оглавление диссертации кандидат технических наук Мартынов, Антон Иванович

Оглавление.

Введение.

Глава 1 Обратное проектирование в САПР встроенных систем.

1.1 Модели прямого проектирования и их связь с обратным проектированием.

1.2 Состав и анализ исходных данных для ОПВС.

1.2.1 Анализ фрагментов машинного кода.

1.2.2 Анализ исходных текстов программ.

1.2.3 Анализ схем.

1.3 Инструментальные средства поддержки ОПВС.

1.3.1 Дизассемблеры.

1.3.2 Декомпиляторы.

1.3.3 СА8Е-средства.

1.4 Базовые положения подхода к проведению ОПВС.

Выводы по первой главе.

Глава 2 Разработка и исследование моделей поддержки процесса ОПВС.

2.1 Разработка базовых сценариев обратного проектирования.

2.1.1 Сценарий анализа состояния разработки.

2.1.2 Сценарий восстановления проектных решений.

2.1.3 Сценарий поиска эффективного решения.

2.1.4 Сценарий параметрической модификации.

2.1.5 Перенос на другую платформу.

2.1.6 Перепроектирование системы.

2.1.7 Классификация сценариев ОП.

2.2 Разработка базовых моделей процесса ОП.

2.3 Разработка лингвистических моделей.

2.3.1 Язык представления результатов агрегации.

2.3.2 Язык представления укрупненных функциональных схем.

2.3.3 Язык шаблонов обратного проектирования.

2.4 Разработка графовых моделей для представления продуктов ОП.

2.4.1 Разбиение графа на множество непересекающихся интервалов.

2.4.2 Получение производных последовательностей.

2.4.3 Классификация полученных последовательностей.

2.5 Разработка моделей валидации.

2.5.1 Функциональное тестирование.

2.5.2 Валидация по времени.

2.5.3 Валидация по объему кода.

2.5.4 Модель драйвера тестирования.

2.6 Выводы по второй главе.

Глава 3 Разработка и исследование моделей средств поддержки ОП.

3.1 Разработка обобщенной структурно-функциональной схемы системы поддержки ОПВС.

3.2 Алгоритмические модели основных преобразований процесса ОПВС.

3.2.1 Дизассемблирование.

3.2.2 Структурный анализ.

3.2.3 Анализ схем.

3.2.4 Укрупнение алгоритмов и семантический анализ.

3.2.5 Оценка результатов и создание документации.

3.3 Модель оценки эффективности С А ОПВС.

3.4 Выводы по третьей главе.

Глава 4 Экспериментальные исследования разработанных моделей.

4.1 Разработка спецификаций и гипертекстовой документации программного обеспечения ультразвукового расходомера — теплосчетчика.

4.2 Поиск типовых решений на примере идентификации методов численного интегрирования.

4.3 Построение модели для программы управления шаговым двигателем на базе МК PIC16.

4.4 Реконструкция ОС реального времени для МК Infenion С167.

4.5 Выводы по четвертой главе.

Рекомендованный список диссертаций по специальности «Системы автоматизации проектирования (по отраслям)», 05.13.12 шифр ВАК

Введение диссертации (часть автореферата) на тему «Средства автоматизации обратного проектирования встроенных систем»

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

Как правило, сопровождение МПС проходит без участия ее разработчиков, поэтому первая проблема сопровождения - это анализ системы. Вторая проблема связана либо с модернизацией существующей МПС, либо с проектированием на ее основе новой системы, и может быть решена только в результате анализа. Обе проблемы требуют разработки нестандартных приемов и средств, позволяющих осуществлять целенаправленные действия по ОПВС.

Известно, что стоимость внесения изменений в разрабатываемую систему возрастает экспоненциально. Для ВС, которые традиционно относятся к сложным системам, значение коэффициента сложности разработки по Б.У.Боэму [5] является максимальным. Это значение может быть снижено за счет использования средств автоматизации. Исследования В.В.Липаева [47] показывают, что применение средств автоматизации проектирования программных систем дает наибольший эффект при создании систем реального времени, что определяется жесткими требованиями к параметрам функционирования таких систем и сложностью поведения внешней среды систем контроля и управления. Факторы, усложняющие прямое проектирование ПО ВС, при обратном проектировании обостряются. Это связано с двумя основными причинами. Во-первых, при прямом проектировании разработчик ПО всегда имеет доступ к спецификациям моделей поведения внешней среды, а при обратном проектировании такого доступа часто нет. Во-вторых, при порождении кода программ ВС активно используется хорошо структурированная система проектных решений, что декомпозирует сложные задачи на более простые и существенно упрощает процесс программирования. У специалиста по обратному проектированию обычно нет доступа к спецификациям проектных решений, и объем входных данных и неопределенностей, с которыми он имеет дело, многократно превышает то, с чем работает проектировщик ОПВС. Для того, чтобы средства автоматизации ОПВС успешно справлялись с указанными факторами сложности целесообразно наделить их следующими свойствами:

• возможность автоматизации наиболее трудоемких процессов ОПВС;

• поддержка интеграции артефактов и процессов ОП, полученных автоматическими анализаторами и человеком;

• иметь сквозной характер разработки, то есть возможность поддерживать различные этапы ОП и обеспечивать связь между ними;

• гетерогенность - универсальность по отношению к различным микропроцессорным архитектурам;

• возможность адаптации средств к изменяющимся целям ОП и составу исходных данных;

• охватывать как программную, так и аппаратную составляющие.

К сожалению, в настоящее время не существует систем поддержки ОПВС обладающих всеми перечисленными свойствами, что обуславливает актуальность задачи исследования принципов построения средств автоматизации обратного проектирования встроенных систем (СА ОПВС).

В центр этих исследований необходимо поставить проблемы создания моделей (математических, алгоритмических, графовых и лингвистических) на основе которых возможно построение интегрированной системы, позволяющей объединить как готовые инструментальные средства (дизассемблеры, САБЕ-средства с поддержкой возвратного проектирования, кросс-средства традиционно используемые в ходе прямого проектирования), так и средства позволяющие в ходе анализа выявлять артефакты ОПВС, и использовать их в задачах сопровождения и модификации МПС.

Область исследования — автоматизация обратного проектирования встроенных систем.

Объект исследования — средства автоматизации обратного проектирования встроенных систем.

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

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

1. Исследование существующих методов решения задач прямого и обратного проектирования встроенных систем, определение базовых положений подхода к проведению обратного проектирования.

2. Анализ и классификация основных целей обратного проектирования с точки зрения их влияния на технологию и трудоемкость проведения ОПВС.

3. Разработка базовой модели процесса обратного проектирования и ее модификаций для различных условий применения.

4. Разработка моделей артефактов обратного проектирования и процессов автоматизации его этапов.

5. Разработка базовых архитектурных решений средств автоматизации обратного проектирования и основ эффективной технологии его реализации на основе применения этих средств.

6. Экспериментальное исследование разработанных методов и моделей.

Методы исследования. В работе использованы методы анализа прецедентов при осуществлении разнообразных сценариев обратного проектирования, методы теоретического и экспериментального исследования механизмов обратного проектирования с привлечением логико-алгебраических и ав-томатно-лингвистических моделей, теории графов, а также методы макетирования и экспериментального исследования программных средств поддержки ОПВС.

Научная новизна проведенных исследований заключается в следующем:

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

2. Разработанная общая модель процесса ОПВС в отличие от существующих моделей обратного проектирования имеет «сквозной» характер, интегрирует процессы анализа программных и аппаратных средств и позволяет проводить валидацию на каждом шаге повышения уровня абстракции артефактов обратного проектирования.

3. Для обеспечения возможности построения семейства конструктивных алгоритмических моделей, ориентированных на конкретные цели, построено отношение порядка в пространстве критериальных параметров «Степень модификации МПС -Требования к точности валида-ции».

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

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

Практическая ценность. Практическую ценность представляют следующие результаты, полученные в рамках проводимых исследований:

1. Построен проект системы поддержки ОПВС, эксперименты с которым позволили добиться снижения стоимости внесения изменений в 1,7-3,5 раза за счет использования разработанных моделей средств автоматизации ОПВС. Изменение параметра эффективности в указанных пределах зависит от начальных условий, в которых приходится осуществлять анализ и модификацию, а также от целей обратного проектирования.

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

3. Построен набор базовых шаблонов ОПВС.

4. Разработана модель оценки эффективности СА ОПВС, базирующаяся на широко распространенных метриках Б.У. Боэма и М.Х. Холстеда.

Достоверность и эффективность. Достоверность полученных в диссертации результатов подтверждается результатами экспериментальных разработок. Эффективность подхода оценивается на основе широко распространенных метрик М.Х.Холстеда и Б.У .Боэма и в проведенных экспериментальных исследованиях характеризуется значением, лежащим в пределах 1,7- 3,5.

Внедрение результатов. Диссертационная работа является обобщением результатов, полученных автором в Ульяновском государственном техническом университете в процессе выполнения в 2000-2005 годах научно-исследовательских работ, в том числе: "Разработка спецификаций и гипертекстовой документации программного обеспечения ультразвукового расходомера - теплосчетчика" (Ульяновск, ООО «Тисса»). Методика ОПВС передана для использования на Ульяновский завод тяжелых станков (ОАО УЗТС), Ульяновский автомобильный завод (АО УАЗ), внедрена в учебном процессе двух специальностей УлГТУ.

Апробация работы. Основные научные и практические результаты исследований по теме диссертации докладывались на 4-ой международной конференции «Интерактивные системы: Проблемы человеко-компьютер-ного взаимодействия» (Ульяновск, 2001), на 6-ом международном симпозиуме «Интеллектуальные системы» (Москва, 2004), на международной конференции «Континуальные алгебраические логики, исчисления и нейроин-форматика в науке и технике» (Ульяновск, 2005), на заседании кафедры

Вычислительная техника» (Ульяновск, 2005), на постоянно действующих городских семинарах «Встроенные системы» (Ульяновск).

Публикации. Материалы диссертации опубликованы в 18 работах. Из них 8 статей, 2 тезиса докладов и материалов научных конференций и 8 свидетельств о регистрации программно-информационных продуктов.

Структура и объем диссертации. Диссертация состоит из введения, четырех глав, заключения, списка используемой литературы, включающего 120 наименований, и приложения. Основная часть работы изложена на 180 страницах машинописного текста. Работа содержит 36 рисунков и 11 таблиц.

Похожие диссертационные работы по специальности «Системы автоматизации проектирования (по отраслям)», 05.13.12 шифр ВАК

Заключение диссертации по теме «Системы автоматизации проектирования (по отраслям)», Мартынов, Антон Иванович

4.5 Выводы по четвертой главе

В результате экспериментирования с прототипом СА ОПВС были подтверждены предложенные в работе модели и языковые средства автоматизации ОПВС.

Целями первого эксперимента «Разработка спецификаций и гипертекстовой документации программного обеспечения ультразвукового расходомера — теплосчетчика» являются: показать возможность применения предложенных моделей для анализа текущего состояния разработки, выявить наиболее слабо проработанные модули, оценить качество и степень различных рисков, а также сформировать описание программных функций модулей, позволяющих продолжить разработку.

В ходе второго эксперимента «Поиск типовых решений на примере идентификации методов численного интегрирования» исследовался процесс идентификации типовых ПР на примере разнообразных вариантов реализации алгоритмов численного интегрирования.

Третий эксперимент «Построение модели для программы управления шаговым двигателем на базе МК Р1С16» проводился с целью исследования технологии построения модели управления шаговым двигателем и переноса на другую платформу.

В ходе четвертого эксперимента «Реконструкция ОС реального времени для МК Infenion С167» исследовалась технология реконструкции и параметрической модификации операционной системы реального времени RTX Tiny OS для микроконтроллера Infenion С167.

Общие результаты экспериментов представлены на рис. 4.7.

Эксперимент №2

Поиск типовых решений на примере идентификации методов численного интегрирования оу

-:-•

Эксперимент №1

Разработка спецификаций и гипертекстовой документации по незавершенной разработке ПО ультразвукового расходомера- теплосчетчика

Анализ состояния разработки

Параметрическая модификация

Восстановление проектных решений

Перенос на другую платформу

Поиск эффективного решения

Эксперимент №3

Построение модели программы управления шаговым двигателем на базе МК Р1С16С56

Эксперимент №4

Реконструкция ОС реального времени для МК 1^епюп С167

Рис. 4.7. Результаты экспериментов

Заключение

В ходе исследований по теме диссертации получены следующие основные результаты:

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

2. Разработана общая модель процесса ОПВС. В отличие от существующих моделей обратного проектирования она имеет «сквозной» характер, охватывает не только программную, но и аппаратную составляющую, позволяет варьировать параметрами ОП в зависимости от конкретных целей сопровождения и модификации.

3. Выявлены основные критерии ОПВС, на основе которых произведена классификация сценариев обратного проектирования.

4. Разработан набор лингвистических средств, необходимых для автоматизации ОПВС. Сформулированы требования к ЯПРА, составлена ВОТ-форма для ЯШОП, определены правила перехода от принципиальных схем к УФС и описан ЯПУФС.

5. Разработаны базовые алгоритмические, графовые модели процессов, входящих в состав ОПВС на основе которых осуществляется автоматизация.

6. Построен прототип программной системы поддержки ОПВС, эксперименты с которой, позволили добиться снижения стоимости внесения изменений в 1,7 - 3,5 раза за счет использования разработанных моделей средств автоматизации ОПВС.

Список сокращений принятых в диссертации

ВС - встроенная система

ДВФ - дерево вызовов функций

ИД - исходные данные

МПС - микропроцессорная система

ОП - обратное проектирование

ОПВС - обратное проектирование встроенных систем

ОС - операционная система

ПО - программное обеспечение

ПП - прямое проектирование

ПР - проектное решение

СА - средства автоматизации

САОПВС - средства автоматизации обратного проектирования встроенных систем

УФС - укрупненная функциональная схема

ЧПУ - числовое программное управление

ЯВУ - язык высокого уровня

ЯПРА - язык представления результатов агрегации

ЯПУФС - язык представления укрупненных функциональных схем

ЯШОП - язык шаблонов обратного проектирования

Список литературы диссертационного исследования кандидат технических наук Мартынов, Антон Иванович, 2005 год

1. Абрамов С.А. Элементы анализа программ. - М.: Наука, 1986.

2. Безруков Н. Разработка программ с открытыми исходниками как особый вид научных исследований / http://firstmonday.org/issues/ issue410/

3. Бенькович Е., Колесов Ю., Сениченков Ю. Практическое моделирование динамических систем. СПб.: БХВ-Петербург, 2002

4. Блюмин СЛ., Щеглов К.Е. Декомпиляция выражений в объектных модулях // Материалы научно-технической конференции МГТУ / Секция «Компьютерные и информационные технологии в технических системах, экономике, науке и образовании», 2000.

5. Боэм Б.У. Инженерное проектирование программного обеспечения: Пер. с англ. Радио и связь, 1985. - 512с.

6. Буч Г. Объектно-ориентированное проектирование с примерами применения. -М.: Конкорд, 1992.

7. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя: Пер. с англ. -ДМК, 2000. 432с.

8. Вендров A.M. CASE-технологии. Современные методы и средства проектирования информационных систем. М.- МП "Экономика", 1998

9. Вендров A.M. Проектирование экономических систем. М.: Финансы и статистика, 2002. - 352с.

10. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем СПб. Литер, 2001.

11. Гибсон Г., Лю Ю-Ч. Аппаратные и программные средства микро-ЭВМ / Под ред. В.В. Степашина. Пер. с англ. B.JI. Григорьева. М:. Финансы и статистика, 1983. 255с.:ил.

12. Гома X. UML. Проектирование систем реального времени, распределенных и параллельных приложений. — М:ДМК, 2002. с.704.

13. Григорьев В.Л. Программное обеспечение микропроцессорных систем.-М., 1983.

14. Грин Д., Кнут Д. Математические методы анализа алгоритмов. -М.: Мир, 1987

15. Грофф Дж., Вайнберг П. 8С>Ь: Полное руководство. Киев.:ВНУ,1998

16. Губанов Ю.А. Возвратное проектирование программного обеспечения в САБЕ-средствах: дипломная работа, СПбГУ, 2000.

17. Гуляев В.А. Коростиль Ю.М. Диагностирование программного обеспечения микропроцессорных систем. К: Тэхшка, 1991. - 140с.

18. Гусенко М.Ю. Анализ и метод восстановления управляющих конструкций кода структурной обработки исключений в приложениях \Vin32 // Информационные технологии. М., 1999. - № 9, - С. 32-44.

19. Гусенко М.Ю. Вопросы обратной трансляции программного обеспечения специального назначения // Научно-технический сборник «Специальная техника средств связи», ПНИЭИ, 2000 г.

20. Гусенко М.Ю. Декомпиляция типов данных исполняемых модулей "^п32 // Безопасность и конфиденциальность информации в сетях и системах: Тез. докл. науч.-тех. конф. 6-9 октября 1998 г. Пенза, 1998. -С. 35.

21. Гусенко М.Ю. Декомпиляция типов данных исполняемых модулей "^п32 // Информационные технологии и информационная безопасность: Тез. науч.-техн. конф. 22-23 апреля 1999 г.

22. Гусенко М.Ю. Метод анализа идиом в исполняемом коде с целью декомпиляции // Межрегиональная конференция «Информационная безопасность регионов России»: Тез. науч.-техн. конф. 13—15 октября1999 г. // СПб: Издательство СПбГТУ, 1999. С. 65-67.

23. Гуссенс М., Ратц С. Путеводитель по пакету Latex и его Web-приложениям. М.:Мир, 2001

24. Джонс Дж.К. Методы проектирования. М.: Мир, 1986.

25. Дубаков М. Веб-мастеринг средствами CSS. СПб.:БХВ-Петербург, 2002

26. Ершов А.П. Введение в теоретическое программирование: беседы о методе. М, Наука, 1981.

27. Ершов А.П. Теория схем программ: состояние дел. Проблемы кибернетики. т.27,1973.

28. Зелковиц М., Шоу А., Гэнон Дж. Принципы разработки программного обеспечения / Пер. с англ. М.: Мир, 1982. - 386 с.

29. Зиндер Е.З. Новое системное проектирование: информационные технологии и бизнес-реиинжениринг. // Системы управления базами данных. 1995. - №4.- с. 37-49.

30. Иванников А.Д. Моделирование микропроцессорных систем / Под ред. H.A. Медведева. М.: Энергоатомиздат, 1990. 144с.: ил.

31. Интегрированная среда разработки программного обеспечения встроенных систем Winter, http://nit.gsu.unibel.by/ru/ winter.

32. Каган Б.М., Мкртумян И.Б. Основы эксплуатации ЭВМ. М.: 1983

33. Капитонова Ю.В., Летичевский A.A. Математическая теория проектирования вычислительных систем. -М.: Наука, 1988

34. Кармайкл Э., Хейвуд Д. Быстрая и качественная разработка программного обеспечения. М.: Вильяме - 2003.

35. Касперски К. Записки исследователя компьютерных вирусов. СПб.: Питер, 2005.-320с.

36. Касперски К. Образ мышления — дизассемблер IDA. Том I. Описание функций встроенного языка IDA Pro. — М.: Солон, 2001. 480с.

37. Касьянов В.Н. Оптимизирующие преобразования программ. М.: Наука, Гл. ред. физ.-мат. лит. 1988. - 336 с.

38. Кознов Д.В. Визуальное моделирование компонентного программного обеспечения: диссертация на соискание ученой степени кандидата физико-математических наук, СПбГУ, 2000.40

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.