Отладка программного изделия. Трудности отладки. Средства и методы отладки

Отладка как процесс нахождения местоположения ошибок в программе и их исправление. Листинг исходного кода, подробная спецификация программы. Отслеживание обращений к программам. Средства и методы отладки. Категории ошибок в программном обеспечении.

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык русский
Дата добавления 02.04.2019
Размер файла 18,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http: //www. allbest. ru/

ЛЕКЦИЯ 8

Отладка программного изделия. Трудности отладки. Средства и методы отладки

1. Трудности отладки

Отладка (debugging) - процесс нахождения местоположения ошибок в программе и их исправление.

Основное средство обнаружения ошибок при отладке - тестирование.

Из опыта, трудоемкость отладки превышает суммарную трудоемкость разработки алгоритма, программирования (кодирования) и тестирования. Затраты времени на отладку составляют от 50 до 80% общего времени разработки программы.

Даже опытные программисты испытывают серьезные трудности в обнаружении причины ошибки.

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

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

Машинные методы отладки для опытных и творческих программистов оказываются наименее эффективными.

Повышают эффективность отладки:

априорные (на основании опыта) знания о статистике ошибок и наиболее вероятных типах;

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

Наиболее эффективный - групповой метод отыскания ошибок, когда два программиста сначала независимо, а затем совместно осуществляют этот процесс.

Повышение эффективности отладки - путем попеременного внимательного анализа программы за столом и машинного тестирования.

Трудности отладки:

Компилятор не выдает сообщений об ошибках, но программа не компилируется.

Программа откомпилирована, но при выполнении не выдает никаких результатов.

Программа откомпилирована, но при выполнении происходит преждевременный останов.

Программа зацикливается.

Программа выдает неверные результаты.

2. Средства и методы отладки

Средства обнаружения и локализации ошибок:

Листинг исходного кода.

Подробная спецификация программы.

Детальный алгоритм программы, представленный в виде блок-схемы, схемы действий, таблицы-решений и т.д.

Выходной листинг.

Анализ последовательности выполнения операторов и оценка ожидаемых значений переменных.

Отслеживание обращений к программам.

Дампы памяти (представление в какой-либо момент некоторой части содержимого оперативной памяти вычислительной системы в удобочитаемой форме).

Эти средства предполагают проведение внимательного анализа программы за столом.

Инструментальные средства отладки:

Отладочные компиляторы применительно к языку программирования.

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

Средства для печати значений используемых переменных при аварийном завершении программы, для трассировки значений переменных в процессе выполнения программы и т.д.

Пакеты программ для прослеживания потоков управления и данных в программе, контроля индексов и регистрации вызовов программ.

Генераторы тестовых данных, формирующие тестовые наборы данных в соответствии со спецификациями, задаваемыми пользователем.

Специальные он-лайновые отладки, обеспечивающие автоматизацию рестартов, остановов и прерываний программы, просмотр работы отдельных операторов и т.п.

Пакеты словарей / справочников данных, позволяющие контролировать имена и типы данных, и их использование разными модулями программы.

CASE-средства для построения схем потоков данных, модулей данных, схем алгоритмов и т.п.

Автоматизированные рабочие места программистов, включающие большинство из перечисленных средств.

Методы отладки:

Метод "грубой силы".

Наиболее распространенный и традиционно используемый программистами подход. Всесторонний анализ за столом исходного кода и алгоритма программы, выходных результатов и сообщений компилятора.

Для повышения эффективности отладки в текст программы включают операторы отладочного кода. Наиболее просто вставить операторы, которые регистрируют результаты использования конкретного оператора. Часто - это распечатка выборочных значений переменных.

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

Метод индукции.

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

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

3. Метод дедукции.

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

Выбранная гипотеза всесторонне рассматривается и уточняется. Если гипотеза оказывается верной, на ее основе находится ошибка.

4. Инверсное прослеживание логики программы.

Для небольших программ анализ логики выполнения программы в обратном направлении. Отладка начинается с точки программы, где обнаружен неверный результат или произошел останов программы. На основе полученных в этой точке значений переменных необходимо определить, исходя из логики программы, какие результаты должны были быть при правильной работе программы. Последовательное продвижение к началу программы позволяет достаточно быстро и точно определить место (и причину возникновения) ошибки, т.е. место между оператором, где результат выполнения программы соответствовал ожидаемому, и оператором, в котором появились расхождения.

3. Категории ошибок в программном обеспечении

ошибка отладка программный обеспечение

Систематизация ошибок по этапам разработки программного продукта.

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

Это наиболее серьезные ошибки, исправление которых может потребовать больших трудозатрат.

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

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

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

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

Наибольшее количество ошибок на этапе кодирования и тестирования.

Ошибки при программировании делятся на синтаксические и логические. Многие синтаксические ошибки обнаруживает транслятор (но не все).

В некоторых языках программирования не обнаруживаются пропуски операторов в программе, нарушение форматов ввода /вывода, правил индексации массивов, отсутствие начальных значений переменных и т.п. Не выявляются ошибки в указании типов передаваемых параметров при вызовах процедур.

Размещено на Allbest.ru

...

