Разработка методов и алгоритмов диагностирования программного обеспечения с использованием графа потока данных тема диссертации и автореферата по ВАК РФ 05.13.01, кандидат технических наук Дмитриев, Дмитрий Валерьевич

  • Дмитриев, Дмитрий Валерьевич
  • кандидат технических науккандидат технических наук
  • 2008, Нижний Новгород
  • Специальность ВАК РФ05.13.01
  • Количество страниц 159
Дмитриев, Дмитрий Валерьевич. Разработка методов и алгоритмов диагностирования программного обеспечения с использованием графа потока данных: дис. кандидат технических наук: 05.13.01 - Системный анализ, управление и обработка информации (по отраслям). Нижний Новгород. 2008. 159 с.

Оглавление диссертации кандидат технических наук Дмитриев, Дмитрий Валерьевич

ВВЕДЕНИЕ.

ГЛАВА 1 АНАЛИЗ ПРОБЛЕМЫ ТЕСТИРОВАНИЯ И ДИАГНОСТИРОВАНИЯ ПРОГРАММНЫХ СРЕДСТВ.

1.1 Методы тестирования и диагностирования программных средств.

1.2 Тестирование классов с использованием потока данных.

1.3 Методы оценки сложности вычислительных алгоритмов и их распараллеливания.

1.4 Постановка задачи исследования.

ГЛАВА 2 МЕТОДЫ ТЕСТИРОВАНИЯ И ДИАГНОСТИРОВАНИЯ

ВЫЧИСЛИТЕЛЬНЫХ АЛГОРИТМОВ С ИСПОЛЬЗОВАНИЕМ ГРАФА ПОТОКА

ДАННЫХ.

2.1 Особенности тестирования и диагностирования объектно-ориентированного программного обеспечения.

2.2 Основные термины и определения, используемые при разработке модели и алгоритмов диагностирования программного обеспечения.

2.3 Структура разработанного метода тестирования и диагностирования объектно-ориентированных вычислительных алгоритмов.

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

2.5 Метод автоматизированного построения граф-модели потока данных алгоритма для целей диагностирования и отладки вычислительного алгоритма в процессе тестового прогона.

2.6 Алгоритмы анализа графа потока данных вычислительного алгоритма, полученного в процессе тестового прогона, для целей тестирования и диагностирования.

2.7 Исследование методов упорядочивания списка проверочных вершин граф-модели потока данных с целью повышения эффективности работы алгоритмов.

2.8 Выводы.

ГЛАВА 3 АВТОМАТИЗАЦИЯ РАЗРАБОТАННЫХ МЕТОДОВ И ВНЕДРЕНИЕ В

ПРОГРАММНЫЙ ПРОЕКТ ДЛЯ ПРАКТИЧЕСКОГО ПРИМЕНЕНИЯ.

3.1 Интеграция класса Number в тестируемый проект для целей диагностирования вычислительных алгоритмов.

3.2 Разработка спецификации конвертора.

3.3 Интеграция графа потока данных в проект С++ на платформе Visual Studio Net 2005 с использованием конвертора.

3.4 Выводы.

ГЛАВА 4 ПРИМЕНЕНИЕ ГРАФА ПОТОКА ДАННЫХ ДЛЯ АНАЛИЗА И

ОПТИМИЗАЦИИ ВЫЧИСЛИТЕЛЬНЫХ АЛГОРИТМОВ.

4.1 Применение граф-модели потока данных для оценки сложности вычислительных алгоритмов.

4.2 Анализ сложности реализации программных алгоритмов с целью их оптимизации на основе графа потока данных.

4.3 Модель графа потока данных для целей распараллеливания вычислительного алгоритма.

4.5 Выводы.

ГЛАВА 5 ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ РАЗРАБОТАННЫХ МЕТОДОВ ДИАГНОСТИРОВАНИЯ ОШИБОК ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.

5.1 Описание работы программы расчеты зачетов налоговых платежей.

5.2. Оптимизация диагностирования программы зачета налоговых платежей

5.3. Выводы.

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

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

Актуальность проблемы.

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

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

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

Проблема снижения трудоемкости диагностирования объектно-ориентированного программного обеспечения с целью локализации ошибок (под ошибкой понимаем дефект в программе, повлекший несоответствие требованиям спецификаций) - задача актуальная, поскольку на тестирование и отладку программного обеспечения уходит до 80 процентов затрат на разработку [48]. Основная проблема диагностирования программного обеспечения заключается в том, что ошибка, проявление которой выявлено на этапе тестирования, может находиться не в месте ее проявления. Тогда для упрощения локализации ошибок необходимо в процессе тестирования сохранять необходимую для целей диагностирования информацию о работе программы.

