Abstract
Automatic programming is discussed in the context of
software engineering. An approach to automatic
programming is presented, which uses software
engineering principles in the synthesis and maintenance
of programs. As a simple demonstration,
program-equivalent Turing machines are synthesised,
encapsulated, reused, and maintained by genetic
programming.
Turing machines are synthesized from input-output pairs
for a variety of simple problems. When a problem is
solved, the solution is encapsulated and becomes part
of a software library. The genetic program uses the
library to solve new problems by combining library
components with program primitives to synthesise new
programs. When a new problem is solved or a known
problem is solved more efficiently, the genetic program
maintains the library so as to keep it valid and
efficient.
Users
Please
log in to take part in the discussion (add own reviews or comments).