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...

Full description

Saved in:
Bibliographic Details
Main Authors: Yucong Chen, Xianzhi Tang, Shuaixin Xu, Fangfang Zhu, Qingguo Zhou, Tien-Hsiung Weng
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