Фундаментальные теоретические и прикладные вопросы тестирования и диагностики программного обеспечения изложены в работах Майерса Г., Бейзера Б., Макгрегора Д., Боехма Б. и ряда других зарубежных авторов [72, 6, 48, 49]. Среди отечественных авторов следует отметить Липаева В.В. и Пархоменко П.П. [46, 52]. В качестве модели тестирования и диагностирования программного обеспечения в этих работах рассматривается управляющий граф программы. Следует отметить, что методы, разработанные для данной модели, хорошо зарекомендовали себя при тестировании и диагностике традиционного, процедурно-ориентированного программного обеспечения. При переходе к объектно-ориентированному программному обеспечению основные свойства объекта (инкапсуляция, наследование и полиморфизм) накладывают дополнительные особенности на тестирование и диагностику ошибок в программе. Кроме того, объектно-ориентированная парадигма подразумевает событийную управляемость. Это означает, что передача управления может осуществляться путем генерации сообщений различными объектами с дальнейшим разбором сообщений соответствующими обработчиками и передачей этих сообщений объектам, для которых данные сообщения предназначены. В результате модель в виде графа по управлению становится недостаточной для целей диагностирования программ объектно-ориентированной парадигмы.

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

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

Цель работы

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

Методы исследования

В теоретических исследованиях диссертационной работы использовались методы теории графов, теории множеств, методы оптимизации, численное моделирование, модели, методы и алгоритмы теории надежности. Для практической апробации разработанных алгоритмов применено программное моделирование тестирования и диагностирования, реализованное на языке Delphi 5. Графический материал при проведении исследований получен с использованием пакета Microsoft Excel.

Объекты исследования

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

Научная новизна диссертационной работы

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

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

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

4. Предложены критерии ранжирования операций над данными, подверженных проверке, в соответствии которым построена оптимальная последовательность их проверок. Получены оценки эффективности критериев ранжирования.

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

Практическая значимость работы

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

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

Разработанные математические модели и алгоритмы доведены до практической реализации, что подтверждено свидетельством о государственной регистрации программы для ЭВМ (Приложение 5). На защиту выносятся:

1. Модель тестирования и диагностирования объектно-ориентированного программного обеспечения в виде графа потока данных.

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

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

4. Исследование, анализ и оценка эффективности разработанных алгоритмов диагностирования ошибок.

5. Применение модели графа потока данных для оценки сложности вычислительного процесса и его распараллеливания.

Апробация работы

Основные результаты диссертационной работы докладывались и обсуждались на Всероссийских научно-технических конференциях

Информационные системы и технологии" ИСТ-2004, ИСТ-2005, ИСТ-2006, на Международной научно-технической конференции "Информационные системы и технологии" ИСТ-2007, на VI Международной конференции «Идентификация систем и задачи управления» 81СРЯО '07, на 11-й Нижегородской сессии молодых ученых (технические науки).

Публикации

По результатам диссертационной работы опубликовано 13 работ в печатных изданиях, в том числе 2 работы в издании, рекомендованном ВАК.

Структура и объем работы

Диссертационная работа изложена на 156 печатных листах, включает 18 рисунка и состоит из введения, 5 глав, заключения, списка литературы и 6 приложений.

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

Заключение диссертации по теме «Системный анализ, управление и обработка информации (по отраслям)», Дмитриев, Дмитрий Валерьевич

4.5 Выводы

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

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

3. Анализ графа потока данных позволяет выявить фрагменты программного кода, оптимизация которых эффективна.

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

5. Анализ графа потока данных, полученного в процессе тестового прогона позволяет определить время выполнения параллельного алгоритма на множестве процессоров и оценить эффективность проведенного распараллеливания.

6. Оптимальная схема параллельного исполнения вычислительного алгоритма для целей диагностирования позволяет упростить процедуру локализации местоположения ошибки в программе за счет использования семантической близости вычислений.

ГЛАВА 5 ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ РАЗРАБОТАННЫХ МЕТОДОВ ДИАГНОСТИРОВАНИЯ ОШИБОК ПРОГРАММНОГО

ОБЕСПЕЧЕНИЯ

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

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

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

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

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

5.1 Описание работы программы расчеты зачетов налоговых платежей

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

Решение задачи автоматизации зачетов платежей реализовано в специализированной программе.

