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

кандидата технических наук
Зеленский, Владимир Павлович
город
Нижний Новгород
год
2005
специальность ВАК РФ
05.13.01
Диссертация по информатике, вычислительной технике и управлению на тему «Структурно-статистические методы обеспечения контролепригодности программных систем»

Автореферат диссертации по теме "Структурно-статистические методы обеспечения контролепригодности программных систем"

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

На правах рукописи

ЗЕЛЕНСКИЙ Владимир Павлович

СТРУКТУРНО-СТАТИСТИЧЕСКИЕ МЕТОДЫ ОБЕСПЕЧЕНИЯ КОНТРОЛЕПРИГОДНОСТИ ПРОГРАММНЫХ СИСТЕМ

Специальность 05.13.01 -«Системный анализ, управление и обработка информации»

АВТОРЕФЕРАТ диссертации на соискание учёной степени кандидата технических наук

Нижний Новгород 2005

Работа выполнена на кафедре «Вычислительная техника» Нижегородского государственного технического университета

Научный руководитель:

доктор технических наук, профессор Ломакина Л.С.

Официальные оппоненты:

доктор технических наук, доцент Соколова Э. С. доктор технических наук, профессор Федосенко Ю.С.

Ведущая организация:

Научно-исследовательский центр контроля и диагностики технических систем

Защита диссертации состоится « 3 » 2005 в ^ часов в

ауд.о /с' 7 на заседании диссертационного совета Д212.165.05 при Нижегородском государственном техническом университете по адресу: 603600, г. Нижний Новгород, ГСП-41,ул. Минина,24., факс (8312) 36 23 11 С диссертацией можно ознакомиться в библиотеке Нижегородского государственного технического университета.

Ваш отзыв на автореферат в 1 экз., заверенный печатью, просим направлять на имя ученого секретаря.

Учёный секретарьк.т.н., доцент

Автореферат

диссертационного совета

А.П. Иванов

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность работы

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

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

Основной вклад в решение проблемы диагностирования ПС внесли П.П.Пархоменко, П.А.Правильщиков, В.А.Гуляев, В.В. Липаев, В.И.Сагунов, СИ. Беляева, Р. Гласе, Т. Тайер, Г. Майерс, C.V. Ramamoorthy и другие российские и зарубежные ученые. Тем не менее, остается еще обширная область нерешенных вопросов и проблем, например, не решена в общем виде задача локализации ошибок произвольной кратности. Кроме этого, на пути реализации известных алгоритмов возникают сложности, связанные с большим объемом вычислений.

Таким образом, проблема разработки методов и алгоритмов обеспечения контролепригодности ПС является актуальной.

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

Диссертационная работа выполнялась по межвузовской научно-технической программе «Диагностические и информационно-поисковые системы».

з

Цель работы.

Разработка диагностической модели программных систем (ПС) и методов локализации ошибок по информационному критерию. Задачи работы.

Достижение намеченной цели требует решения следующих задач:

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

- разработка оптимальных методов принятия решения о состоянии ПС по результатам тестового контроля;

- выбор оптимального множества тестов и последовательности их выполнения;

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

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

Научная новизна работы.

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

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

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

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

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

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

Практическая ценность работы.

Разработанные в диссертационной работе методы и алгоритмы выбора оптимального набора тестов позволили повысить эффективность отладки ПС.

Реализация результатов работы.

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

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

Материалы диссертационной работы докладывались на следующих научных конференциях:

- V Международной конференции «НТИ-2000. Информационные

технологии и телекоммуникации» (Москва, ВИНИТИ, 2000);

- VI Международной конференции «НТИ-2002. Информационное общество. Интеллектуальная обработка информации. Информационные технологии» (Москва, ВИНИТИ, 2002);

- Международной научно-технической конференции «Современные информационные технологии» (Пенза, ПТИ, 2004);

- 14-ой Международной научно-практической конференции по графическим информационным технологиям и системам. КОГРАФ-2004. (Нижний Новгород, НГТУ, 2004);

- Региональной научно-технической конференции . «Актуальные вопросы построения систем управления сложным распределенным оборудованием и предоставлением услуг» (Нижний Новгород, «ТЕКОМ», 2004).

Публикации.

По теме диссертационного исследования опубликовано 12 работ.

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

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

СОДЕРЖАНИЕ ДИССЕРТАЦИИ

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

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

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

Рис.1 Постановка задачи тестирования ПС.

