Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Защитное программирование. Средства отладки. Вопрос 28. Понятие правильности программ. Доказательство правильности программ




ЗАЩИТНОЕ ПРОГРАММИРОВАНИЕ

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

необнаруженными.

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

Существует несколько принципов защитного программирования:

1. Общее недоверие. В соответствии с этим принципом для каждого модуля должно предполагаться, что входные данные могут оказаться неверными и подлежат проверке.

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

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

СРЕДСТВА ОТЛАДКИ

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

собственных средств.

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

Существует несколько типов отладочных средств, применяемых при программировании:

1. Распечатывание содержимого памяти.

2. Отслеживание хода выполнения алгоритма.

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

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

5. Проверка индексов.

6. Воспроизведение значений переменных.

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

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

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

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

Воспроизведение значений переменных осуществляется посредством отладочной команды DfSPLAY.

 

 

Вопрос 28

Понятие правильности программ. Доказательство правильности программ

 

ПРАВИЛЬНОСТЬ ПРОГРАММ

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

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

ли данные в установленных границах.

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

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

 

 

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...