Научная статья на тему 'Анализ оценки качества надежности программного продукта на основе теории графов и цепей Маркова'

Анализ оценки качества надежности программного продукта на основе теории графов и цепей Маркова Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
138
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕОРИЯ ГРАФ / ЦЕПИ МАРКОВА / КАЧЕСТВА ПРОГРАММНОГО ПРОДУКТА / ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ / ПРОГРАММИРОВАНИЯ / ТАБЛИЦА ИНЦИДЕНТНОСТИ / УРАВНЕНИЯ КОЛМОГОРОВА / GRAPH THEORY / MARKOV CHAINS / SOFTWARE PRODUCT QUALITY / DIFFERENTIAL EQUATIONS / PROGRAMMING / INCIDENCE TABLE / KOLMOGOROV EQUATIONS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ормонова Элнура Маматкадировна

В работе для определения качества программного продукта на основе математической модели используются методы теории графов и цепи Маркова. Поскольку современное программирование, разработка структуры данных и создание математической модели программного продукта не может обойтись без теории графов. В качестве объекта исследования применяется язык программирования Pascal ABC. Создана математическая модель программного продукта с помощью теории графов. Разработаны принципы оценки программного качества методами теории графов, а также цепи Маркова. Предложены модели вероятностной оценки качества компьютерных программ с помощью уравнений Колмогорова, составленные на основе теории графов.In this paper, we use graph theory and Markov chain methods to determine the quality of a software product based on a mathematical model. Since modern programming, developing a data structure and creating a mathematical model of a software product, we cannot do without graph theory. As an object of research, the Pascal ABC programming language is used. We have created a mathematical model of a software product using graph theory. The principles of software quality assessment by methods of graph theory, as well as Markov chains, are developed. Models of probabilistic assessment of the quality of computer programs using the Kolmogorov equations, based on graph theory.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ормонова Элнура Маматкадировна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Анализ оценки качества надежности программного продукта на основе теории графов и цепей Маркова»

Бюллетень науки и практики / Bulletin of Science and Practice Т. 6. №4. 2020

https://www.bulletennauki.com https://doi.org/10.33619/2414-2948/53

ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ/PHYSICAL & MATHEMATICAL SCIENCES

УДК 681.3+519.1 https://doi.org/10.33619/2414-2948/53/01

АНАЛИЗ ОЦЕНКИ КАЧЕСТВА НАДЕЖНОСТИ ПРОГРАММНОГО ПРОДУКТА НА ОСНОВЕ ТЕОРИИ ГРАФОВ И ЦЕПЕЙ МАРКОВА

©Ормонова Э. М., ORCID: 0000-0002-2476-8722, SPIN-код: 8825-7054, Киргизско-Узбекский университет, г. Ош, Кыргызстан, [email protected]

ANALYSIS OF ASSESSING THE RELIABILITY QUALITY OF THE SOFTWARE PRODUCT BASED ON THE GRAPHS THEORY AND MARKOV CHAINS

©Ormonova E., ORCID: 0000-0002-2476-8722, SPIN-code: 8825-7054, Kyrgyz-Uzbek University, Osh, Kyrgyzstan, [email protected]

Аннотация. В работе для определения качества программного продукта на основе математической модели используются методы теории графов и цепи Маркова. Поскольку современное программирование, разработка структуры данных и создание математической модели программного продукта не может обойтись без теории графов. В качестве объекта исследования применяется язык программирования Pascal ABC. Создана математическая модель программного продукта с помощью теории графов. Разработаны принципы оценки программного качества методами теории графов, а также цепи Маркова. Предложены модели вероятностной оценки качества компьютерных программ с помощью уравнений Колмогорова, составленные на основе теории графов.

Abstract. In this paper, we use graph theory and Markov chain methods to determine the quality of a software product based on a mathematical model. Since modern programming, developing a data structure and creating a mathematical model of a software product, we cannot do without graph theory. As an object of research, the Pascal ABC programming language is used. We have created a mathematical model of a software product using graph theory. The principles of software quality assessment by methods of graph theory, as well as Markov chains, are developed. Models of probabilistic assessment of the quality of computer programs using the Kolmogorov equations, based on graph theory.

