Математическая морфология.
Электронный математический и медико-биологический
журнал. - Т. 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 г. Волосенков В. О., Лопашинов
П. М.
Рассматривается задача отладки программного обеспечения вычислительных
систем реального времени. Предлагается алгоритм оценки качества отладки программного
обеспечения с использованием обобщенных показателей, конкретный состав которых
определяется этапами проведения отладочных работ в ходе многоэтапного итеративного
процесса.
Ключевые слова: вычислительная система, программное
обеспечение, отладка, качество программ.
Эффективность
создания нового и модернизация существующего программного обеспечения существующего
программного обеспечения вычислительных систем реального времени существенно
зависит от качества программ. Под качеством комплекса программ целесообразно
понимать степень его соответствия основным требованиям пользователя, сформулированным
в системных и программных спецификациях.
Предлагается алгоритм
оценки качества программного обеспечения вычислительных систем реального
времени, который определяет основные этапы отладки и базируется на использовании
моделей и методов в рамках многоэтапного итеративного процесса получения
программ заданного качества. Качество существующего программного обеспечения
вычислительных систем реального времени оценивается с помощью системы обобщенных
показателей, конкретный состав которых определяется этапами проведения отладочных
работ. Группировка показателей качества в соответствии с последовательностью технологических
процедур отладки обеспечивает эффективное использование методов и средств
автоматизации отладки существующего программного обеспечения.
Комплексы программ программного
обеспечения вычислительных систем реального времени характеризуются большим
количеством структурированных программных модулей, обеспечивающих
преобразования информации ограниченным количеством выполняемых функций,
повышенными требованиями к времени отклика системы на запросы пользователя, к
надежности и достоверности обрабатываемой информации.
Особенностью
отладки программ вычислительных систем реального времени является необходимость
выявления не только программных, но и сложных алгоритмических ошибок, в том
числе ошибок, связанных с просчетами в использовании ресурсов вычислительной
техники, ошибок при выполнении основных функций, ошибок сопряжений программных
модулей комплекса, ошибок, приводящих к нарушению функционирования. Такие
ошибки возникают при объединении отдельных программных модулей в комплексы
из-за отсутствия достоверной информации о необходимых ресурсах ЭВМ, неправильного
распределения функций между модулями комплекса, неправильной организации передач
управления и информации между модулями.
Алгоритм оценки
качества программного обеспечения вычислительных систем реального времени представляет собой последовательность действий по
проведению отладочных работ с целью обнаружения, локализации и устранения
ошибок в сложном комплексе программ (рисунок
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.