Введение к работе
- > І
'""дёя г A**?8*1*001* 'ей'
^S2li^]J Отладка как процесс поиска, локализации и исправления ошибок в программе является важным этапом технологического цикла разработки программного обеспечения (ПО), на который приходится около половины всех затрат.
По мере роста объема разработок и сложности программных систем проблема отладки становится ключевой, сдерживающей более широкое и эффективное внедрение компьютерной технологии в различные сферы науки и производства, что определяет крайнюю актуальность задачи автоматизации отладки.
В настоящее время с появлением мощных и недорогих процессорных элементов появилась тенденция объединения их в многопроцессорные системы, достоинства которых - высокая производительность, надежность, низкая стоимость.
Трудности, отладки программ для многопроцессорных вычислительных систем (ВС), для которых параллелизм описывается теорией взаимодействующих последовательных процессов (Ноаге c.A.R. Communicating sequential processes // Communications of the ACM.-1978.- V.21, N.8.- P.666-677.), связаны с тем, что разработанные методы и инструменты отладки последовательных программ не учитывают особенности параллельных программ и не предоставляют пользователю соответствупцие средства. Важными задачами являются разработка методов отладки и автоматизация отладки параллельных программ.
Важным направлением научных исследований является формализация отладки как процесса анализа некоторых свойств программы.
Вопросами, связанными с различными аспектами автоматизации отладки программ, занимались многие отечественные и зарубежные ученые, например, Липаев В.В., Безбородов D.M.. П58вж> Е.А.,
Brlnch Hansen P., Wileden J., Degano R.
Работа выполнялась в рамках проводимых в лаборатории вычислительных комплексов факультета Е!.!иК МГУ исследований по теме "Исследование структур распределенных вычислительных систем и методов обработки информации в них", выполняемых по заданию ГННГ СССР и Ш СССР, ГОС.per.N.0186011.2552.
Цель диссертационной работа
Цель настоящей работы - исследование возмозхностей автоматизации отладки программ на основе операционного описания их поведения.
Основные результаты работы
-
Исследован метод автоматизации отладки последовательных и параллельных программ на основе операционных спецификаций онидае-мого поведения программы и автоматического обнаружения несоответ--ствия реального поводения программы спецификациям.
-
Выполнены проектирование, реализация и внедрение диалогового отладчика для языка Си на базе интерпретатора, который лег в основу экспериментальной автоматизированной системы отладки параллельных программ.
-
Предложен операционный язык описания модели поведения программ, разработана поддерннваюцая его экспериментальная автоматизированная система отладки параллельных программ.
Научная новизна
-
Предукикено расширение аппарата регулярных' выражений, не выводящее из класса регулярных языков, позволившее разработать язык описания поведения параллельных программ.
-
Разработана экспериментальная автоматизированная система
отладки параллельных программ, поддерживакщая возмокности формального задания модели поведения программы и автоматической проверки соответствия между реальным поведением программы и моделью.
3) На основе языка операторных схем Ляпунова разработано промежуточное представление для программ на языке Си, лежащее в основе интерпретирующего отладчика, которое является новым для подобных приложений.
Практическая ценность
-
Разработан и реализован отладчик для последовательных программ, написанных на языке Си. Отладчик работает на ЭВМ Электрони-ка-ЄО и См-4 под управлением ОС РАФОС, внедрен в 13 организациях.
-
Разработана и реализована експериментальная автоматизированная система отладки параллельных nporpavM в ОС ДИЛОС на ЭВМ СМ-4, внедренная в лаборатории вычислительных кошлегсов факультета В№К МГУ.
Метода исследования. Теория формальных грамматик, теория алгоритмов, теория автоматов, теория трансляции, метода спецификации программ.
Апробация работы. Результаты диссертационной работы докладывались на конференциях молодых ученых факультета ВМяК МГУ (в 1987 и в 1988 гг.), на конференции "Применение микропроцессорной техники" (Свердловск, 1984), на конференции "Формальные модели параллельных вычислений" (Новосибирск, 1987), па семинарах рабочей группы по технолопш разработки микропроцессорных вычислительных систем (Ташкент, 1988, Москва, 1988), па третьем региональном семинаре "Распределенная обработка информации" (Улан-Уде, 1989), неоднократно обсукдались на научных семинарах кафедры АСВК и лаборатории
- б -
вычислительных комплексов.
Публикации. Основные результаты диссертации изложены в 10 работах, список которых приводится в конце автореферата.
Структура диссертации, диссертация состоит из введения, пяти глав, заключения, трех приложений и списка литературы из 72Ґ"наименова-ний. Общий объем диссертации без приложений - &$~"страниц. Объем приложений - ^""страниц.