Главная » Просмотр файлов » И. Соммервилл - Инженерия программного обеспечения

И. Соммервилл - Инженерия программного обеспечения (1133538), страница 102

Файл №1133538 И. Соммервилл - Инженерия программного обеспечения (И. Соммервилл - Инженерия программного обеспечения) 102 страницаИ. Соммервилл - Инженерия программного обеспечения (1133538) страница 1022019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 102)

На основе опыта проведения инспектирования в компании 1ВМ сделаны следующие оценки. 396 х1асть У. Верификация и аттестация 1. На этапе предварительного просмотра за один час можно просмотреть приблизительно 500 операторов исходного кода. 2. Во время индивидуальной подготовки за один час можно проверить примерно 125 операторов исходноучкрда. 3. На собрании за один час можно проверить от 90 до 125 операторов.

Эти цифры также подтверждаются данными, полученными во время проведения инспектирования компании АТэгТ [221. Принято считать, что максимальная длительность инспектирования не должна пре. вышать двух часов, поскольку потом эффективность обнаружения дефектов снижается. Поэтому в процессе разработки ПО инспектирование относительно малых системных компонентов должно выполняться достаточно часто. Если команда инспектирования состоит из четырех человек, на проверку 100 строк кода требуется примерно один человеко-день. Считается, что сам процесс инспектирования занимает около часа, плюс каждый член команды тратит 1-2 часа на подготовку к инспектированию.

Расходы на тестирование также существенно зависят от количества ошибок в программе. Но, с другой стороны, на инспектирование программы требуется вполовину меньше затрат, чем на эквивалентное тестирование программ. Обеспечение инспектирования ПО требует квалифицированного управления и "правильного" отношения к результатам его проведения. Инспектирование — открытый процесс обнаружения ошибок, когда ошибки, допущенные отдельным программистом, неизбежно выявляются и становятся известны всей группе программистов.

Менеджеры должны четко разграничивать инспектирование программного кода и оценку кадров. При оценке профессиональных качеств специалистов ни в коем случае нельзя учитывать ошибки, обнаруженные в процессе инспектирования. Руководителям инспекционных групп необходимо пройти тщательную подготовку, чтобы грамотно управлять процессом н совершенствовать культуру отношений, которая гарантировала бы поддержку в процессе обнаружения ошибок и отсутствие каких-либо обвинений в связи с этими ов~нбками. 19.3. Автоматический статический анализ программ Статические анализаторы программ — это инструментальные программныс средства, которые сканируют исходный текст программы и вылвляют возможныс ошибки и проти. воречня.

Для анализаторов ие требуется исполняемая программа. Они выполняют синтаксический разбор текста программы и опознают различные типы операторов. Таким образом, с помощью анализаторов можно проверить, правильно ли составлены операторы, сделать выводы относительно потока управления в программе и во многих случаях вычислить множество значений данных, используемых про~раиной.

Анализаторы дополняют средства обнаружения ошибок, предоставляемых компилятором языка. Цель автоматического статического анализа — привлечь внимание проверяющего к аномалиям в программе, например к переменным, которые используются без инициализации или совсем не используются, или к данным, значения которых превышают задан. нос, и т.п. В табл.

19.3 перечислены типы ошибок, которые можно выявить с помощью статического анализа. Автоматический статический анализ лучше всего применять вместе с инспектированием ПО, так как он предоставляет дополнительную информацию инспекционной группе. 19. Верификация и аттестация ПО 397 Таблица 19.$. Ошибки, обнаруживаемые статическим анализом Опвсавие ошвбки Твп ошибки Переменные используются до их инициализации; переменные определены, но нигде не используютсадпеременным дважды присваиваются значения, однако между этими присвоениями они нигде не используются; выход за границы массива; переменные не определены Неиспользуемый код, "безусловные переходы в циклах Ошибки данных Ошибки управления Ошибки ввода-вывода Переменныс выводятся дважды без промежуточного присвоения Неправильный тип параметра; неправильное количество пара- метров; результаты функции не используются; есть иевызывае- мые процедуры и функции Ошибки в использовании указателей Ошибки интерфейса Ошибки управления памятью Статический анализ состоит из нескольких этапов.

1. Анализ коэкжа уп)маинкл'. На этом этапе идентифицируются и выделяются циклы, их точки входа и выхода, а также неиспользуемый код (зто код, окруженный безусловными операторами перехода, или код олной из ветвей условного оператора, условие перехода к которой никогда не будет истинным). 2. Акллиз кслазыавлнкл длннмх На этом этапе проверястсл использование переменных в программе. Анализ позволяет обнаружить перемснныс, которые исполыуются без предварительной инициализации, псрсменпыс, которые описаны дважды без промежуточного присвоения, а также объявленные.