Ключевые слова: теория граф, цепи Маркова, качества программного продукта, дифференциальные уравнения, программирования, таблица инцидентности, уравнения Колмогорова.

Keywords: graph theory, Markov chains, software product quality, differential equations, programming, incidence table, Kolmogorov equations.

Объектами исследования являются компьютерные программы, а именно язык программирование Pascal ABC. Цель работы: целью исследования является определение качества программного продукта с использованием международных и межгосударственных стандартов на основе теории графов. Методы исследований: для определения надежности программного средства используется теория графов для составления уравнения Колмогорова.

Бюллетень науки и практики / Bulletin of Science and Practice https://www.bulletennauki.com

Т. 6. №4. 2020 https://doi.org/10.33619/2414-2948/53

Задачей исследования является язык программирование Pascal ABC и определение надежности программы с использованием ориентированного графа. Приведена математическая модель программного продукта.

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

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

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

Экономическая эффективность. Составление математической модели программного продукта является наиболее трудной задачей. Существуют различные модели для определения математической модели программного продукта. Поэтому теория графов, использованная нами, для определения качества компьютерной программы Pascal ABC является наиболее экономически эффективным методом.

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

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

В настоящее время эти теории востребованы во многих областях: в химии, информатике, программировании, экономике, логистике, схемотехнике и пр. В математике, например, граф — это абстрактное представление множества объектов и связей между ними. Графом называют пару (V, E) где V — это множество вершин, а E — множество пар, каждая из которых представляет собой связь (эти пары называют ребрами).

Граф может быть ориентированным или неориентированным. В ориентированном графе связи являются направленными (то есть пары в E являются упорядоченными, например пары (a, b) и (b, a) — это две разные связи). В свою очередь в неориентированном графе, связи ненаправленные, и поэтому если существует связь (a, b) то значит что существует связь (b, a).

Сущность теории графов и цепи Маркова заключаются в том, что рассматриваемая система переходить последовательно из одного состояния (цикла) в другое, находясь в любой

Бюллетень науки и практики / Bulletin of Science and Practice Т. 6. №4. 2020

https://www.bulletennauki.com https://doi.org/10.33619/2414-2948/53

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

Рисунок 1. а — неориентированный граф б — ориентированный граф [4].

Задачей исследования является определение надежности программного продукта с использованием ориентированного графа (используя язык программирование Pascal ABC).

Рассмотрим пример Pascal ABC, где требуется определить, является ли заданное трехзначное число палиндромом (палиндром читается одинаково слева направо и справа налево, например, палиндромами являются числа 121, 282, слова «шалаш», «наган»). Programpalindrom; UsesCrt; var х: Integer; Begin Clrscr;

Write ('Введите целое число: '); readln(x);

If хmod 10 = х div 160 thenWrite (Введенное число является палиндромом)

elseWrite (Введенное число не является палиндромом);

readln;

End.

Составляем граф программы, Рисунок 2.

Рзц

Ы

Рисунок 2. Граф программы, где Eo — запуск программы; El — ввод данных; E2 — контроль вводимых данных; Eз — обнаружение ошибок и ее исправление; E4 — пользователь не обнаружил ошибку; E5 — программа выполняет свою функцию; E6 — программный отказ и восстановление программы; E7 — контроль результатов, выход данных; E8 — завершение работы программы.

Бюллетень науки и практики / Bulletin of Science and Practice Т. 6. №4. 2020

https://www.bulletennauki.com https://doi.org/10.33619/2414-2948/53

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

Таблица.

ТАБЛИЦА ИНЦИДЕНТНОСТИ

0 1 2 3 4 5 6 7 8

Po -1 0 0 0 0 0 0 0 0

P1 1 0 -1 1 1 -1 0 0 0

P2 0 1 0 -1 -1 0 0 -1 0

Рз 0 -1 1 0 0 0 0 0 0

P4 0 -1 1 0 0 0 0 0 0

P5 0 1 0 0 0 0 -1 -1 0

P6 0 0 0 0 0 1 0 0 0

P7 0 0 1 0 0 1 0 0 -1

P8 0 0 0 0 0 0 0 1 0

