摘要:Linux等大型软件通常利用配置文件来调整系统功能, 当配置项数量较多时, 彼此间依赖关系将变得复杂和容易出错. 若配置依赖约束定义不当, 一定条件下会导致对应配置项即便被选中, 也会由于潜在依赖问题而无法真正生效, 甚至导致系统编译或运行错误. 现有研究主要聚焦于Kconfig文件且仅考虑了反向依赖可能引发的配置错误. 本文则立足于Kconfig和Makefile的全面分析, 并综合研究了前者的直接依赖和反向依赖、二者间依赖不一致以及后者配置项在前者中缺少定义等4种情形, 以期发现尽可能多的潜在问题. 在此基础上, 设计配置错误检测工具, 针对Linux 6.7版内核源码, 检出并确认存在各类配置错误共计52处, 验证了本文方法及原型系统的有效性和实用性.