определить возможные источники ошибок. Наибольшее количество ошибок вносится на этапах проектирования и это можно использовать для организации тестирования (Рис.2). Главными источниками ошибок являются неправильная спецификация некоторого уровня или ее реализация. Методически тесты можно строить на основе анализа потоков данных (вход-выход) без вскрытия структуры программы, опираясь на спецификации верхних уровней или проверки правильности реализации структуры ПС, опираясь на спецификацию конкретного уровня. Эти подходы не исключают друг друга, а дополняют и должны использоваться совместно. При построении тестов на основе анализа потоков данных также можно опираться на некоторую структуру данных, например, диаграмму причинно-следственных связей. Любое описание структуры, являясь изначально формальным, потенциально позволяет формализовать процесс определения состава тестов. Во многих случаях решение этой задачи является весьма трудоемким и порождает неоправданную избыточность тестов. Поэтому разработка методов определения состава

тестов, локализирующих ошибки на основе анализа структур, является актуальной.

Рис.2 Связь между этапами реализации ПС и уровнями тестирования

Во ВТОРОЙ главе предложена математическая модель представления ПС как системы и стратегия определения её состояния по информационному критерию.

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

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

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

Задача диагностирования системы из п функционально-связанных блоков сводится к определению ее состояния с точки зрения отказов блоков. Если обозначить состояние блока 1 при наличии в нем ошибки и О при отсутствии таковой, то состояние системы будет задаваться п-разрядным двоичным кодом. Все состояния образуют пространство 5

элементарных событий вероятностями равными

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

проходит, то результат принимается равным 0 и 1 в противном случае. Результаты проверок по набору тестов (диагностический эксперимент) образуют вектор \ , который характеризует состояние системы с точностью до некоторого подмножества. Предлагаемая диагностическая модель представляет собой информационный канал связи между множеством состояний системы и множеством результатов тестирования на специально организованном множестве тестов. Канал связи описывается матрицей проверок В или матрицей путей, в которой номер строки совпадает с номером теста, а номер столбца с номером блока. Элемент матрицы равен 1, если тест проверяет соответствующий блок и равен 0 в противном

случае. Связь между состоянием Бк, к= 1,2й и результатом измерения V описывается преобразованием

где вместо обычного сложения используется операция ИЛИ.

Состояние однозначно определяет результат тестирования, но по

результату тестирования не всегда удается определить состояние

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

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

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

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

Свойство 3. Сумма всех состояний подмножества также принадлежит этому подмножеству.

Свойство 4. Существует максимальное подмножество блоков, через ошибки в которых определяется всё подмножество состояний системы, соответствующее данному У.

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

Свойство б. Максимальное количество ошибок, которое соответствует заданному У, определяется количеством блоков в соответствующем подмножестве.

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

В третьей главе представлены методы и алгоритмы обеспечения контролепригодности ПС, построенные на базе разработанной диагностической модели.

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

Поэтому необходимо совместно решить следующие задачи:

1. оптимизация правила принятия решения о состоянии ПС.

2. оптимизация выбора множества тестов.

3. оптимизация структурно-иерархической организации ВПМ.

В качестве критерия качества определения состояния системы выберем информационный критерий. Для точного определения состояния

системы на основании диагностического эксперимента необходимо получить количество информации, равное энтропии Н(8), которая характеризует априорную неопределенность состояния системы. Реально количество получаемой информации равно

1(5,У)=Н(У)-Н(У/8),

где Н(У) - энтропия (неопределенность), а Н(У/в) - условная энтропия исхода диагностического эксперимента, которая равна нулю (Н(У/Б)=0), поскольку неопределенность появления при заданном состоянии равна нулю. Отсюда

Под глубиной диагностирования будем понимать величину К=1(8,У)/Н(8)=Н(У)/Н(8),

которая показывает какую часть составляет доставляемое количество информации 1(5,У) от Н(5).

Оптимальное решение о состоянии ПС будем принимать по максимуму апостериорной вероятности состояния системы:

5д. = а^тах

к =1,2", у = 1,2*,

где

- апостериорная вероятность состояния системы.

Для определения вероятности

необходимо знать

вероятности состояний системы, которые легко вычисляются через

вероятности отказов блоков, и связь состояний системы с

результатами измерения, которая задается матрицей проверок.

Определение состояния системы, при котором апостериорная

максимальна, методом перебора всех состояний

вероятность

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

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

Перейдем к описанию алгоритма определения наиболее вероятного состояния системы при полученном векторе Yj. В векторе S* можно

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

блоков меньше 0.5 необходимо положить равными 0. Оставшиеся разряды вектора изменяя которые можно найти наиболее вероятный вектор

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

