Browse > Article
http://dx.doi.org/10.9708/jksci.2022.27.06.001

Fault Injection System for Linux Kernel Modules  

Son, Sunghoon (Dept. of Computer Science, Sangmyung University)
Abstract
In this paper, we propose a general-purpose fault injection system for Linux loadable kernel modules. The fault injection system enables software developers and testers to inject various kinds of faults easily into user-specified kernel modules in user-controlled manner. The proposed system also provides workload generation in order to make injected faults be exposed effectively, By experiments, we show that the fault injection system correctly injects faults into Linux kernel modules. The proposed system can be utilized as a useful tool for testing during kernel module development It is also useful for studies on kernel behaviour analysis and fault isolation and recovery.
Keywords
Linux; Kernel module; Fault injection; Test tool;
Citations & Related Records
연도 인용수 순위
  • Reference
1 R. Natella, D. Cotroneo, and H. S. Madeira, Assessing Dependability with Software Fault Injection: A Survey, ACM Computing Surveys, Vol. 48, No. 3, Article 44, Feb. 2016.
2 K. Bhat, E. Kouwe, H Bos, and C. Giuffrida, "FIRestarter: Practical Software Crash Recovery with Targeted Library-level Fault Injection," in Proceedings of 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks, Jun. 2021.
3 T. Yoshimura, A Study on faults and error propagation in the linux operating system, Ph.D Thesis, Keio University, Mar. 2016.
4 M. M. Swift, M. Annamalai, B. N. Bershad, and H, M. Levy, "Recovering device drivers," ACM Trans. on Computer Systems, Vol. 24, No. 4, pp. 333-360, Nov. 2006.   DOI
5 Z. Chen, N. Narayanan, B. Fang, G. Li, K. Pattabiraman and N. DeBardeleben, "TensorFI: A Flexible Fault Injection Framework for TensorFlow Applications," in Proceedings of IEEE 31st International Symposium on Software Reliability Engineering (ISSRE), pp. 426-435, 2020.
6 Jo~ao Carreira and Henrique Madeira and Jo~ao Gabriel Silva, "Xception: A Technique for the Experimental Evaluation of Dependability in Modern Computers," IEEE Transactions on Software Engineering, 24(2), February 1998.
7 W. Cao, X. Zhao, and Y. Fayou, Research on Faults Propagation in Linux OS, in Proceedings of the 2nd International Conference on Cryptography, Security and Privacy, pp. 165-169, Mar. 2018.
8 Linux fault injection capabilities infrastructure, http://www.kernel. org/doc/Documentation/faultinjection/fault-injdection.txt.
9 Zu-Ming Jiang and Jia-Ju Bai, Kangjie Lu, Shi-Min Hu, "Fuzzing Error Handling Code using Context-Sensitive Software Fault Injection," in Proceedings of the 29th USENIX Security Symposium, Aug. 2020.
10 Algirdas Avizienis, Jean-Claude Laprie, Brian Randell, and Carl Landwehr, "Basic Concepts and Taxonomy of Dependable and Secure Computing," IEEE Transactions on Dependable and Secure Computing, vol. 1, no. 1, Jan.-Mar. 2004.
11 D. Cotroneo, L. De Simone, P. Liguori and R. Natella, "ProFIPy: Programmable Software Fault Injection as-a-Service," in Proceedings of 50th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), 2020, pp. 364-372.
12 Mei-Chen Hsueh, Timothy K. Tsai, and Ravishankar K. Iyer, "Fault injection techniques and tools," IEEE Computer, 30(4):75-82, Apr 1997.
13 S. Potyra, V. Sieh, and M. Dal Cin, "Evaluating fault-tolerant system designs using FAUmachine," in Proceedings of the 2007 Workshop on Engineering Fault Tolerant Systems (EFTS'07), pp.1-9,New York, NY, USA, 2007.
14 H. A. Ahmad, Y. Sedaghat and M. Moradiyan, "LDSFI: a Lightweight Dynamic Software-based Fault Injection," in Proceedings of 9th International Conference on Computer and Knowledge Engineering (ICCKE), pp. 207-213, 2019.