1) Есть ли русскоязычная литература по денотационной семантике?
вряд ли. Книги на эту тему нет смысла выпускать, слишком узкая область исследований. А вот статьи в инете можно найти.
2) И ещё идут ли каких либо институтах работы в этом направлении?
Нет конечно, зачем это институтам?
Это вообще область больше относится к математике. Работы в этом направлении могут идти не теоретические а практически - например при написании какого-то языка, могут просто работать над тем, чтобы его семантика соответствовала.
3) И где данную семантику вообще применяют на практике?
Как я понимаю, в функциональных языках программирования.
Вот тебе вырезка полезная:
Итак, IMHO, как программист, это главное, что нужно понять: денотационная семантика-это то, как придать математическую "teeth" концепции ссылочной прозрачности, чтобы мы могли дать принципиальные ответы на утверждения о правильности подстановки. В контексте функционального программирования, например, одним из ключевых приложений является: когда мы можем сказать, что два выражения с функциональным значением фактически обозначают функцию "the same", и, таким образом, одно из них может безопасно заменить другое? Классический денотационный ответ- равенство экстенсионалов : две функции равны тогда и только тогда, когда они отображают одни и те же входные данные на одни и те же выходные данные, поэтому нам просто нужно доказать, обозначают ли рассматриваемые выражения экстенсионально эквивалентные функции. Так, например, Quicksort и Bubblesort являются заметно разными аргументами, но денотационно они являются одной и той же функцией.
В контексте реактивного программирования большой вопрос будет заключаться в следующем: когда мы можем сказать, что два разных выражения, тем не менее, обозначают один и тот же поток событий или зависящее от времени значение?