посредством изменения состояний только этих разрядов

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

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

1. Определение минимального множества тестов, необходимых для обеспечения заданной глубины диагностирования;

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

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

КиФФмгмит >луа«мдиммоспфовм«я

7 1 2 • < 3 4

Рис.3 Диаграмма зависимости К от количества тестов

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

Задача распределения блоков по ВПМ решена методом статистического моделирования следующим образом. Каждому значению соответствует свое подмножество состояний, с точностью до которого

можно локализовать состояние системы, причем подмножества, соответствующие разным не перекрываются в отличие от

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

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

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

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

В заключении изложены основные результаты диссертационной работы.

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

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

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

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

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

4. Обоснован выбор информационного критерия качества локализации ошибок произвольной кратности, который позволяет учитывать

априорные сведения о структуре системы и о ее вероятностном описании.

5. На основе информационного критерия разработаны следующие алгоритмы:

-выбор минимального количества тестов для обеспечения заданной глубины диагностирования;

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

6. Разработан алгоритм структурно-иерархической организации программных модулей в виртуальные программные модули (ВПМ) с целью повышения эффективности локализации ошибок в ПС.

Список публикаций по теме диссертации

1. Ломакина Л. С, Зеленский В.П.. Оптимизация глубины диагностирования систем программного обеспечения // Системный анализ и моделирование социально-экономических и технологических процессов. Сб. научн. Тр. Вып.4- Н. Новгород, ВВАГС, 2004. - С.4-8.

2. Зеленский В.П., Ломакина Л.С, Ломакин Д.В. Стратегия определения состояния сложных систем // Модели и анализ систем. Материалы семинара. Вып. 5. - Н. Новгород, ВВАГС, 2004. - с.34-40.

3. Ломакина Л.С, Зеленский В.П. Методы синтеза контролепригодных программных комплексов // Радиоэлектронные и телекоммуникационные системы и устройства. Тр. НГТУ. Т.44 вып.9 -Н Новгород: НГТУ, 2004.-с. 126-129.

4. Зеленский В.П., Ломакина Л.С. Модели и методы диагностики сложных систем // Современные информационные технологии. Тр. Межд. научн.-практ. конф.-Пенза: ПТИ, 2004,-с. 108-104.

5. Зеленский В.П. Оптимизация структуры системы для обеспечения контролепригодности // Современные информационные технологии. Тр. Межд. научн.-практ. конф.-Пенза: ПТИ, 2004,-с. 192-193.

6. Зеленский В.П. Диагностическая модель программных комплексов //. КОГРАФ-2004. Материалы 14-ой Международной научно-

практической конференции по графическим информационным технологиям и системам. -Н. Новгород: НГТУ, 2004.

7. Зеленский В.П. Оптимизация алгоритма принятия решения о состоянии систем программого обеспечения // Актуальные вопросы построения систем управления сложным распределенным оборудованием и предоставлением услуг. Материалы научн.-техн. конф.-Н. Новгород: «ТЕКОМ», 2004.-C.33-34.

8. Ломакина Л.С, Зеленский В.П. Обеспечение контролепригодности программных средств по информационному критерию // Актуальные вопросы построения систем управления сложным распределенным оборудованием и предоставлением услуг. Материалы научн.-техн. конф.-Н. Новгород: «ТЕКОМ», 2004.-С.54-56.

9. Зеленский В.П., Кочешков А.А. Распределенная система создания и хранения электронных документов с общим доступом // Материалы 6-ой международной конференции «НТИ-2002. Информационное общество. Интеллектуальная обработка информации. Информационные технологии». - М.: ВИНИТИ, 2002. - с. 148-149.

10. Кочешков A.A., Зеленский В.П., Викулова E.H. Слежение за информацией Материалы б-ой международной конференции «НТИ-2002. Информационное общество. Интеллектуальная обработка информации. Информационные технологии». - М.: ВИНИТИ, 2002. - с. 202-203.

11. Зеленский В.П., Кочешков А.А. Проблема распространения информации для обеспечения информационного сопровождения исследований и обучения в вузе // Материалы 5-ой международной конференции «НТИ-2000. Информационные ресурсы и технологии. Телекоммуникации».- М.: ВИНИТИ, 2000. - с.128-129.

12. Кочешков А.А. Зеленский В.П., Стратегии сбора информации в динамических системах // Материалы 5-ой международной конференции «НТИ-2000. Информационные ресурсы и технологии. Телекоммуникации».- М.: ВИНИТИ, 2000. - с.167-168.

