Combined Approach to Program and Language Evolution

keywords: Software evolution, program modification, language modification, software language engineering, adaptive experimental environment
Program can be viewed as a sequence of statements that are aimed to produce some result. The execution is done by a platform that interprets the program sequence of statements. The new result of a computation can be achieved by modification of a program, a language interpreter, or both. Software evolution as long-term process can be supported by adaptive language and by environment, which offers reflective possibilities. This paper presents our adaptive approach to both program and language modification in order to support dynamic evolution. Effective software evolution needs to be supported by appropriate execution environment. We have proposed such experimental execution environment, which allows both run-time program and language modification. As we hope, mutating a programming language to a higher abstraction may decrease structural complexity of programs in the future.
mathematics subject classification 2000: 68N15, 68N20
reference: Vol. 29, 2010, No. 6+, pp. 1103–1116