Главная страница Анализ эмпирических данных лении несущественных коэффициентов среди множества 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 Коэффициенты корреляции числа ошибок с различными показателями сложиостн программы
|
© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования. |