Подписано в печать 23.12.04. Формат 60 х 84 '/16. Бумага офсетная. Печать офсетная. Уч.-изд. л. 1,0. Тираж 100 экз. Заказ 836.

Нижегородский государственный технический университет. Типография НГТУ. 603600, Нижний Новгород, ул. Минина, 24.

öS. te - ûï. /3

i. ;, i

ПФЕШ

■ ' SS4

Оглавление автор диссертации — кандидата технических наук Зеленский, Владимир Павлович

ВВЕДЕНИЕ.

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

1.1 ЖИЗНЕННЫЙ ЦИКЛ ПС.

1.2 МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА ПО.

1.3 ОСНОВНЫЕ ИСТОЧНИКИ ОШИБОК.

1.4 ПОСТАНОВКА ЗАДАЧИ ТЕСТИРОВАНИЯ ПРОГРАММНЫХ СИСТЕМ.

1.5 ОСОБЕННОСТИ ТЕСТОВОГО ДИАГНОСТИРОВАНИЯ ПС.

1.6 МЕТОДЫ ПОСТРОЕНИЯ ТЕСТОВ.

1.7 ПОСТАНОВКА ЗАДАЧИ ИССЛЕДОВАНИЯ.

ГЛАВА 2 МАТЕМАТИЧЕСКАЯ МОДЕЛЬ И СТРАТЕГИИ ОПРЕДЕЛЕНИЯ СОСТОЯНИЯ ПРОГРАММНЫХ СИСТЕМ.

2.1 ОРИЕНТИРОВАННЫЙ УПОРЯДОЧЕННЫЙ ГРАФ.

2.2 МАТРИЧНАЯ МОДЕЛЬ.

2.3 ОБОБЩЁННАЯ ВЕРОЯТНОСТНО-СТРУКТУРНАЯ МОДЕЛЬ.

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

2.5 ВЫВОДЫ.

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

3.1 ОПТИМИЗАЦИЯ ПРИНЯТИЯ РЕШЕНИЯ О СОСТОЯНИИ ПС.

3.2 ОПТИМИЗАЦИЯ ВЫБОРА МНОЖЕСТВА ТЕСТОВ.

3.3 ОРГАНИЗАЦИЯ ВИРТУАЛЬНЫХ ПРОГРАММНЫХ МОДУЛЕЙ (ВПМ).

3.4 ВЫВОДЫ.

ГЛАВА 4 ПРАКТИЧЕСКИЕ АСПЕКТЫ ПРОБЛЕМЫ ОБЕСПЕЧЕНИЯ КОНТРОЛЕПРИГОДНОСТИ ПРОГРАММНОГО

КОМПЛЕКСА.

4.1 ИМИТАЦИОННАЯ МОДЕЛЬ N-КАНАЛЬНОЙ СИСТЕМЫ МАССОВОГО ОБСЛУЖИВАНИЯ.

4.2 ВЫВОДЫ.

Введение 2005 год, диссертация по информатике, вычислительной технике и управлению, Зеленский, Владимир Павлович

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

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

Основной вклад в решение проблемы диагностирования ПС внесли П.П.Пархоменко, П.А.Правильщиков, В.А.Гуляев, В.В. Липаев, В.И.Сагунов, С.И.Беляева, Р.Гласс, Т.Тайер, Г.Майерс, C.V. Ramamoorthy и другие российские и зарубежные ученые. Тем не менее, остается еще обширная область нерешенных вопросов и проблем, например, не решена в общем виде задача локализации ошибок произвольной кратности. Кроме этого, на пути реализации известных алгоритмов возникают сложности, связанные с большим объемом вычислений.

Таким образом, проблема разработки методов и алгоритмов обеспечения контролепригодности ПС является актуальной.

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

Диссертационная работа выполнялась по межвузовской научно-технической программе «Диагностические и информационно-поисковые системы».

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

Цель работы. Разработка диагностической модели программных систем (ПС) и методов локализации ошибок по информационному критерию.

Задачи работы. Достижение намеченной цели требует решения следующих задач: разработка математической модели для диагностирования программных систем на основе их структурных свойств;

- разработка оптимальных методов принятия решения о состоянии ПС по результатам тестового контроля;

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

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

Научная новизна работы. Разработаны диагностическая модель и методы локализации ошибок. Новым в предлагаемых методах является:

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

- включение статистического моделирования ошибок в процесс выбора оптимального набора тестов;

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

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

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

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

Апробация работы. Материалы диссертационной работы докладывались на следующих научных конференциях:

