1. A method comprising: determining, by a processing device, a plurality of dependencies associated with source code for software, a dependency being a segment of program code that is separate from the source code and to be incorporated into the source code for providing the software with particular functionality; categorizing, by the processing device, the plurality of dependencies into a plurality of categories, each dependency of the plurality of dependencies being categorized as at least one of (i) an essential dependency that is necessary to create executable code from the source code, (ii) a nonessential dependency that is unnecessary to create the executable code from the source code, or (iii) an expiring dependency for which there is a newer version of the dependency available that is incompatible with the source code, wherein at least one dependency in the plurality of dependencies is categorized as the essential dependency by: generating a modified version of the source code by removing a reference to the at least one dependency from the source code, and based on a compiler being unable to create the executable code from the modified version of the source code, determining that the at least one dependency is to be categorized as the essential dependency; and sorting, by the processing device, the plurality of dependencies based on the plurality of categories.