Сетевое издание
Международный студенческий научный вестник
ISSN 2409-529X

КРИТЕРИЙ ОЦЕНКИ СЛОЖНОСТИ ПРОГРАММ

Карпухин И.А. 1 Короткова Н.Н. 1
1 Волжский политехнический институт, филиал Волгоградского государственного технического университета
1. Berge C. Graphs and Hypergraphs. Amsterdam, The Netherlands: North-Holland,1973.
2. Thomas J. McCabe, A complexity measure IEEE Transactions on software engineering, Vol. SE-2, No.4, December 1976.
3. Цикломатическая сложность [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/%D0%A6%D0%B8%D0%BA%D0%BB%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C. Дата обращения: 10.12.15 г.

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

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

Цикломатическое число V(G) задается простой формулой [1]

V(G) = e – n +2p,

где e – количество ребер; n – количество узлов; p – число компонент связности.

Для сильно связного графа, в котором каждая точка выхода соединена с точкой входа, цикломатическое число равно V(G) = e – n + p [3].

Еще один способ определения цикломатического числа предложен Томасом МакКейбом [2]. Он рассматривает цикломатические числа отдельных блоков (операционный блок, условный блок, цикл) и определяет общее цикломатическое число программы через полученные для блоков цикломатические числа.

Теорема: в сильно связном графе G, цикломатическое число равно максимальному числу линейно независимых контуров [1].

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

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

Общая стратегия будет состоять в том, чтобы измерить сложность программы, вычисляя число линейно независимых путей V(G), управлять «размером» программ, устанавливая верхний предел для V(G) (вместо того, чтобы использовать просто физический размер) и использовать цикломатическую сложность в качестве основания для методологии тестирования.

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


Библиографическая ссылка

Карпухин И.А., Короткова Н.Н. КРИТЕРИЙ ОЦЕНКИ СЛОЖНОСТИ ПРОГРАММ // Международный студенческий научный вестник. – 2016. – № 3-1. ;
URL: https://eduherald.ru/ru/article/view?id=14766 (дата обращения: 19.04.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674