- V Международной конференции «НТИ-2000. Информационные технологии и телекоммуникации» (Москва, ВИНИТИ, 2000);

- VI Международной конференции «НТИ-2002. Информационное общество. Интеллектуальная обработка информации. Информационные технологии» (Москва, ВИНИТИ, 2002);

- Международной научно-технической конференции «Современные информационные технологии» (Пенза, ПТИ, 2004);

14-ой Международной научно-практической конференции по графическим информационным технологиям и системам. КОГРАФ-2004. (Нижний Новгород, НГТУ, 2004);

Региональной научно-технической конференции «Актуальные вопросы построения систем управления сложным распределенным оборудованием и предоставлением услуг» (Нижний Новгород, «ТЕКОМ», 2004).

Публикации. По теме диссертационного исследования опубликовано 12 работ.

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

Заключение диссертация на тему "Структурно-статистические методы обеспечения контролепригодности программных систем"

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

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

1. Предложено строить систему тестирования на основе спецификаций всех уровней описания ПС

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

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

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

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

6. На основе информационного критерия разработаны следующие алгоритмы:

-выбор минимального количества тестов для обеспечения заданной глубины диагностирования;

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

7. Разработан алгоритм структурно-иерархической организации программных модулей в виртуальные программные модули (ВПМ) с целью повышения эффективности локализации ошибок в ПС.

Библиография Зеленский, Владимир Павлович, диссертация по теме Системный анализ, управление и обработка информации (по отраслям)

1. Альсведе Р., Вегенер И. Задачи поиска: пер. с нем. М. Мир, 1982

2. Андерсон Р. Доказательство правильности программ: Пер. с англ. М.: Мир, 1982

3. Арженко А.Ю., Чугаев Б.Н. Оптимальные бинарные вопросники. М.Энергоатомиздат, 1989.

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

5. Блау С.А., Позин Б.А. Анализ планов тестирования программных модулей с учетом нереализуемых маршрутов //Программирование.-1988.-№4.-С. 26-34.

6. Боэм Б., Браун Дж., Каспар X. Характеристики качества программного обеспечения: Пер. с англ. М.: Мир, 1981.

7. А.А.Байбулатов, К.В.Семенков, С.И.Масолкин, О.А.Промыслова «Разведочный анализ качества сложного программного обеспечения», Институт проблем управления им. В.А.Трапезникова РАН, 2003г.

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

9. Бичевский Я.Я., Борзов Ю.В. Развитие методов символического тестирования программ // Автоматика и телемеханика.-1982.-№2.-С.93-102.

10. Борзов Ю.В. Тестирование программ с использованием символического исполнения //Программирование.-1980.-№1.-С.51-59.

11. Борзов Ю.В., Дишлерс Г.Э., Медведис И.Э., Уртанс Г.Б. Система символического тестировании ПЛ/1 -программ //УСиМ .-1986.-№6.-С.75-79.

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

13. Борисов А.Н., Осис Я.Я. Поиск наибольшей разделимости размытых множеств // Кибернетика и диагностика. Вып.З. Рига: Зинатне, 1969. -с. 79 - 88.

14. Велешенков В.А., Волков А.Ф., Тюрин А.В. Подход к обеспечению заданной диагностируемости дискретных устройств // Тезисы докладов III Всесоюзного совещания по технической диагностике. М.: Наука. -1975. - с. 16 -17.

15. Вознесенская Н.Л., Жирабок А.Н. Структурный подход к решению задачи функционального диагностирования нелинейных дискретных систем // Автоматика и телемеханика. 2000. - № 3. - с. 173-182.

16. Гаркавенко С.И., Бердникова (Ломакина) Л.С. Определение всех путей в ориентированном ациклическом графе// Кибернетика, №4, С.49-52, 1979.

17. Глас Р. Руководство по надежному программированию // М.: Финансы и статистика, 1982.

18. Глушков В.М., Вельбицкий И.В. Технология программирования и проблемы ее автоматизации. //Управляющие системы и машины, №6, С.81-86, 1976.

19. Гаганов П.Г., Липаев В.В., Просвирин В.Н. Динамика процесса отладки больших управляющих систем // Управляющие системы и машины, №1, С.19-28, 1975. \

20. Гаганов П.Г., Липаев В.В. Характеристики ошибок в процессе разработки комплексов программ.// Программирование, №2, С.36-41, 1975.

21. Гаганов П.Г., Липаев В.В., Просвирин В.Н., Волков В.Н. Анализ ошибок в сложных программах систем управления объектами. // Управляющие системы и мшины, №3, С.31-38, 1973.

