Dependency checking is a function that is performed to ensure that all pre-requisites for a given run-time image are present. Dependency checking software makes it possible to verify that all components (even those with low visibility) are present on both the client and server side. During configuration, a dependency checking tool is used to determine whether all components have been included to enable execution of the code as desired. "Include dependencies" might be device drivers, user interfaces, databases, operating system features, frameworks, certificates, files or other items.
Dependencies may be checked in a pre-defined order if one component relies on the next for operation. This may help make it evident where the code would break down upon execution. If one or more of the include dependencies have not been fulfilled, these may be resolved automatically or manually. If some components are determined to be unnecessary, they can be left out of the configuration. Dependency checking tools may be added as plug-ins to popular build systems -- such as Jenkins -- to aid in analysis. The software tools designed for dependency checking in continuous integration environments may also be used to find known, publicly disclosed vulnerabilities related to the include dependencies. In addition, such tools may be used to scan and analyze third-party applications for use of libraries with known vulnerabilities.