Complex Software
Sophisticated computer programming that contains multiple interconnected modules or components. Complex software systems have components whose interactions evolve. The set of possible states of the system can be infinite, unbounded, and most importantly, changing.