УДК 8133:004.056
Волосенков В.О., Гаврилов А.Д.
Военная академия войсковой Противовозддушной обороны Вооруженных сил Российской Федерации Е-mail: [email protected]
АЛГОРИТМ ОЦЕНКИ КАЧЕСТВА ОТЛАДКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
РЕАЛЬНОГО ВРЕМЕНИ
Рассматривается задача отладки программного обеспечения вычислительных систем реального времени. Предлагается алгоритм оценки качества отладки программ с использованием обобщенных показателей, конкретный состав которых определяется этапами проведения отладочных работ в ходе многоэтапного итеративного процесса. Группировка показателей качества в соответствии с последовательностью технологических процедур отладки обеспечивает эффективное использование методов и средств автоматизации отладки программ.
Эффективность создания нового и модернизация существующего программного обеспечения вычислительных систем реального времени существенно зависит от качества программ. Под качеством программного обеспечения понимается степень его соответствия основным требованиям пользователя, сформулированным в системных и программных спецификациях [1], [2].
Сложность спецификаций объектов информатизации с каждым годом растет, что приводит к возрастанию сложности отладки разработанных программных продуктов [2], [3]. В связи с этим повышаются требования к степени обоснованности оценок качества программного обеспечения, что в свою очередь, предполагает решение актуальной научной задачи разработки адекватных моделей и методов оценки качества программного обеспечения на различных этапах отладки.
Предлагается алгоритм оценки качества программного обеспечения вычислительных систем реального времени, который определяет основные этапы отладки и базируется на использовании моделей и методов в рамках многоэтапного итеративного процесса получения программ заданного качества. Качество существующего программного обеспечения вычислительных систем реального времени оценивается с помощью системы обобщенных показателей, конкретный состав которых определяется этапами проведения отладочных работ. Группировка показателей качества в соответствии с последовательностью технологических процедур отладки обеспечивает эффективное использование методов и средств автоматизации отладки существующего программного обеспечения.
Комплексы программ вычислительных систем реального времени характеризуются большим количеством структурированных программных модулей, обеспечивающих преобразования информации ограниченным количеством выполняемых функций, повышенными требованиями к времени отклика системы на запросы пользователя, к надежности и достоверности обрабатываемой информации [2].
Особенностью отладки программ вычислительных систем реального времени является необходимость выявления не только программных, но и сложных алгоритмических ошибок, в том числе ошибок, связанных с просчетами в использовании ресурсов вычислительной техники, ошибок при выполнении основных функций, ошибок сопряжений программных модулей комплекса, ошибок, приводящих к нарушению функционирования. Такие ошибки возникают при объединении отдельных программных модулей в комплексы из-за отсутствия достоверной информации о необходимых ресурсах ЭВМ, неправильного распределения функций между модулями комплекса, неправильной организации передач управления и информации между модулями [3].
Предлагается алгоритм оценки качества отладки программного обеспечения вычислительных систем реального времени представляет собой последовательность действий по выполнению отладочных работ с целью обнаружения, локализации и устранения ошибок в программах (рисунок 1) [4].
Алгоритм оценки качества отладки программного обеспечения вычислительных систем реального времени представляет собой пос-
Рисунок 1. Алгоритм оценки качества программного обеспечения вычислительных систем реального времени
Волосенков В.О., Гаврилов А.Д.
ледовательность действий по выполнению отладочных работ с целью обнаружения, локализации и устранения ошибок в программах (рисунок 1).
На первом этапе, на основании анализа текста программ выявляются программные ошибки, возникающие при объединении программных модулей (в том числе некоторые ошибки зацикливаний, лишние и тупиковые операторы). Наряду с анализом текста программы, построением модели комплекса программ и составлением плана тестирования, на первом этапе проводится оценка сложности и избыточности программ.
Сложность комплекса программ включает структурную и статистическую сложность. Структурная сложность определяет степень взаимосвязи программных модулей и может быть оценена следующим образом [4]:
А = £ А = ХХ(а„+аеых),
г г у
где «„ - управляющие связи г -го программного модуля, которые вызывают этот модуль; «„„ -связи, посредством которых г-й программный модуль вызывает другие модули; А. - сложность управляющих связей г-го модуля;
Структурная сложность программных модулей, как правило, определяется на основании учета количества маршрутов, исполняемых программой, и числа условных операторов _ = Му
£ у ^ £ у,
г=1
где £у - количество условий, определяющих г-й маршруту-го программного модуля, Му - количество маршрутову-го программного модуля.
Статистическая сложность программных модулей обычно определяется путем подсчета количества операторов ( N1у ) и операндов ( N2у ):
N4 = N1 у + N 2 у ■
Показатель избыточности характеризует наличие структурных нереализуемых элементов в комплексе программ и его программных модулях. Избыточность комплекса программ определяется количеством нереализуемых в конкретной задаче программных модулей щ и количеством неиспользуемых информационных элементов и2.
Избыточность программных модулей определяется количеством лишних операторов и
_Алгоритм оценки качества отладки...
тупиков {щ у}. Здесь у - индекс программного модуля. Показатель избыточности представляется вектором
щ = {и1, и2, { u3j}}.
На следующем этапе выявляются ошибки, связанные с просчетами в использовании ресурсов вычислительной системы по памяти (тестирование физической реализуемости). Показатель физической реализуемости включает объемы оперативной памяти, необходимые для размещения комплекса программ при различных режимах его работы {Уш}, корректность вызова управляющей программы совокупностей программных модулей, соответствующих различным режимам работы {Рт}, объемы внешней памяти по различным типам запоминающих устройств {Шк}.
Корректность вызова в оперативную память группы программных модулей, соответствующих ш-му режиму работы комплекса программ, определяется на основе анализа спецификаций, а соответствующие компоненты физической реализуемости представлены булевыми величинами Рш = 1, если управляющая программа осуществляет вызов в оперативную память группы модулей для т -го режима работы комплекса программ в соответствии с требованиями спецификаций; Рш = 0 - в противном случае.
Таким образом, показатель физической реализуемости есть вектор
фр = {^ш}, { Рт}, {т}}.
Далее выявляются ошибки сопряжений модулей программ, ошибки при выполнении основных функций комплексом программ, которые устраняются далее на основании анализа результатов тестирования времени функционирования.
Показатель, характеризующий надежность комплекса программ, может быть описан вектором н = {о,Я, р},компонентами которого являются: О - общее количество выявленных ошибок, Я - интенсивность появлении не выявленных ошибок, Р - вероятность безотказной работы в течение заданного интервала времени. Точно определить количество ошибок в программе и вероятности появления ошибок различных типов прямыми методами невозможно, существуют лишь косвенные пути статистической оценки этих величин в процессе отладки и опыт-
ной эксплуатации комплекса программ. Эти оценки основаны на математических моделях, предусматривающих жесткую корреляцию приведенных выше компонент вектора надежности.
На завершающем этапе проводится анализ эффективности комплекса программ, полученного в процессе системной отладки. При этом используется подход, при котором эффективность комплекса программ характеризуется суммарными затратами на его проектирование и отладку.
Показатель эффективности комплекса программ, полученного в процессе отладки, есть вектор Э ={сп, Спо, Ссо}, компонентами которого являются: Сп - затраты на проектирование комплекса программ, Спо - затраты на программную отладку, Ссо - затраты на системную отладку. Затраты на проведение отладки определяются выражением:
Ссо = I С' + Сно (Рно X 7 =1
где С' - затраты на проведение ' -го этапа отладки, Сно - потери от необнаруженных ошибок, Рно - вероятность появления необнаруженной ошибки после завершения отладки.
На основании сравнения значений компонент показателей качества с требованиями спецификаций может быть оценена общая отла-женность комплекса программ:
К = 11 (Iр),
1 i 7 щ
где щ - количество компонент г-го показателя качества, I - количество рассматриваемых показателей качества, =1, если}-я компонента г-го показателя качества соответствует требованиям спецификаций; 0 - в противном случае.
В спецификациях на комплекс программ должны быть сформулированы следующие требования: допустимые значения компонент векторов сложности и избыточности, максимально допустимый объем оперативной памяти, который может быть отведен комплексу программ
в процессе его функционирования, максимально допустимые объемы внешней памяти, максимально допустимое время выполнения, требования к характеристикам надежности и эффективности комплекса программ.
Несоответствие какой-либо компоненты показателей качества требованиям спецификаций является либо следствием недостатков проектирования или программирования, либо следствием определенных ошибок. Выбор действий по локализации и устранению несоответствий требованиям спецификаций состоит в выборе множества показателей качества, для которых будут проведены локализация и устранение ошибок, а также выбор для этого множества последовательности действий, которая обеспечит локализацию и устранение ошибок с минимальными затратами времени и средств.
В процессе исследования возможных вариантов улучшения показателей качества комплекса программ может быть обнаружено, что ни один из них не позволяет обеспечить соответствия показателя требованиям спецификаций. В таком случае следует провести корректировку требований спецификаций с учетом реальных возможностей решения исследуемой задачи.
Предлагаемый алгоритм определяет последовательность действий по оценке качества отладки программ в ходе многоэтапного итеративного процесса. Группировка показателей качества в соответствии с последовательностью технологических процедур отладки обеспечивает эффективное использование методов и средств автоматизации отладки программ.
Процесс выявления ошибок в программном обеспечении вычислительных систем реального времени с использованием предложенного алгоритма может быть в достаточной мере формализован, а его основные операции - автоматизированы.
Применение алгоритма позволяет эффективно использовать методы и средства автоматизации отладки программного обеспечения вычислительных систем реального времени.
15.12.2014
Список литературы:
1. Липаев, В.В. Системное проектирование сложных программных средств для информационных систем / В.В. Липаев. -М.:, СИНТЕГ, 1999. - 257 с.
2. Липаев, В.В. Отладка сложных программ / В.В. Липаев. - М.:, Энергоатомиздат, 1993. - 235 с.
3. Соловьев, Н.А. Имитационно-аналитическая модель оценки эффективности принятия решений /Л.А Юркевская, Н.А. Соловьев // Современные информационные технологии в науке, образовании и практике: Сб. всероссийской научно-практической конференции (с международным участием). - Оренбург: ИПК ГОУ ОГУ, 2004. - С. 34-37. - ISBN 5-7410-0602-7.
Волосенков В.О., Гаврилов А.Д.
Алгоритм оценки качества отладки..
4. Волосенков, В.О. Методика оценки качества сложных комплексов программ вычислительных систем реального времени / В.О. Волосенков // Наука и техника транспорта. - 2007. - №1. - С. 63-66.
5. Кузнецов, Н.А. Методы анализа и синтеза модульных информационно-управляющих систем. / Н.А. Кузнецов [и др.]. -М.:, Физматлит, 2002. - 320 с.
6. Сирота, А.А. Оценка уязвимости информационных систем на основе ситуационной модели динамики конфликта / А.С. Вялых С.А. Вялых, А.А. Сирота //Информационные технологии. - 2012. - №2. - С. 16-21.
Сведения об авторах:
Волосенков Владимир Олегович, профессор кафедры автоматизированных систем боевого управления Военной академии войсковой противовоздушной обороны Вооруженных сил Российской
Федерации, доктор технических наук, e-mail: [email protected]
Гаврилов Анатолий Дмитриевич, ведущий научный сотрудник Военной академии войсковой противовоздушной обороны Вооруженных сил Российской Федерации, доктор военных наук, e-mail: [email protected]
214027, г. Смоленск, ул. Котовского, 2
UDC 004.773.3:004.056 Volosenkov V.O., Gavrilov A.D.
ALGORITHM OF THE ESTIMATION OF QUALITY OF DEBUGGING OF THE SOFTWARE OF COMPUTING SYSTEMS OF REAL TIME
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.
Bibliography:
1. Lipaev V.V. Complex systems design software for information systems. M.: SINTEG, 1999. 257.
2. Lipaev V.V. Debugging complex programs. M. Energoatomizdat, 1993. 235.
3. Volosenkov V.O. Methods of assessing the quality of complex systems programs real-time computing systems / / Science and technology trans-port. - 2007. - №1. - S. 63-66.
4. N.A. Kuznetsov, V.V. Kul'ba Kovalevsky S.S., S.A Kosyachenko Methods of analysis and synthesis of modular information management systems. M.: Fizmatlit 2002. 320.