Главная страница  Анализ эмпирических данных 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [ 38 ] 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

лении несущественных коэффициентов среди множества Np. Несущественные коэффициенты могут быть положены равными нулю, что означает неинформативность соответствующих им показателей сложности при оценивании и прогнозировании Np. Таким образом, задача состоит в определении оптимальных коэффициентов й,- (некоторые из них могут быть равны 0) и в получении соответствующих статистических выводов в терминах доверительных интервалов отклика Np. Вопросы выбора функций / (обычно полагают f{x) ==л;) и метод восстановления регрессионной модели с учетом неотрицательности коэффициентов применительно к данным Проекта 3 обсуждаются в гл. 4.

3.3.2. Анализ моделей надежности

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

Рассматривались следующие факторы:

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

2) сложность взаимосвязей, измеряемая числом прикладных и системных интерфейсов рассматриваемого модуля, т. е. числом вызываемых из него прикладных и системных программ;

3) сложность вычислений, измеряемая числом операторов присваивания, содержащих арифметические операции;

4) сложность ввода-вывода, измеряемая числом операций ввода-вывода;

5) удобочитаемость, измеряемая числом комментариев.

Показатели сложности программного обеспечения 1. Показатель логической сложности модуля или общая логическая сложность:

Ltot = LS/EX -j- Lloop + Lif -f i-br, ,



*) Число ветвлений, принятое в модели сложности, в дальнейшем было переопределено с целью охвата всех операторов еетвления, а не только условных переходов.

где LS -общее число логических операторов, ЕХ - число исполняемых операторов; Lloop - показатель сложности циклов, определяемый но табл. 4.1; Lif - показатель сложности условных операторов IF (определяемый по табл. 4.1); Lbr - число ветвлений) з условных операторах BR, умноженное на 0,001 (коэффициент 0,00! определяет относительную значимость числа ветвлений в выражении общей логической сложности).

2. Показатель сложности взаимосвязей:

CiNF = АР-f 0,5(5YS),

где АР - число связей с прикладными программами, SYS - число связей с системными программами, коэффициент 0,5 определяет относительную значимость системных интерфейсов в сравнении с интерфейсами прикладных программ.

3. Показатель сложности вычислений:

СС = (CS/EX) (Lsys/I; CS) CS.

где CS - число операторов вычислительного характера, Lsys = 2Ltot - суммарная логическая сложность программного обеспечения, причем суммирование осуществляется по всем Ьтот-модулям.

4. Показатель сложности ввода-вывода:

Ci/o = (Si,o/EX) (Lsys/Xi Si/o) Slo.

где Si/o - число операций ввода-вывода, причем суммирование осуществляется по всем модулям системы.

5. Удобочитаемость, или показатель простоты программы;

Uread= COM/(TS + COM),

где TS - общее число операторов (исполняемых и неисполияемых, исключая комментарии), СОМ -число комментариев.



Показатель общей сложности:

Стот = Ltot + ОДСшн + 0,2СС +

+ 0,4С№ +(-O.I)Uread.

Коэффициенты 1; 0,1; 0,2; 0,4 и (-0,1) задают относительные веса соответствующих показателей в аддитивной модели общей сложности.

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

Представительные результаты регрессионного анализа зависимости числа фактических ошибок от показателя Стот были получены для подсистем А, В, С, D, Е и функции С]. Полученные данные для подсистем F и Н нельзя назвать представительными, так как они оказались слишком искаженными, зашумлен-ными, как, впрочем, и ожидалось, поскольку F содержит служебные модули, а Н - модули управления данными, причем некоторые из этих модулей были

Таблица 3.1

Коэффициенты корреляции числа ошибок с различными показателями сложиостн программы

Коэффициент корреляции

Показатель сложности

Подсистемы

Функция

Общая сложность.

0,7534

0,7793

0,8075

0,7548

0,7673

0,9065

Стот Общая логиче-

0,6353

0,8453

0,7142

0.6804

0,9058

0,9138

ская сложность. Общая логиче-

0,7081

0,6088

0,7688

0,5730

0,5231

0,4343

ская сложность, тот ~ Ltot



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [ 38 ] 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

© 2000 - 2018 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.