self-adapting_program
1. [ noun ] (computer science) a program that can change its performance in response to its environment
Related terms: program