Some methods of automatic analysis and controllable transformation of programs

Principles and methods of the development of program systems are considered, which facilitate the analysis and transformation of the structure of programs. In the implementation of scale projects, it is impossible to have a complete concept of the structure of a program without the use of special systems. These systems contain the means of analysis of the initial program and, as a result of automatic transformation, produce another program displaying prescribed properties. As examples, the problems of fast automatic differentiation and the problems of obfuscation (“darkening,” intricacy) of programs are considered.