Дайте определения информационной, логической и конкуренционной зависимости между операторами программы, а также определение графа зависимостей по данным.
 Ответ 
Информационная зависимость между операторами программы. Оператор зависит от оператора A информационно, если оператор "вырабатывает" некоторую переменную , которую использует оператор . Другими словами, оператор зависит от оператора информационно, если 1)существует путь от входного оператора программы, проходящий через операторы , , и 2)оператор является последним перед оператором этого пути, "вырабатывающий" значение переменной , которое используется оператором .
Логическая зависимость между операторами программы. Оператор B зависит от оператора логически, если 1)существует путь от входного оператора программы до оператора и 2)оператор является "распознавателем", решающим будет или нет выполняться оператор .
Конкуренционная зависимость между операторами программы. Операторы , зависят друг от друга конкуренционно, если 1)существуют пути от входного оператора программы как до оператора , так и до оператора , и 2)операторы и "вырабатывают" одну и ту же переменную .
Граф зависимостей по данным между операторами программы (Data Dependence Graph, DDG) строится на основе информационной, логической и конкуренционной зависимости между операторами программы. Заметим, что о зависимости по данным можно говорить на разных уровнях — от отдельных инструкций, до более крупных программных блоков.