Реклама:

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

Липаев В. В. Тестирование программ.

Рис. 3-15. Схема, контроля структурной корректности программ ры построения модели от части, анализирующей текст исходного описания, вводится некоторый промежуточный язык описания программы — контрольный язык. Специальный транслятор, обеспечивает перевод исходного текста программы на контрольный язык. Описание программы на контрольном языке служит исходной формой ее представления для построения модели [50].

Для обеспечения анализа моделей необходимо ограничить объем данных, представляющих описание программ. Для этого применяется, с одной стороны, ограничение объема текста программных модулей, а с другой —■ укрупнение операторов на контрольном языке до уровня условных и безусловных переходов в программе. Ограничение размера программных модулей широко практикуется при разработке сложных К.П на уровне 30—50 предложений языка программирования высокого уровня, или 300—500 автокодных предложений, или в пределах 3—5 страниц текста программы. .Выделение операторов для модели программы на контрольном языке в соответствии с условными и безус* ловнымн переходами представляет собой объединение 5—10 команд на уровне автокода или 1—3 строк текста на языке высокого уровня. В результате модель программы можно ограничить 50—100 операторами на контрольном языке.

В процессе построения модели программы выполняется контроль соблюдения ограничений объема программы и правил нслользоваиня основных логических конструкций и операторов. Выделяются логические конструкции, содержащие неявные условия и требующие дополнительного описання. Последовательное выделение элементарных компонент и структурированных частей программ позволяет выявить участки программы, где нарушены правила структурирования [21, 27, 37]. В результате выявляются и отображаются ошибки построения структурированных программ, которые не позволяют завершить построение графовой модели программы и проводить дальнейший структурный контроль После нх устранения может проводиться автоматический структурный контроль.

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


⇐ Предыдущая страница| |Следующая страница ⇒