22. Дал У., Дейкстра Э., Хоор К. Структурное программирование // «Мир», 1975.

23. Дробушевич Л.Ф. Оценка структурной сложности программ //Программирование.-1987.-№1.- С.81-90.

24. Дробушевич Л.Ф. Метод оценки топологической сложности программ //УСиМ.-1988.-№4.-С. 69-74.

25. Долбак Л.В. Методика отладки и испытаний управляющих алгоритмов и программ АСУ//Программирование.- 1984.-№3.-С.62-69.

26. Ермаков Г.В. Тестирование MIXAL программ с помощью символического исполнения //Программирование.- 1988.-№5.-С.12-18.

27. Ершов A.M. Средства, расширяющие возможности отладки программ на языке КОБОЛ ОС ЕС//УСиМ.-1988.-№2.-С.45-48.

28. Е.А. Жоголев. Введение в технологию программирования (конспект лекций). М.: "ДИАЛОГ-МГУ", 1994.

29. Е.Ф.Жарко «Проблемы управления качеством программного обеспечения», Институт проблем управления им. В.А.Трапезникова РАН, 2003г.

30. Закревский А.Д., Островский В.И. Оптимизация поиска кратчайшего покрытия //Сб."Проблемы синтеза цифровых автоматов. -М.: Наука, 1967,- С.84-85.

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

32. К. Зиглер. Методы проектирования программных систем. М.: Мир,1985. С. 15-23.

33. Иыуду К.А.,Арипов Н.М. Тестирование программы на основе минимального покрытия ее графа /УСиМ.//985.-М.-С.69-71.

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

35. Кашков В.Л., ШимаровВ.А. Средства поддержки структурного тестирования программ //УСиМ.-1986.-№2.-С.54-59.

36. Катков В.Л., Ермаков Г.В. Система автоматизации тестирования MIXAL -программ //Программирование.- 1985.-№3.-С.50-58.

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

38. Коростиль Ю.М., Гуляев В.А. Комплекс программ для диагностирования программных модулей микропроцессорных систем //УСиМ.-1988.-№3.-С. 55-58.

39. Колякин Ю.Д. Отладка программного обеспечения в диалоговой многотерминальной системе// УСиМ.-1983.-№2.-С.56-60.

40. Липаев В.В., Гаганов П.Г., Просвирин В.Н. Прогнозирование рациональной длительности отладки больших управляющих систем // Управляющие системы и машины, №4, С.8-14, 1975.

41. Липаев В.В. «Проектирование математического обеспечения АСУ», М., «Сов. радио», 1977.

42. Липаев В.В. Обеспечение качества программных средств. Методы и стандарты. М.:СИНТЕГ,2001.

43. Липаев В.В. Обеспечение качества крупномасштабных программных средств. Методы и стандарты. М.:СИНТЕГ,2003.

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

45. В.В. Липаев. Качество программного обеспечения. М.: Финансы и статистика, 1983. - С. 18-30.

46. Липаев В.В. Надежность программных средств. М.: СИНТЕГ, 1998.

47. Липаев Б.Н. Отладка систем управляющих алгоритмов ЦВМ реального времени // Сов. радио, 1974.

48. Г. Майерс. Надежность программного обеспечения. М.: Мир, 1980. С. 32 - 48.

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

50. Месарович М., Мако Д., Такахара И. Теория иерархических систем: Пер. с англ. М.: Мир, 1973.

51. Масолкин С.И.,Байбулатов А.А., Полетыкин А.Г. Методика обеспечения качества ПО при разработке сложных систем// Институт проблем управления им. В.А. Трапезникова РАН

52. Отладка систем управляющих алгоритмов ЦВМ реального времени /Под редакцией В.В.Липаева.-М.: -Сов.радио, 1974, 326 с.

53. Основы технической диагностики / Под ред. П.П. Пархоменко. М.: Энергия, 1976. - 464 с.

54. Пархоменко П.П. Теория впросников (обзор) // АиТ, 1970 №4. С. 140 152.

55. Пархоменко П.П., Сагомонян Е.С. Основы технической диагностики. М.: Энергоатомиздат, 1981.

56. Пархоменко П.П.Правильщиков П.А. Диагностирование программного обеспечения //Автоматика и телемеханика.-1980.-JH.-C.II7-I4I.

57. Пальчун Б.П., Юсупов P.M. Оценка надежности программного обеспечения. СПб.: Наука, 1994.

58. Правильщиков П.А. Построение тестов для программ.// АиТ. , №5, С.147-161, 1977.