Здесь Ро, Р1, Р2, Рз ... Р8 — вероятности переходов из одного состояния в другое, а +Х коэффициенты переходов. Матрица инцидентности для определения качества программного продукта является инструментом качественного анализа программного продукта (https://habr.com/ru/post/65367/).

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

Уравнение Колмогорова для данного графа:

dt

dP± ~dt

dP, dt

dPs dt

A 23 P2 Л gjPg

dP,

(1)

dP, dt

^57^*5 ^72^7 70 ^72^)^7 ^57^5

dP7 ~dt

Таким образом, получили системы из 9 линейных дифференциальных уравнений с неизвестными функциями Ро, Р1, Р2, Рз, Р4, Р5, Рб, Р7, Р8.

Бюллетень науки и практики / Bulletin of Science and Practice Т. б. №4. 2020

https://www.bulletennauki.com https://doi.org/10.33619/2414-2948/53

Для них выполняется следующее нормировочное условие: Р0+ Р1+Р2+Рз+Р4+Р5+Рб+Р7+Р8=1

(2)

Чтобы решить системы уравнений необходимо задать начальное условия. Если вероятности Ро, Р1, Р2, Рз, Р4, Р5, Рб, Р7, Р8 постоянны, то их производные равны нулю, т. е. чтобы найти вероятности нужно все левые части в уравнениях (1) положить равными нулю. Тогда получим:

Л-01 Pq ~ О

^31РЭ + АМР4 С-^12 ^ 15) + — ®

Я2ЭР2 О

^ 2 4 Р2 41 Р4 — ^

(3)

Для решения системы уравнений (3) воспользуемся нормировочным условием (2).

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

Выводы:

1. Разработаны принципы оценки качества программного методами теории графов, а также цепи Маркова.

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

Список литературы:

1. Назаров А. А., Терпугов А. Ф. Теория массового обслуживания. Томск, 2004. 225 с.

2. Гнеденко Б. В. Введение в теорию массового обслуживания. М.: КомКнига, 2005.

397 с.

3. Климкина Н. Л., Гриценко Е. М. Программный комплекс статистического анализа вероятностных процессов на основе цепей Маркова. Саратов: СГТУ. Сер.: Наука и образование, 2007.

4. Whittaker J. A., Thomason M. G. A Markov chain model for statistical software testing // IEEE Transactions on Software engineering. 1994. V. 20. №10. P. 812-824. https://doi.org/10.1109/32.328991

5. Sayre K. D., Poore J. Improved techniques for software testing based on Markov chain usage models. University of Tennessee, Knoxville, 1999.

Бюллетень науки и практики / Bulletin of Science and Practice https://www.bulletennauki.com

Т. 6. №4. 2020 https://doi.org/10.33619/2414-2948/53

References:

1. Nazarov, A. A., & Terpugov, A. F. (2004). Teoriya massovogo obsluzhivaniya. Tomsk.

2. Gnedenko, B. V. (2005). Vvedenie v teoriyu massovogo obsluzhivaniya. Moscow.

3. Klimkina, N. L., & Gritsenko, E. M. (2007). Programmnyi kompleks statisticheskogo analiza veroyatnostnykh protsessov na osnove tsepei Markova. Saratov.

4. Whittaker, J. A., & Thomason, M. G. (1994). A Markov chain model for statistical software testing. IEEE Transactions on Software engineering, 20(10), 812-824. https://doi.org/10.1109/32.328991

5. Sayre, K. D., & Poore, J. (1999). Improved techniques for software testing based on Markov chain usage models (Doctoral dissertation, University of Tennessee, Knoxville).

Работа поступила в редакцию 02.03.2020 г.

Принята к публикации 07.03.2020 г.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Ссылка для цитирования:

Ормонова Э. М. Анализ оценки качества надежности программного продукта на основе теории графов и цепей Маркова // Бюллетень науки и практики. 2020. Т. 6. №4. С. 12-17. https://doi.org/10.33619/2414-2948/53/01

Cite as (APA):

Ormonova, E. (2020). Analysis of Assessing the Reliability Quality of the Software Product Based on the Graphs Theory and Markov Chains. Bulletin of Science and Practice, 6(4), 12-17. https://doi.org/10.33619/2414-2948/53/01 (in Russian).

i Надоели баннеры? Вы всегда можете отключить рекламу.