In computing, Code generation denotes software techniques or systems that generate program code which may then be used independently of the generator system in a runtime environment. Specific articles: Code generation (compiler), a mechanism to produce the executable form of computer programs, such as machine code, in some automatic manner Automatic programming (source code generation), the act of generating source code based on an ontological model such as a template Generating code at run time in self-modifying code and just-in-time compilation Model-driven development uses graphical models and metamodels as basis for generating programs Program synthesis consists of synthesizing programs from a high-level, typically declarative specification Random test generators are used in functional verification of microprocessors Comparison of code generation tools shows the diversity of tools and approaches for code generation