но нигде нс использусмыс переменные. На этом этапе также можно выявить условные операторы с избыточны. ми условиями. Это такие условия, значения которых никогда пс изменяются: они либо всегда истинны. либо всегда ложны. 3. Анаакз ккэмрфекга. На этом этапе проверяется согласованность различных частей программы, правильность объявления процедур и их использования.

Данный этап оказывается лишним, если используется язык со строгим контролем типов, например )ача, так как подобный анализ выполняет компилятор этого языка. Анализ интерфейса помогает выявить ошибки в программах, написанных на языках со слабым контролем типов, например ГОйТКАМ или С. В процессе анализа интерфейса можно также выявить объявленные функции и процедуры, которые нигде нс вызываются, и функции, результаты которых не используются. 4. Анллкз намокав данных На этом этапе анализа определяются зависимости между исходными (входными) и результирующими (выходными) переменными. Хотя такой анализ не выявляет конкретных ошибок, он дает полный список значений, нсполь. зуемых в программе, благодаря чему легче обнаружить ошибочный вывод данных. На этом этапе также можно явно определить условия, которые влияют на значения переменных. 5.

Анллкз вежаек ярсг~аммьс На этом этапе семантического анализа определяются все ветви программы и выделяются операторы, исполняемые в каждой ветви. Анализ ветвей программы существенно помогает разобраться в управлении программой н позволяет проанализировать каждую ветвь отдельно. 398 Часть ч'. Верификация и аттестация Анализ потока данных и анализ ветвей генерируют огромное количество информации.

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

В языке С нет строгого контроля типов, и потому проверка, осуп(сствляемая компилятором языка С, ограниченна. В этом случае средствами статического анализа можно автоматически выявить широкий спектр ошибок програм. мнрования. Данный анализ особенно важен при разработке критических систем. В этом случае статический анализ позволяет значительно сократить расходы на тестирование. В системах ()п(х и (аппх есть статический анализатор 1.1)чТ для программ, написанных на С. Он обеспсчиваст статическую проверку, эквивалентную проверке компилятором в языках со строгим контролем типов, например (ача, В листинге 19.1 представлен образец результата проверки программы с помощью анализатора 1.(ХТ.

Первая команда анализа. тора просматривает программу. В программе определена функция рг(п(аггеу с одним параметром, которая затем вызывает ее с тремя парамстрамн. Переменные ) и с определены, однако значения им ниглс не присваиваются. Возвращаемое функцией значение также нигде нс используется. Листинг 19.1. Статический анализ, выполненный анализатором ЫХТ 158$ мохе 1эпг ех.с 41пс1ис)е <вес)до.Ь> ргапсаггау (Аиаггау) дпг Апаггау; ( рг1пгг("Ъс)",Апаггау)г ваап() ( 1пс Апагтау(5)г 1пс 1; спаг с; ргапгаггау(Апаггау,д.с); ргдпгагтау(Апаггау); ) 139$ сс 11пг ех.с 140$ 11пс 11пг ех.с 11пг ех.с(10): магпгпд: с жау Ье овес) Ьегоге вес 11пг ех.с(10): магпапд: 1 тау Ье овес) Ьеуоге вег ргдпгаггау: чагдаЬ1е З ог агдв.11пс ех.с(4) ::11пг ех.с(10) ргдпгаггау, агд. 1 пвед эпсопвдвгепг1у 11пг ех.с(4) ::11пг ех.с(10) ргдпсаггау, агд.

1 плес) 1псопвдвсепс1у 11пг ех.с(4) ;:11пс ех.с(11) рг1псг гесигпэ ча1пе мьбсЬ 1в а1маув 1дпогес) В строке 139 выполняется компиляция С-программы, в результате которой компилятор не обнаружил ни одной ошибки. В следующей за ней строке следует вызов анализато.

ра (.)ХТ, который находит ошибки и предоставляет отчет. Статический анализатор выявил, что используемые скалярные переменные с и ( не иннциализированы, функция рпп(аггау вызывается с другим количеством аргументов, чем указано при ес определении. Также обнаружено непоследовательное использование пср- 19. Верификация и аттестация ПО 399 вого арлумента в функции рпп(впву, кроме того, анализатор обнаружил, что значение функции нигде не используется. Анализ с помощью инструментальных средств не может заменить инспектирования, так как существуют такие типы ошибок, которые невозможно; выявить с помощью статического анализа.

Характеристики

Тип файла
DJVU-файл
Размер
8,79 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее