Abstract:Linux and other large-scale software usually use configuration files to adjust system functions. When the number of configuration items is large, the dependencies between them will become complex and error-prone. If the configuration dependency constraints are not properly defined, under certain conditions, even if the corresponding configuration item is selected, it will not take effect due to potential dependency problems, or even lead to system compilation or operation errors. Existing studies focus on Kconfig files and only consider configuration errors caused by reverse dependencies. This study comprehensively analyzes Kconfig and Makefile and investigates four scenarios of direct and reverse dependencies of Kconfig, inconsistent dependencies of the two, and the lack of definition of the latter’s configuration item in the former, in order to find as many potential problems as possible. On this basis, the study designs a configuration error detection tool for the Linux 6.7 kernel source code and identifies 52 configuration errors, which verifies the effectiveness and practicality of the methodology and prototype system in this study.