Analyzing execution path non-determinism of the Linux kernel in different scenarios
Safety-critical systems play a significant role in industrial domains, and their complexity is increasing with advanced technologies such as Artificial Intelligence (AI). To provide efficient services, safety-critical systems that integrate AI applications are always built based on Linux, where Linu...
Saved in:
| Main Authors: | , , , , , |
|---|---|
| Format: | Article |
| Language: | English |
| Published: |
Taylor & Francis Group
2023-12-01
|
| Series: | Connection Science |
| Subjects: | |
| Online Access: | http://dx.doi.org/10.1080/09540091.2023.2192442 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| _version_ | 1850253638329434112 |
|---|---|
| author | Yucong Chen Xianzhi Tang Shuaixin Xu Fangfang Zhu Qingguo Zhou Tien-Hsiung Weng |
| author_facet | Yucong Chen Xianzhi Tang Shuaixin Xu Fangfang Zhu Qingguo Zhou Tien-Hsiung Weng |
| author_sort | Yucong Chen |
| collection | DOAJ |
| description | Safety-critical systems play a significant role in industrial domains, and their complexity is increasing with advanced technologies such as Artificial Intelligence (AI). To provide efficient services, safety-critical systems that integrate AI applications are always built based on Linux, where Linux offers massive amounts of features and an incredibly perfect software ecosystem for AI applications. Since Linux is a pre-existing complex software system, different research programmes aim to pave the way for developing Linux-based safety-critical systems. Still, only some focus on the system calls for file operations. However, the execution path of a system call is effectively non-deterministic in Linux kernel space, which challenges the test coverage-based verification recommended by the functional safety standards. This research analyzes the influence of system state on Linux kernel path variability from two perspectives: file system type and system load. Therefore, an online data collection system for system call execution paths was constructed based on Ftrace, network file system (NFS), and MD5 hash function, uniquely identifying the system call execution path. The collected data were processed and analysed in this study. Evaluations show that the number of function execution paths of the system calls relevant to file systems increased with the increase in system load but would eventually be stable. Additionally, the function execution paths of the system call varied in different file systems. Based on the evaluations, the results of this work can provide advice for analyzing Linux-based safety-critical systems. In addition, the method introduced in this research can also provide support for the verification of Linux-based safety-critical systems. |
| format | Article |
| id | doaj-art-540d8935d0e3436eaa237b7d051d4c8e |
| institution | OA Journals |
| issn | 0954-0091 1360-0494 |
| language | English |
| publishDate | 2023-12-01 |
| publisher | Taylor & Francis Group |
| record_format | Article |
| series | Connection Science |
| spelling | doaj-art-540d8935d0e3436eaa237b7d051d4c8e2025-08-20T01:57:20ZengTaylor & Francis GroupConnection Science0954-00911360-04942023-12-0135110.1080/09540091.2023.21924422192442Analyzing execution path non-determinism of the Linux kernel in different scenariosYucong Chen0Xianzhi Tang1Shuaixin Xu2Fangfang Zhu3Qingguo Zhou4Tien-Hsiung Weng5School of Information Science and Engineering, Lanzhou UniversitySchool of Information Science and Engineering, Lanzhou UniversitySchool of Information Science and Engineering, Lanzhou UniversityInstitute of Modern Physics, Chinese Academy of SciencesSchool of Information Science and Engineering, Lanzhou UniversityDept. of Computer Science and Information Engr. (CSIE), Providence UniversitySafety-critical systems play a significant role in industrial domains, and their complexity is increasing with advanced technologies such as Artificial Intelligence (AI). To provide efficient services, safety-critical systems that integrate AI applications are always built based on Linux, where Linux offers massive amounts of features and an incredibly perfect software ecosystem for AI applications. Since Linux is a pre-existing complex software system, different research programmes aim to pave the way for developing Linux-based safety-critical systems. Still, only some focus on the system calls for file operations. However, the execution path of a system call is effectively non-deterministic in Linux kernel space, which challenges the test coverage-based verification recommended by the functional safety standards. This research analyzes the influence of system state on Linux kernel path variability from two perspectives: file system type and system load. Therefore, an online data collection system for system call execution paths was constructed based on Ftrace, network file system (NFS), and MD5 hash function, uniquely identifying the system call execution path. The collected data were processed and analysed in this study. Evaluations show that the number of function execution paths of the system calls relevant to file systems increased with the increase in system load but would eventually be stable. Additionally, the function execution paths of the system call varied in different file systems. Based on the evaluations, the results of this work can provide advice for analyzing Linux-based safety-critical systems. In addition, the method introduced in this research can also provide support for the verification of Linux-based safety-critical systems.http://dx.doi.org/10.1080/09540091.2023.2192442linux kernelsystem callpath variabilitynon-determinism |
| spellingShingle | Yucong Chen Xianzhi Tang Shuaixin Xu Fangfang Zhu Qingguo Zhou Tien-Hsiung Weng Analyzing execution path non-determinism of the Linux kernel in different scenarios Connection Science linux kernel system call path variability non-determinism |
| title | Analyzing execution path non-determinism of the Linux kernel in different scenarios |
| title_full | Analyzing execution path non-determinism of the Linux kernel in different scenarios |
| title_fullStr | Analyzing execution path non-determinism of the Linux kernel in different scenarios |
| title_full_unstemmed | Analyzing execution path non-determinism of the Linux kernel in different scenarios |
| title_short | Analyzing execution path non-determinism of the Linux kernel in different scenarios |
| title_sort | analyzing execution path non determinism of the linux kernel in different scenarios |
| topic | linux kernel system call path variability non-determinism |
| url | http://dx.doi.org/10.1080/09540091.2023.2192442 |
| work_keys_str_mv | AT yucongchen analyzingexecutionpathnondeterminismofthelinuxkernelindifferentscenarios AT xianzhitang analyzingexecutionpathnondeterminismofthelinuxkernelindifferentscenarios AT shuaixinxu analyzingexecutionpathnondeterminismofthelinuxkernelindifferentscenarios AT fangfangzhu analyzingexecutionpathnondeterminismofthelinuxkernelindifferentscenarios AT qingguozhou analyzingexecutionpathnondeterminismofthelinuxkernelindifferentscenarios AT tienhsiungweng analyzingexecutionpathnondeterminismofthelinuxkernelindifferentscenarios |