Error Detection of Linux Configuration
Author:
  • Article
  • | |
  • Metrics
  • |
  • Reference [20]
  • | | | |
  • Comments
    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.

    Reference
    [1] Arya A, Gupta P, Singhal S, et al. Software systems using variability approaches. Proceedings of the 5th International Conference on Inventive Research in Computing Applications (ICIRCA). Coimbatore: IEEE, 2023. 809–813.
    [2] Horcas JM, Pinto M, Fuentes L. Empirical analysis of the tool support for software product lines. Software and Systems Modeling, 2023, 22(1): 377–414.
    [3] Acher M, Martin H, Lesoil L, et al. Feature subset selection for learning huge configuration spaces: The case of linux kernel size. Proceedings of the 26th ACM International Systems and Software Product Line Conference—Vol. A. Graz: ACM, 2022. 85–96.
    [4] Martin H, Acher M, Pereira JA, et al. Transfer learning across variants and versions: The case of Linux kernel size. IEEE Transactions on Software Engineering, 2022, 48(11): 4274–4290.
    [5] Abal I, Melo J, Stanciulescu S, et al. Variability bugs in highly configurable systems: A qualitative analysis. ACM Transactions on Software Engineering and Methodology, 2017, 26(3): 10.
    [6] Sundermann C, Heß T, Nieke M, et al. Evaluating state-of-the-art # SAT solvers on industrial configuration spaces. Empirical Software Engineering, 2023, 28(2): 29.
    [7] Oh J, Yıldıran NF, Braha J, et al. Finding broken Linux configuration specifications by statically analyzing the Kconfig language. Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. Athens: ACM, 2021. 893–905.
    [8] de Moura L, Bjørner N. Z3: An efficient SMT solver. Proceedings of the 4th International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Budapest: Springer, 2008. 338–340.
    [9] 江梦涛, 潘朋飞, 宋杨, 等. Linux内核中编译选项、文件以及函数之间依赖关系的解析方法. 计算机科学, 2014, 41(z1): 445–454.
    [10] 侯朋朋, 张珩, 武延军, 等. 基于多标签的内核配置图及其应用. 计算机研究与发展, 2021, 58(3): 651–667.
    [11] Dietrich C, Tartler R, Schröder-Preikshat W, et al. Understanding Linux feature distribution. Proceedings of the 2012 Workshop on Modularity in Systems Software. Potsdam: ACM, 2012. 15–20.
    [12] Mordahl A. Automatic testing and benchmarking for configurable static analysis tools. Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis. Seattle: ACM, 2023. 1532–1536.
    [13] Zhan DY, Yu XZ, Zhang HL, et al. ErrHunter: Detecting error-handling bugs in the Linux kernel through systematic static analysis. IEEE Transactions on Software Engineering, 2023, 49(2): 684–698.
    [14] Trautsch A, Erbel J, Herbold S, et al. What really changes when developers intend to improve their source code: A commit-level study of static metric value and static analysis warning changes. Empirical Software Engineering, 2023, 28(2): 30.
    [15] Lenarduzzi V, Pecorelli F, Saarimaki N, et al. A critical comparison on six static analysis tools: Detection, agreement, and precision. Journal of Systems and Software, 2023, 198: 111575.
    [16] 庞立超, 王晓峰, 谢志新, 等. 随机正则3-可满足性问题的解簇结构分析. 计算机应用, 2024, 44(7): 2137–2143.
    [17] Alouneh S, Abed S, Al Shayeji MH, et al. A comprehensive study and analysis on SAT-solvers: Advances, usages and achievements. Artificial Intelligence Review, 2019, 52(4): 2575–2601.
    [18] Audemard G, Laurent S. On the glucose SAT solver. International Journal on Artificial Intelligence Tools, 2018, 27(1): 1840001.
    [19] Schneider S, Burgholzer L, Wille R. A SAT encoding for optimal Clifford circuit synthesis. Proceedings of the 28th Asia and South Pacific Design Automation Conference. Tokyo: IEEE, 2023. 190–195.
    [20] Liu R, Guo KF, Zhou FH, et al. Resource allocation for NOMA-enabled cognitive satellite-UAV-terrestrial networks with imperfect CSI. IEEE Transactions on Cognitive Communications and Networking, 2023, 9(4): 963–976.
    Related
    Cited by
    Comments
    Comments
    分享到微博
    Submit
Get Citation

孙思雨,翟高寿,俞朝阳. Linux配置错误检测.计算机系统应用,2025,34(4):115-124

Copy
Share
Article Metrics
  • Abstract:
  • PDF:
  • HTML:
  • Cited by:
History
  • Received:September 25,2024
  • Revised:October 23,2024
  • Online: February 28,2025
Article QR Code
You are the firstVisitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-3
Address:4# South Fourth Street, Zhongguancun,Haidian, Beijing,Postal Code:100190
Phone:010-62661041 Fax: Email:csa (a) iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063