本文已被:浏览 446次 下载 951次
Received:September 25, 2024 Revised:October 23, 2024
Received:September 25, 2024 Revised:October 23, 2024
中文摘要: Linux等大型软件通常利用配置文件来调整系统功能, 当配置项数量较多时, 彼此间依赖关系将变得复杂和容易出错. 若配置依赖约束定义不当, 一定条件下会导致对应配置项即便被选中, 也会由于潜在依赖问题而无法真正生效, 甚至导致系统编译或运行错误. 现有研究主要聚焦于Kconfig文件且仅考虑了反向依赖可能引发的配置错误. 本文则立足于Kconfig和Makefile的全面分析, 并综合研究了前者的直接依赖和反向依赖、二者间依赖不一致以及后者配置项在前者中缺少定义等4种情形, 以期发现尽可能多的潜在问题. 在此基础上, 设计配置错误检测工具, 针对Linux 6.7版内核源码, 检出并确认存在各类配置错误共计52处, 验证了本文方法及原型系统的有效性和实用性.
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.
文章编号: 中图分类号: 文献标志码:
基金项目:CCF-深信服伏羲基金 (CCF-SANGFOR OF 2022001)
引用文本:
孙思雨,翟高寿,俞朝阳.Linux配置错误检测.计算机系统应用,2025,34(4):115-124
SUN Si-Yu,ZHAI Gao-Shou,YU Zhao-Yang.Error Detection of Linux Configuration.COMPUTER SYSTEMS APPLICATIONS,2025,34(4):115-124
孙思雨,翟高寿,俞朝阳.Linux配置错误检测.计算机系统应用,2025,34(4):115-124
SUN Si-Yu,ZHAI Gao-Shou,YU Zhao-Yang.Error Detection of Linux Configuration.COMPUTER SYSTEMS APPLICATIONS,2025,34(4):115-124