59. Праворотова Е.Н., Казакова О.Г. Адаптивный алгоритм оптимального поиска неисправностей радиотехнических изделий // Автоматизация производственных процессов и управления качеством. М.: МИЭМ. 1986. С 46.

60. Правильщиков П.А. Построение тестов для программ //Автоматика и телемеханика. -1977. -№5. -С. I47-I6I.

61. Пойа Д. Как решать задачу. М.: Наука, 1961.

62. Позин Б.А. Метод структурного построения тестов для отладки управляющих программ//Программирование.- 1980.-№2.-С.62-68.

63. Просвирин В.Н. Статистическая процедура определения продолжительности тестовых испытаний управляющих программ // Управляющие системы и машины, №5, С.54-57, 1977.

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

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

66. Сагунов В.И. Диагностирование кратных ошибок в программных модулях //Программирование.- 1988,-№4.-С.34-38.

67. Тейлер Т., Лилов М., Нельсон Э. Надежность программного обеспечения. М.: Мир, 1981.

68. Торопов Д.И. 0 построении тестирующих маршрутов программы, //УСиМ. -1987. -№6.-С. 74-77.

69. Уртанс Г.Б. Функции путей программы //Программирование.-1987.-№4.-С.69-78.

70. Дж. Фокс. Программное обеспечение и его разработка. М.: Мир, 1985. - С. 53-67, 125-130.

71. Шварц Дж.Т. Обзор ошибок. В кн. «Средства отладки больших систем», под ред. Р.Растина, С. 17-27, «Статистика», 1977.

72. Шимаров В.А. Об одном методе тестирования программы на основе минимального покрытия ее графа //УСиМ .-1988.-№5.-С.51-53.

73. Шимаров В.А. Средства поддержки структурного тестирования программ //УСиМ,- 1988. -№2. -С. 54-59.

74. Б. Шнейдерман. Психология программирования. М.: Радио и связь, 1984. - С. 99-103.

75. ГОСТ 28195-89. Оценка качества программных средств. Общие положения.

76. ГОСТ Р ИСО/МЭК 9126-93. Информационная технология. Оценка программной продукции — характеристики качества и руководства по их применению.

77. ИСО 8402-94. Управление качеством и обеспечение качества. Словарь.

78. ГОСТ 15467-79. Управление качеством продукции. Основные понятия. Термины и определения.

79. ГОСТ Р ИСО/МЭК 12007-99. Информационная технология. Процессы жизненного цикла программных средств.

80. ГОСТ 19.102-77 Стадии разработки программ и программной документации.

81. ISO 9126, 1991 ИТ Оценка программного продукта. Характеристики качества и руководство по их применению.

82. Alfotd M.W. A requirements engineering methodology for real-time processing requirements.// IEEE Trans. Software Engng, v.3, №1, pp.60-69, 1977.

83. Panzl D J. Automatic software test drivers.// Computer, №4, p.44-50, apr.1978.

84. Gruemberger F. Program testing end validation.// Datamation, v. 14, №7, pp.39-47, 1968.

85. Goodenough J.B. Toward a theory of test data selection// IEEE Trans. Software Engng, v.SE-1, №2, pp.156-173, June 1975.

86. Akiyama F. An Example of Software System Debugging.// IFIP Conference Proceeding, pp.31-42, Ljubljana TA-3, Yugoslavia, August 1971.

87. Boehm B.W. McClean R.K., Urfrig D.B. Some experience with automated aids to the design of larg-scale reliable software.// IEEE Trans. Software Engng, v.l, №2, pp.125-153, 1975.

88. Schneidewind N.F. Analysis of error processis in computer software. // Proc. Int. Conf. Reliable Software, Los Angeles, Calif., pp.337-376, 1975.

89. Shoomon M.L., Bolsky M.I. Types, distribution end test end correction times for programming errors. // Proc. Int. Conf. Reliable Software, Los Angeles, Calif., pp.347-357, 1975.

90. Endres A. An analysis of errors and their causes in system programs. // Proc. Int. Conf. Reliable Software, Los Angeles, Calif., pp.327-336, 1975.

91. Youngs E.A. Human errors in programming.// Int. J. Man-Mach. Stud., v.6, №3, pp.361-376, 1974.

92. Thayer R.H., Hinton E.S. Software reliability a method that works. // AFIPS Conf. Proc., v.44, Montvale, N.Y., pp.877-883, 1975.

93. Rubey R.J., Dana J.A., Biche P.W. A equatitative aspect of software validation.// IEEE Trans. Software Engng, v.SE-1, №2, pp.150-155, June 1975.

