Software Knowing When to Upgrade