С 2008 года вступили в силу некоторые изменения в НК РФ, которые были внесены Федеральным законом № 137-ФЭ. Внесение изменений в программу в соответствии с новыми требованиями ставят задачу проведения повторного тестирования и диагностирования программного продукта. Сложность и требования к качеству обуславливают применение средств автоматизированного тестирования и диагностирования.

ЗАКЛЮЧЕНИЕ

В данной диссертационной работе разработаны новые модели и методы процедур диагностирования вычислительных алгоритмов объектно-ориентированного программного обеспечения. Основные научные и практические результаты диссертации сводятся к следующему:

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

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

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

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

5. Проведен анализ и показана эффективность применения ранжирования списка операций, подверженных проверке по степени захода и сумме степеней исхода и захода.

6. Разработаны средства автоматизации предложенной модели в программный проект (конвертор).

7. На базе полученных алгоритмов разработано программное обеспечение для анализа результатов тестовых прогонов в программной среде Delphi.

Список литературы диссертационного исследования кандидат технических наук Дмитриев, Дмитрий Валерьевич, 2008 год

1. Алферова З.В. Теория алгоритмов М.: Статистика, 1987.

2. Архангельский Б.В., Черняховский В.В. Поиск устойчивых ошибок в программах — М.: Радио и связь, 1989.

3. Ахо А. Построение и анализ вычислительных алгоритмов— М.: Мир, 1978.

4. Бардзинь Я.М., Бичевский Я.Я., Калныньш A.A. Построение полной системы примеров для проверки корректности программ — Ученые записки Латв. Гос. ун-та, 1974, т.210.

5. Безбородое Ю.М. Индивидуальная отладка программ — М.: Наука, 1982.

6. Бейзер Б. Тестирование черного ящика. Технологии функционального тестирования программного обеспечения и систем — СПб.: Питер, 2004.

7. Бичевский Я.Я., Борзов Ю.В. Развитие методов символического тестирования программ — М.: Автоматика и телемеханика, 1982, №2.

8. Благодатских В., Волнин В., Поскакалов К. Стандартизация разработки программных средств— М.: Финансы и статистика, 2005.

9. Блау С.А., Липаев В.В., Позин Б.А. Эффективность тестирования программных модулей— М.: Автоматика и телемеханика, 1984, №4.

10. Ю.Блау С. А., Позин Б.А. Анализ планов тестирования программных модулей с учётом нереализуемых маршрутов —

11. М.: Программирование, 1988, №4.

12. П.Борзов Ю.В. Тестирование программ с использованием символического исполнения— М.: Программирование, 1980, №1.

13. Борзов Ю.В., Дишлерс Г.Э., Медведис Н.Э., Уртанс Г.Б. Система символического тестирования ПЛ/1 программ — Управляющие системы и машины, 1986, №6.

14. З.Воеводин В.В. Параллельные вычисления — СПб.: БХВ-Петербург, 2002.

15. Гергель В.П. Теория и практика параллельных вычислений — http://www.intuit.rU/department/calculate/paralltp/l/paralltpl.html.

16. Гудман С. Хидетниеми С. Введение в разработку и анализ алгоритмов — М.: Мир, 1981.

17. Деревяго С. С++ 3rd: комментарии. — http://ders.stml.net/срр/, 2004.

18. Дмитриев Д.В. Алгоритмы тестирования вычислительных алгоритмов объектно-ориентированного программного обеспечения — Системы обработки информации и управления: Труды Нижегород. гос. техн. ун-та / НГТУ. Н.Новгород, 2005. -Т.54, В.12. - С.82-84.

19. Дмитриев Д.В. К вопросу о тестировании рекурсии методом автотрассировки в вычислительных алгоритмах — Информационные системы и технологии (Ист-2007): тез. докл. Всерос. научн.-техн. конф., Нижегород. гос. техн. ун-т. -Н.Новгород, 2007. С.241.

20. Дмитриев Д.В. Модель и алгоритмы тестирования объектно-ориентированного программного обеспечения — IV

21. Международная молодежная научно-техническая конференция «Будущее технической науки». Н.Новгород: НГТУ, 2005. -С.54-55.

22. Дмитриев Д.В. Модель тестирования объектно-ориентированного программного обеспечения — Информационные системы и технологии (Ист-2005): тез. докл. Всерос. научн.-техн. конф., Нижегород. гос. техн. ун-т. -Н.Новгород, 2005. С.144-145.

23. Дмитриев Д.В. Соколова Э.С. Модель и алгоритмы тестирования объектно-ориентированного программного обеспечения — Системы обработки информации и управления: Труды Нижегород. гос. техн. ун-та / НГТУ. Н.Новгород, 2005. -Т.54, В.12. - С.77-81.

