use of a program or abstract algorithm for an application different from the one for which it was originally written.
the practice of incorporating modified or unmodified pieces of source code from existing software into the creation of new software
used to evaluate the risk associated with a given investment and assesses the impact of different variables on an investment's returns. (changing the variables)