Software systems are constantly evolving, with new versions being released on a continuous basis. Unfortunately, software updates present a difficult challenge; the hassle involved in updating software—the fact you have to stop the application to upgrade it—combined with the fear that an update will introduce new bugs, means that many users simply do not do it, leaving their computers exposed to crash-prone, insecure code. In this talk, I will introduce a radically new approach that makes updating software less error-prone and disruptive, by making use of idle cores in multicore machines.