24. Дмитриев Д.В. Соколова Э.С. Построение автотрассировочного графа для тестирования вычислительных алгоритмов— Журн. Системы управления и информационные технологии, №1 (31). -Воронеж, 2007.- С.47-51.

25. Дмитриев Д.В., Соколова Э.С. Обнаружение дефектов в процессе проектирования и эксплуатации программ — Научный журнал по теоретическим и экспериментальным проблемам ЕСТЕСТВЕННЫХ НАУК «Успехи современного естествознания». №2. Москва, 2004 - С.47-51.

26. Дмитриев Д.В., Соколова Э.С., Капранов С.Н. Адаптация генетических алгоритмов к решению задач назначения точек контроля в объектах с большим числом состояний— М.: Журн. Нейрокомпьютеры, №11. 2007. С.59-64.

27. Долбак Л.В. Методика отладки и испытаний управляющих алгоритмов и программ АСУ— М.: Программирование, 1984, №3.

28. Дробушевич Л.Ф. Оценка структурной сложности программ — М.: Программирование, 1987, №1.

29. Дробушевич Л.Ф. Метод оценки топологической сложности программ — Управляющие системы и машины, 1988, №4.

30. Ермаков Г.В. Тестирование MIXAL программ с помощью символического исполнения— М.: Программирование, 1988, №1.

31. Ерофеев В.И. Средства отладки программ в ОС ЕС ЭВМ — М.: Статистика, 1979.

32. Ершов Н.М. Построение графов вычислительных алгоритмов методом автотрассировки — М.: Программирование, 2000, №6.

33. Журнал Xaker Online — http://www.xakep.ru/post/36487/.

34. Иыуду К.А., Арипов М.М. Автоматизация генерации путей для тестирования программ, записанных на Фортране— М.: Программирование, 1986, №2.

35. Иыуду К.А., Арипов Н.М. Тестирование программ на основе минимального покрытия ее графа — Управляющие системы и машины, 1985, №4.

36. Катков В.Л., Шимаров В.А. Статический анализ программы с помощью её управляющего графа— Управляющие системы и машины, 1986, №2.

37. Катков ВЛ., Ермаков Г.В. Система автоматизации тестирования М1ХАЬ программ — М.: Программирование, 1985, №3.

38. Колякин Ю.Д. Отладка программного обеспечения в диалоговой многотерминальной системе — Управляющие системы и машины, 1983, №2.

39. Корнеев В.В. Параллельные вычислительные системы — М.: Нолидж, 1999.

40. Коростиль Ю.М., Гуляев В.А. Комплекс программ для диагностирования программных модулей микропроцессорных систем — Управляющие системы и машины, 1988, №3.

41. Косяченко С.А., Кульба В.В., Мамиконов А.Г., Соколова Е.Б. Использование сетей Петри для локализации ошибок в процессе системной отладки комплексов программ— М.: Автоматика и телемеханика, 1988, №5.

42. Котляров В.А. Основы тестирования программного обеспечения — Курс лекций. Университет информационных технологий: www.intuit.ru.

43. Кудинов А. Отладка приложений на С++ — http://www.devdoc.ru/index.php/content/view/debugging p3.htm.

44. Кулямин В.В. Стандартизация и Тестирование Выполнения Математических Функций в вычислениях с плавающей точкой —

45. М.: Программирование, 2007, №3.

46. Липаев В.В. Отладка систем управляющих алгоритмов ПВМ реального времени — М.: Сов. радио, 1974.

47. Липаев В.В. Тестирование программ — М.: Радио и связь, 1983.

48. Липаев В.В., Серебровский Л.А., Гаганов П.Г. Технология проектирования комплексов программ АСУ — М.: Радио и связь, 1983.

49. Майерс Г. Искусство тестирования программ — М.: Финансы и статистика, 1982.

50. Макгрегор Д., Сайке Д. Тестирование объектно-ориентированного программного обеспечения — М.: О1а8ой, 2002.

51. Макконелл Дж. Основы современных алгоритмов— М.: Техносфера, 2004.

52. Париш А., Бори Р., Кодес Д. Автоматизированное Тестирование на Базе Потокового Графа Объектно-Ориентированных Программных Модулей — Журнал Систем и ПО, № 23, 1993.

53. Пархоменко П.П., Правильщиков П.А. Диагностирование программного обеспечения— М.: Автоматика и телемеханика, 1980, №1.

54. Поваров Г.Н. О структурной теории сетей связи — Сб.: Проблемы передачи информации, Изд-во АН СССР. -1959, вып. 1.

