1. A computer-implemented method comprising: extracting one or more first symbol and symbol version pairs from one or more first symbol tables in a plurality of different programs to be executed within an operating system, wherein each of the one or more first symbol tables uses one or more of a plurality of shared libraries within the operating system; identifying one or more second symbol and symbol version pairs provided by the plurality of shared libraries, wherein each symbol version in the one or more first symbol and symbol version pairs and the one or more second symbol and symbol version pairs comprises a sequential version identifier; comparing the one or more first symbol and symbol version pairs to the one or more second symbol and symbol version pairs to identify ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries; in view of the ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries, determining that a first library version in the plurality of shared libraries is used by more of the plurality of different programs than a second library version in the plurality of shared libraries or that the first library version is used by more popular ones of the plurality of different programs than the second library version; and ranking, by a processing device, the plurality of shared libraries in view of the ones of the one or more first symbol and symbol version pairs that are made available by the plurality of shared libraries, wherein ranking comprises ranking the first library version higher than the second library version in view of the determination that the first library version is used by more of the plurality of different programs than the second library version or that the first library version is used by the more popular ones of the plurality of different programs than the second library version.