94. Nelson E.C. Software reliability FPC-5.// Int. Symp. Fault-Toler. Comput., Paris, pp.24-28, 1975.

95. Gerhart S.L., Yelowitz L. Observations of Fallibility in Applications of Modern Programming Methodologies.// IEEE Trans. Software Engng, v.SE-2, №3, pp.195-207, 1976.

96. Howden W.E. Reliability of the path analysis testing strategy.// IEEE Trans. Software Engng, v.SE-2, №3, pp.208-215, 1976.

97. Howden W.E. Symbolic Testing and the DISSECT Symbolic Evolution System.// IEEE Trans. Software Engng, v.SE-2, №3, pp.266-279, 1977.

98. De Millo R.A. Hints on test data selection: help for the practicing programmer.// Computer, №4, pp.34-41, Apr. 1978.

99. Miller W., Spooner D.L. Automatic Generation of floating-point test data.// IEEE Trans. Software Engng, v.SE-2, №3, pp.208-215, 1976.

100. Ian Sommerville. Software Engineering. Addison-Wesley Publishing Company, 1992. - P. 5-10.

101. Criteria for Evaluation of Software. ISO TC97/SC7 #383.

102. Revised version of DP9126 Criteria of the Evaluation of Software Quality Characteristics. ISO TC97/SC7 #610. - Part 6.

103. Ibramsha M. Rairman V. Detection off logical errors in detection table programs // CACM. 1978. Vol. 21. № 12. P. 1016:1024.

104. Miller G. The Psychological review. 1956.

105. Watson A.H., McCabe T.J. Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric // NIST Special Publication 500-235. / Ed. by Wallace D.R. Gaithersburg, National Institute of Standards and Technology, 1996. 123 p.

106. Parasoft Homepage, http://www.parasoft.com/isp/home.isp.

107. HISSA. http://hissa.ncsl.nist.gov.

108. С and С++ editor reverse engineering, code navigation and automatic documentation, http ://www. scitools.com/ucpp .html.

109. Software considerations in airborne system and equipment certification. RTCA/EROCAE, 1992. p. 94.

110. Brohl A.-P. und Droschel, W. Das V-Modell. Oldenbourg. 1995. S. 232

111. Ould M.A. Strategies for Software Engineering: The Management of Risk and Quality. Chichester: Wiley, 1990.

112. Boehm B. et al. Characteristics of Software Quality. New York: American Elsevier, 1978.

113. Boehm B.W. Software Engineering Economics. Englewood Cliffs: Prentice Hall, 1981. 767 p.

114. Ramamoorthy C.V., Sin Bun F. Ho.,Chang W.T. On the automated generation of program test data // IEEE Trans. Software Eng.-1976.-v.SE-2, №4.-p.293-300.

115. Ломакина Л.С., Зеленский В.П. Оптимизация глубины диагностирования систем программного обеспечения // Системный анализ и моделирование социально-экономических и технологических процессов. Сб. научн. Тр. Вып.4- Н. Новгород, ВВАГС, 2004. с.4-8.

116. Зеленский В.П., Ломакина Л.С., Ломакин Д.В. Стратегия определения состояния сложных систем // Модели и анализ систем. Материалы семинара. Вып. 5. Н. Новгород, ВВАГС, 2004. - с.34-40.

117. Ломакина Л.С., Зеленский В.П. Методы синтеза контролепригодных программных комплексов // Радиоэлектронные и телекоммуникационные системы и устройства. Тр. НГТУ. Т.44 вып.9 Н Новгород: НГТУ, 2004.-е. 126-129.

118. Зеленский В.П., Ломакина Л.С. Модели и методы диагностики сложных систем // Современные информационные технологии. Тр. Межд. научн.-практ. конф.-Пенза: ПТИ, 2004,-с. 108-112.

119. Зеленский В.П. Оптимизация структуры системы для обеспечения контролепригодности // Современные информационныетехнологии. Тр. Межд. научн.-практ. конф.-Пенза: ПТИ, 2004,-с. 192193.

120. Зеленский В.П. Диагностическая модель программных комплексов //. КОГРАФ-2004. Материалы 14-ой Международной научно-практической конференции по графическим информационным технологиям и системам. -Н. Новгород: НГТУ, 2004. с.

121. Кочешков А.А. Зеленский В.П., Стратегии сбора информации в динамических системах // Материалы 5-ой международной конференции «НТИ-2000. Информационные ресурсы и технологии. Телекоммуникации».- М.: ВИНИТИ, 2000. с.167-168.