BURS (bottom-up rewrite system) theory tackles the problem of taking a complex expression tree or intermediate language term and finding a good translation to machine code for a particular architecture. Implementations of BURS often employ dynamic programming to solve this problem.
BURS can also be applied to the problem of designing an instruction set for an application-specific instruction-set processor.
References
BURS Wikipedia(Text) CC BY-SA