Методы и средства инженерии программного обеспечения



         

Методы просмотра структуры программы - часть 3


               < N, pc, Z

>,

где   N – номер  текущего оператора программы Р,    pc

(part condition) – условие выбора пути в  программе (вначале это true), что  является   логическим выражением  над D;         Z

– множество пар { < zi, ei >| zi Π X  Ç Y, в которых zi – переменная  программы, а  ei – ее значение;  Y – множество  промежуточных и выходных данных.

        

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

 

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

В операторе  присваивания Z = e ( x,  y),   x  Î X, y Î Y, в выражение  e ( x,  y)  производится  подстановка  символьных значений  переменных x и y, в результате чего  получается выражение  e (D), которое становится значением  переменной z (z Î Х ÈУ).  Вхождение в полученное  выражение  e (D) переменных из   Y  означает,  что их значения, а также  значение z не определены.

По оператору перехода  управление  передается  оператору, помеченному  соответствующей меткой.  В условном  операторе  « если a (x, y)  то  В1 иначе В2 » вычисляется выражение  a (x, y). Если оно определено и равно a¢ (D), то формируются  логические формулы:

                рс  ® a’ (D )                                                                                                         ( 1)

                рс  ® Ø a’ (D)                                                                                                      ( 2)

Если рс – ложно (false), то только  одна из последних формул  может быть выполнимой, тогда :

– если выполнима формула (1) , то управление передается  на В1;

– если выполнима  формула   (2),  то управление  передается  на В2;




Содержание  Назад  Вперед