Patent ID: 8782635

Claim:
A system comprising: a processor; and a memory storing a program configured to perform an operation for managing applications installed on a computer system, the operation comprising: receiving a request to install a first application on the computer system, determining whether the computer system can support a first software state, wherein the first software state represents the first application and applications currently installed on the computer system, upon determining the first software state cannot be supported on the computer system: generating a representation of one or more second software states by: generating a filter mask, wherein the filter mask represents the distinct subset of one or more applications to represent as having been uninstalled from the computer system in a respective one of the second software states; and determining a set of applications represented by respective second software states by combining a frequency of use bitmask and the filter mask, successively evaluating one or more of the second software state representations, wherein each second software state represents a state that includes at least the first application as having been installed on the computer system and a distinct subset of one or more of the applications as having been uninstalled from the computer system, until identifying a second software state that can be supported on the computer system.