Математическая морфология.

Электронный математический и медико-биологический журнал. - Т. 11. -

Вып. 2. - 2012. - URL:

http://www.smolensk.ru/user/sgma/MMORPH/TITL.HTM

http://www.smolensk.ru/user/sgma/MMORPH/N-34-html/TITL-34.htm

http://www.smolensk.ru/user/sgma/MMORPH/N-34-html/cont.htm

 

УДК 681.3.06

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

 

 

Ó 2012 г. Волосенков В. О., Лопашинов П. М.

 

(lopashinov.doc)

 

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

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

 

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

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

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

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

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

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

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

где – управляющие связи i–го программного модуля, которые вы­зывают этот модуль;  – связи, посредством которых i–й программ­ный модуль вызывает другие модули; Ai – сложность управляющих связей i–го модуля;

Структурная сложность программных модулей, как правило, опре­деляется на основании учета количества маршрутов, исполняемых про­граммой, и числа условных операторов

,

где – количество условий, определяющих i–й маршрут j–го про­граммного модуля, Mj – количество маршрутов j–го программного модуля.

 Статистическая сложность программных модулей обычно опреде­ляется путем подсчета количества операторов (N1j) и операндов (N2j):

Показатель избыточности характеризует наличие структурных нереализуемых элементов в комплексе программ и его программных модулях. Избыточность комплекса программ определяется количеством нереализуемых в конкретной задаче программных модулей u1 и количеством неиспользуемых информационных элементов u2 .

Избыточность программных модулей определяется количеством лишних операторов и тупиков {u3j}. Здесь j – индекс программного модуля. Показатель избыточности представляется вектором

= {u1, u2, { u3j}}.

 

 

Рисунок 1. Алгоритм оценки качества программного обеспечения вычислительных систем    реального времени

На втором этапе выявляются ошибки, связанные с просчетами в использовании ресурсов вычислительной системы по памяти (тестирование физической реализуемости). Показатель физической реализуемости включает объемы оператив­ной памяти, необходимые для размещения комплекса программ при различных режимах его работы {Vm}, корректность вызова управляющей программы совокупностей программных модулей, соответствую­щих различным режимам работы {Рт}, объемы внешней памяти по различным типам запоминающих устройств {Wk}.

Корректность вызова в оперативную память группы программных модулей, соответствующих m–му режиму работы комплекса программ, определяется на основе анализа спецификаций, а соответ­ствующие компоненты физической реализуемости представлены буле­выми величинами  Рm = 1, если управляющая программа осуществляет вызов в оперативную память группы модулей для m–го режима работы комплекса программ в соответствии с требованиями спецификаций; Рm = 0 – в противном случае.

Таким образом, показатель физической реализуемости есть вектор

= {{Vm}, { Pm}, {Wk}}.

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

Показатель, характеризующий надежность комплекса программ, может быть описан вектором  = {}, компонентами которого являются: О – общее количество выявленных ошибок,  – интенсив­ность появлении невыявленных ошибок, Р – вероятность безотказной работы  в течение заданного интервала времени. Точно определить количество ошибок в программе и вероятности появления ошибок раз­личных типов прямыми методами невозможно, существуют лишь кос­венные пути статистической оценки этих величин в процессе отладки и опытной эксплуатации комплекса программ. Эти оценки основаны на математических моделях, предусматривающих жесткую корреляцию приведенных выше компонент вектора надежности.

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

Показатель, характеризующий эффективность средств восстанов­ления, есть вектор  = {{KГ, ,Трз, Ррз}компонентами которого яв­ляются: КГ – коэффициент готовности системы,  – вероятность сохранности информации в системе, Трз – среднее время решения задачи, Ррз – вероятность успешного решения задачи.

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

Показатель эффективности комплекса программ, полученного в процессе отладки, есть вектор  = п, Спо, Ссо}, компонентами которого являются: Сп – затраты на проектирование комплекса программ, Спо – затраты на программную отладку, Ссо – затраты на системную отладку. Затраты на проведение отладки определяются выражением

Ссо=+ Сноно),

где Cj – затраты на проведение j-го этапа отладки, Сно – потери от необнаруженных ошибок, Рно – вероятность появления необ­наруженной ошибки после завершения отладки.

На основании сравнения значений компонент показателей качества с требованиями спецификаций может быть оценена общая отлаженность комплекса программ:

где ni – количество компонент i-го показателя качества, I – количе­ство рассматриваемых показателей качества, Pij = 1, если j-я компонен­та  i-го показателя качества соответствует требованиям спецификаций; 0 – в противном случае.

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

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

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

 

Литература

 

1.     Мамиконов А. Г., Кульба В. В. Синтез оптимальных модульных систем обработки данных. М., Наука, 1986.

2.     Кульба В. В., Ковалевский С. С, Косяченко С. А., Сиротюк В. О. Теоре­тические основы проектирования оптимальных структур распределен­ных баз данных. М., СИНТЕГ. 1999.

3.     Липаев В. В. Системное проектирование сложных программных средств для информационных систем. М., СИНТЕГ, 1999.

4.     Кузнецов Н. А., Кульба В. В., Ковалевский С. С., Косяченко С. А. Методы анализа и синтеза модульных информационно-управляющих систем. М., Физматлит, 2002.

 

ALGORITHM OF THE ESTIMATION OF QUALITY OF DEBUGGING OF THE SOFTWARE OF COMPUTING SYSTEMS OF REAL TIME

 

Volosenkov V. O., Lopashinov P. M.

 

The problem of debugging of the software of computing systems of real time is considered. The algorithm of an estimation of quality of debugging of the software with use of the generalised indicators which concrete structure is defined by stages of carrying out of debugging works during iterative process Is offered.

Key words: the computing system, the software, debugging, quality of programs.

 

Военная академия войсковой противовоздушной обороны

Вооруженных Сил Российской Федерации

имени Маршала Советского Союза А. М. Василевского

Поступила в редакцию 25.04.2012.