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

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

4.7.1. Методы разработки систем программного обеспечения

Тот факт, что сначала рассматриваются методы, а дотом уже средства программного обеспечения, объясняется тем, что, согласно количественным резуль-.*гатам, именно методы играют важную роль в усовершенствовании систем программного обеспечения. В основу нашего анализа были положены 4519 Уведомлений о проблемах, поступивших в период между передачей программ независимой группе испытаний и завершением демонстрации программных средств в !действии непосредственно перед передачей их заказ-,чику. Как уже отмечалось, собранные данные были ргруппированы в соответствии с типами ошибок в 20 основных классов, причем последние были разбиты на 165 более мелких категорий. Впоследствии объем выборки был существенно сокращен, так как все УППО, которые не приводили к изменению текста программ, были исключены из рассмотрения. В результате осталось 2019 документов, которые и были йснользованы для проведения настоящего исследования. После этого была предпринята попытка опреде-;ить, ошибки какого типа могут быть выявлены с помощью предупредительных и обнаружительных ме-5годов. Следует, однако, заметить, что такие методы Не гарантируют вылавливания ошибок, а позволя-от всего лишь сделать их более видимыми и тем рамым предупреждать или обнаруживать.

Термины предупредительный и обнаружительный используются нами достаточно свободно, поскольку ;йюбой метод (или любое средство), который прнме-iJHHM до проведения испытаний в какой-либо форме, ; !ложет быть назван предупредительным. Методы ил1Г средства, связанные с проведением испытаний, назы-траются обнаружительными. Сводка основных классов Ьшибок и процент ошибок каждого класса, а также

оля общего числа ошибок (по основным классам), рторые могут быть выявлены с помощью указанных методов даются соответственно в табл. 4.12 и табл. 4.13. реобходимо иметь в виду, что такие методы не является избирательными с точки зрения их возможно-



СТИ выявлять ошибки; так, например, стандарты про* ектирования и методы проверки проектных решений позволяют предупреждать (в указанном выше смысле) ошибки одного и того же класса. Рассмотрим каждый из этих методов более подробно.

Стандарты проектирования. Применение стандартов проектирования оказывается особенно целесообразным в условиях, аналогичных условиям Проекта 3, т. е. когда мы- располагаем необходимыми сведениями относительно подлежащей решению задачи, требований к ее решению и потребностей пользователя. Результаты исследования показали, что до 28,7% ошибок, вызвавших изменения в программе, из числа обнаруженных при испытаниях подсистем и систем могут быть предупреждены с помощью тех или иных стандартов проектирования. В классе оисибок вычис Лений такими являются ошибки следующих категорий:

- неверно вычислен физический или логический номер элемента;

- ошибки в вычислении индекса;

- ошибки в вычислении и преобразовании временных параметров;

- ошибки в преобразовании единиц измерений.

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

- зацикливание программы;

- пропуск логического или проверяемого условия;

- не проверяется значение флажка или конкретного данного.

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

Ошибки ввода-вывода:

- ошибки в указании формата данных, выводимых на магнитную ленту или перфокарты;

- ошибки при выводе отладочной информации [присутствующей в проектной документации);

= искаженное сообщение об ошибках.



Ошибки манипулирования данными:

- ошибки в описании, установке значения или использовании промежуточной переменной;

- ошибки при формировании цепочки данных; i

- неверное завершение обработки данных. Ошибки сопряжения:

- ошибки в вызывающей последовательности или в операциях инициализации интерфейсов;

- связь программ осуществляется не через тот блок данных.

Стандарты программирования. Применение существующих стандартов программирования позволило предупредить в Проекте 3 26,37о ошибок, требующих изменения программ, причем наибольшую долю составляли ошибки манипулирования данными, логические ошибки, ошибки, ввода-вывода и ошибки сопряжения. Как и следовало ожидать, использование системы COMPOOL и существующих стандартов программирования привело к значительному сокращению ошибок типа неправильного определения глобальных и локальных переменных (они составили менее 0,1% от общего их числа). Ниже приводится более полный перечень ошибок, которые могут быть предупреждены, если использовать стандарты программирования.

Ошибки манипулирования данными:

- значение данного флажка или индекса не установлено или установлено неверно;

- ошибки при манипулировании с битами данных;

- ошибки в описании, установке значения или использовании промежуточной переменной;

- ошибки упаковки/распаковки. Логические ошибки:

- ошибки в определении границ;

- неверный цикл;

- не проверяется значение флажка илн конкретного данного.

Ошибки ввода-вывода:

- искаженное сообщение об ошибках;

- неверные размеры выводимых полей данных;

- ошибки при выводе заголовка;



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.
Копирование материалов разрешено исключительно при условии цититирования.