Recommending software upgrades with Mojave
Software upgrades are frequent. Unfortunately, many of the upgrades either fail or misbehave. We argue that many of these failures can be avoided for users of the new version of the software by exploiting the characteristics of the upgrade and feedback from the users that have already installed it. To demonstrate that this can be achieved, we build Mojave, the first recommendation system for software upgrades. Mojave leverages data from the existing and new users, machine learning, and static and dynamic source analyses. For each new user, Mojave computes the likelihood that the upgrade will fail for him/her. Based on this value, Mojave recommends for or against the upgrade. We evaluate Mojave for three real upgrade problems with the OpenSSH suite, and one synthetic upgrade problem each in the SQLite database and the uServer Web server. Our results show that it provides accurate recommendations to the new users. (C) 2014 Elsevier Inc. All rights reserved.