Читайте также:
|
|
В результате трансляции получается программа, готовая к исполнению на компьютере. Однако в процессе разработки программы могли быть допущены ошибки, которые сохранились и в результирующей программе. Такие ошибки называют содержательными. Эти ошибки принципиально не могут быть устранены на стадии трансляции, так как для их обнаружения необходима информация о существе решаемой задачи. Поэтому их может устранить только сам программист.
Ошибки могут быть допущены по самым разным причинам. Часть ошибок может быть устранена еще на стадии разработки программы, если параллельно с разработкой программы строится также доказательство ее правильности. Но, во-первых, методы аналитического доказательства правильности программы еще недостаточно разработаны, а во-вторых, ошибка могла быть допущена еще на стадии постановки задачи, в результате чего может оказаться, что разработанная программа, хотя, и работает верно, но решает совсем не ту задачу.
Поэтому любая программа до ее практического использования должна пройти этап отладки. Цель отладки состоит в том, чтобы выявить и устранить ошибки, допущенные на предыдущих этапах, и получить правильную программу, к результатам работы которой можно относиться с доверием.
Суть отладки состоит в том, что пользователь подготавливает систему тестов, с помощью которой проверяется работа программы в различных возможных режимах. Каждый тест содержит набор исходных данных, для которых известен результат. Если в результате работы программы с данным тестом получаются результаты, отличные от ожидаемых, то это свидетельствует о наличии ошибки. Тест стараются выбрать так, чтобы он помог не только установить сам факт ошибки, но и локализовать эту ошибку, т. е. по возможности сузить подозреваемую часть программы, содержащую ошибку.
Трудность процесса отладки большой программы состоит в том, что в силу сложности ее структуры необходимо подобрать не один, а несколько тестов, чтобы проверить наибольшее число возможных ситуаций, которые могут случиться в процессе работы программы. Поэтому каждая программа при отладке требует тщательного подбора системы тестов.
Для облегчения отладки в состав операционных систем включают специальные сервисные программы — отладчики. При отладке пользователь формулирует задание отладчику, а отладчик выполняет это задание и выдает пользователю необходимую информацию о поведении отлаживаемой программы. Эта информация может значительно облегчить поиск и устранение ошибок.
Отладка может установить лишь наличие ошибок, но не может доказать правильности программы для всех возможных вычислений, реализуемых по ней. Действительно, невозможно проверить работу программы для всех возможных вычислений — для этого просто не хватило бы человеческой жизни. Вот почему для повышения доверия к результатам необходимы хорошо структурированные программы, поведение которых можно прогнозировать и аналитическими методами. Именно поэтому аналитические методы доказательства правильности программ получают все большее развитие.
Дата добавления: 2014-12-20; просмотров: 84 | Поможем написать вашу работу | Нарушение авторских прав |