55. Позин Б.А. Метод структурного построения тестов для отладки управляющих программ— М.: Программирование, 1980, №2.

56. Правильщиков П.А. Построение тестов для программ — М.:

57. Автоматика и телемеханика, 1977, №5.

58. Риндфлайт Д. Отладка программ в системах 360/370 на основе дампов памяти ОС — М.: Машиностроение, 1982.

59. Сагунов В.И. Диагностирование кратных ошибок в программных модулях — М.: Программирование, 1988, №4.

60. Сагунов В.И., Соколова Э.С., Беляева С.И. Диагностирование кратных ошибок в программных модулях— М.: Деп. в ИНФОРМприбор., 1989, №4561.

61. Синицын C.B. Налютин Н.Ю. Верификация программного обеспечения — http : //www. intuit .ru/department/se/ver ify/3 /.

62. Таненбаум Э. Архитектура компьютера — СПб.: Питер, 2002.

63. Торопов Д.И. О построении тестирующих маршрутов программы — Управляющие системы и машины, 1987, №6.

64. Уртанс Г.Б. Функции путей программы— М.: Программирование, 1987, №4.

65. Франкл П., Джей И. Подходящее семейство Критериев Тестирования Потока Данных — ИИЭР Труды по Разработке ПО, том 14, № 10, Октябрь 1988.

66. Хазаров A.M., Цвид С.Ф. Методы оптимизации в технической диагностике машин — М: Машиностроение, 1984.

67. Шимаров В.А. Об одном методе тестирования программы на основе минимального покрытия ее графа — Управляющиесистемы и машины, 1988, №5.

68. Шимаров В.А. Средства поддержки структурного тестирования программ — Управляющие системы и машины, 1988, №2.

69. Шураков В.В. Надежность программного обеспечения систем обработки данных — М.: Статистика, 1981.

70. Шураков В.В. Надежность программного обеспечения систем обработки данных — М.: Финансы и статистика, 1987.

71. Bertsekas D.P., Tsitsiklis J.N. Parallel and Distributed Computation. Numerical Methods — Prentice Hall, Englewood Cliffs, New Jersey, 1989.

72. Boehm B. Software Engineering Economic Prentice —- Hall, Inc, N.J. 1981.

73. Burnstein I/ Practical Software Testing. A process-oriented approach — Springer-Verlag, New York, 2003.

74. Buyya R. High Performance Cluster Computing. Volume 1: Architectures and Systems. Volume 2: Programming and Applications — Prentice Hall PTR, Prentice-Hall Inc., 1999.

75. Culler D., Singh J.P., Gupta A. Parallel Computer Architecture — A Hardware/Software Approach Morgan Kaufmann, 1998.

76. Hockney R.W., Jesshope C.R. Parallel Computers 2. Architecture, Programming and Algorithms — Adam Hilger, Bristol and1. Philadelphia, 1988.

77. IEEE 754 Стандарт чисел с плавающей точкой — 1985.

78. Kumar V., Grama A., Gupta A., Karypis G. Introduction to Parallel Computing. — The Benjamin/Cummings Publishing Company, Inc., 1994 (2nd edn., 2003).

79. Mc Cabe T.I. A complexity measure — IEEE Trans. Software Eng., 1976, 2, №4.

80. Patterson D.A., Hennessy J.L. Computer Architecture: A Quantitative Approach. 2d ed — San Francisco: Morgan Kaufmann, 1996.

81. Quinn M.J Parallel Programming in С with MPI and OpenMP — New York, NY: McGraw-Hill, 2004.

82. Ramamoorthy C.V., Kim K.H., Chen W.T. Optimal placement of software Monitors Aiding. Systematic Testing— IEEE Trans. Software Eng., 1975, v. SE-1, № 4.

83. Ramamoorthy C.V., Sin Bun F. Ho., Chen W.T. On the automated generation of program test data— IEEE Trans. Software Eng, 1976, v. SE-2, № 4.

84. Roong-Ko Doong, Phyllis G. Frankl. ACM Transactions on Software Engineering and Methodology, April 1994.

85. Shekhar H. Kirani, Wei-Tek Tsai Method Sequence Specification and Verification of Classes — Object-Oriented Programming, October 1994.

86. Tanenbaum A. Modern Operating System. 2nd edn. — Prentice Hall, 2001.

87. Turner C.D., Robson D.J. The State-Based Testing of Object-Oriented Programs, Proceedings of IEEE Conference on Software Maintenance, 1993.

88. Xu Z., Hwang K. Scalable Parallel Computing Technology, Architecture, Programming — Boston: McGraw-Hill, 1998.

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