Подобные документы

  • Сущность тестирования и отладки, методика выявления ошибок в программном обеспечении. Практика отладки приложений в среде Delphi, системы управления версиями приложения и отслеживания ошибок. Применение точек остановки и модификация локальных переменных.

    курсовая работа [303,4 K], добавлен 19.01.2016

  • Отладка - процесс обнаружения, устранения синтаксических и семантических ошибок. Точки отслеживания (трассировки). Выполнение отладки в режиме останова. Мониторинг содержимого переменных. Пошаговое выполнение кода. Разработка тестов для отладки программы.

    презентация [743,6 K], добавлен 09.12.2013

  • Технология разработки и внедрения программного обеспечения автоматизированной системы управления. Классификация ошибок в программах на этапе эксплуатации системы и общие задачи процесса ее отладки. Методы обнаружениея и локализации ошибок в программах.

    контрольная работа [480,4 K], добавлен 25.10.2010

  • Тестирование и отладка программного обеспечения: понятие, принципы, этапы, цели и задачи. Тестирование методом сандвича как компромисс между восходящим и нисходящим подходами. Сущность метода "белого и черного ящика", отладки программного обеспечения.

    курсовая работа [36,9 K], добавлен 21.07.2012

  • Основные виды загрузки. Приемы работы в ТР: процесс отладки. Команды редактирования отладки программ с помощью командного меню Pascal. Составление программы с использованием простых операторов ввода, вывода. Сравнения с текстовыми и числовыми условиями.

    отчет по практике [134,7 K], добавлен 02.09.2010

  • Изучение составляющих этапов разработки программ, процесса их тестирования, отладки и документирования в контексте курса обучения начинающих программистов. Теоретический анализ постановки задачи и модели программы, создания текста, семантической отладки.

    курсовая работа [29,2 K], добавлен 28.11.2010

  • Формулировка требований к разработке и оформлению информационного сайта предприятия. Описание архитектуры сайта, меню навигации и алгоритма работы, листинг программного кода. Выбор серверной части и процесс отладки. Методы продвижения сайта в Интернете.

    курсовая работа [4,6 M], добавлен 18.01.2014

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

    лабораторная работа [8,0 K], добавлен 29.06.2011

  • Модели параллельного программирования; отладка параллельных программ. Реализация экспериментальной версии системы сравнительной отладки Fortran-OpenMP программ: получение, сбор и запись трассы, инструментарий программ, используемый формат файлов трассы.

    дипломная работа [92,8 K], добавлен 17.10.2013

  • Обоснование выбора средства программирования Microsoft Access 2000. Требования к параметрам и составу технических средств, к функциональным характеристикам, к надежности. Описание процесса отладки. Определение группы сложности разрабатываемой программы.

    дипломная работа [968,5 K], добавлен 13.03.2014

  • Особенности разработки кода программного модуля на современных языках программирования. Отладка и тестирование программы, оформление документации на программные средства. Применение инструментальных средств для автоматизации оформления документации.

    отчет по практике [203,8 K], добавлен 12.04.2015

  • Проблема надежности программного обеспечения, ее показатели и факторы обеспечения. Методы контроля процесса разработки программ и документации, предупреждение ошибок. Этапы процесса отладки ПО, приемы структурного программирования и принцип модульности.

    презентация [379,5 K], добавлен 30.04.2014

  • Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.

    отчет по практике [296,1 K], добавлен 19.04.2015

  • Обзор существующих моделей параллельного программирования, основные средства отладки эффективности MPI-программ, общие проблемы всех средств трассировки. Создание экспериментальной системы отладки эффективности MPI-программ, этапы работы анализатора.

    дипломная работа [767,2 K], добавлен 14.10.2010

  • Характеристика основных методов и средств моделирования мультиагентных систем. Ознакомление с результатами экспериментального тестирования и отладки программного комплекса. Рассмотрение методов оценки качества разработанного программного продукта.

    дипломная работа [3,1 M], добавлен 27.10.2017

  • Описание логической и модульной структуры разрабатываемой программы, используемые в данном процессе основные технические средства. Организация хранения данных в программе, проектирование интерфейса. Тестирование и отладка, листинг готовой программы.

    курсовая работа [494,5 K], добавлен 20.06.2012

  • Тестирование как составляющая часть процесса отладки программного обеспечения, его роль для обеспечения качества продукта. Обнаружение ошибок в программах, выявление причин их возникновения. Подходы к формулированию критериев полноты тестирования.

    курсовая работа [1,6 M], добавлен 20.12.2012

  • Математическая модель алгоритма с модификацией муравьиной колонии. Выбор аппаратных и программных средств для разработки программы. Особенность построения оптимального маршрута обхода пациентов. Характеристика тестирования и отладки данного проекта.

    дипломная работа [1,9 M], добавлен 17.11.2017

  • Выбор и обоснование архитектуры приложения, требования к его функциональности, описание возможностей и сфера практического применения. Технологические средства разработки и отладки. Проектирование и разработка программы, ее тестирование и листинг.

    дипломная работа [2,2 M], добавлен 13.07.2015

  • Этапы разработки и отладки приложения "Помощь почтальону". Составление сопроводительной документации. Выбор средств и методов программирования. Анализ проектных данных. Особенности создания базы данных, СУБД. Тестирование созданного программного продукта.

    контрольная работа [2,5 M], добавлен 17.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.