Testing of Linux File System Drivers
The paper investigates issues of Linux file system driver testing. Linux file system drivers are implemented as kernel modules, which works in the same address space as kernel core. For that reason, the driver should be very reliable. It should react adequately to incorrect file system images, to fa...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
Ivannikov Institute for System Programming of the Russian Academy of Sciences
2018-10-01
|
Series: | Труды Института системного программирования РАН |
Subjects: | |
Online Access: | https://ispranproceedings.elpub.ru/jour/article/view/993 |
_version_ | 1811276257799700480 |
---|---|
author | A. V. Tsyvarev V. A. Martirosyan |
author_facet | A. V. Tsyvarev V. A. Martirosyan |
author_sort | A. V. Tsyvarev |
collection | DOAJ |
description | The paper investigates issues of Linux file system driver testing. Linux file system drivers are implemented as kernel modules, which works in the same address space as kernel core. For that reason, the driver should be very reliable. It should react adequately to incorrect file system images, to faults in operating system, etc. Also drivers should free all resources it requests as far as kernel have to work for long time without restart. Another important feature of file system drivers is that they are programs with multiple entry points, which may be executed simultaneously in respect with each other and with other kernel code.Most of existing test systems verify only driver's behavior in normal situations by calling system calls, which are eventually dispatched by the kernel into the driver's functions. Some of them also check driver in concurrent scenarios but only at very basic level. Some test systems also verify driver's behavior under faulty environment, when request for memory allocation or disk read/write may fail. But fault scenarios used in those systems are probabilistic, which leads to problems with tests' reproducibility and requires to repeat tests many times to achieve better coverage. There is one test system, which checks for memory leaks in the driver under test.The paper concludes by statement of requirements for more throughout file system driver testing. According to the requirements a test system have to cover the following aspects:Normal scenarios on system calls level.Parallel scenarios with additional checks for data races.Fault scenarios with insufficient memory and faulty block devices using such techniques as fault injection.Handling of incorrect file system images.Driver testing on system calls with invalid arguments.Check leaks of memory and other resources requested by driver under test. |
first_indexed | 2024-04-12T23:54:20Z |
format | Article |
id | doaj.art-16563da4dbb34339be1f1ae257c15b7c |
institution | Directory Open Access Journal |
issn | 2079-8156 2220-6426 |
language | English |
last_indexed | 2024-04-12T23:54:20Z |
publishDate | 2018-10-01 |
publisher | Ivannikov Institute for System Programming of the Russian Academy of Sciences |
record_format | Article |
series | Труды Института системного программирования РАН |
spelling | doaj.art-16563da4dbb34339be1f1ae257c15b7c2022-12-22T03:11:35ZengIvannikov Institute for System Programming of the Russian Academy of SciencesТруды Института системного программирования РАН2079-81562220-64262018-10-0123010.15514/ISPRAS-2012-23-24993Testing of Linux File System DriversA. V. Tsyvarev0V. A. Martirosyan1ИСП РАНИСП РАНThe paper investigates issues of Linux file system driver testing. Linux file system drivers are implemented as kernel modules, which works in the same address space as kernel core. For that reason, the driver should be very reliable. It should react adequately to incorrect file system images, to faults in operating system, etc. Also drivers should free all resources it requests as far as kernel have to work for long time without restart. Another important feature of file system drivers is that they are programs with multiple entry points, which may be executed simultaneously in respect with each other and with other kernel code.Most of existing test systems verify only driver's behavior in normal situations by calling system calls, which are eventually dispatched by the kernel into the driver's functions. Some of them also check driver in concurrent scenarios but only at very basic level. Some test systems also verify driver's behavior under faulty environment, when request for memory allocation or disk read/write may fail. But fault scenarios used in those systems are probabilistic, which leads to problems with tests' reproducibility and requires to repeat tests many times to achieve better coverage. There is one test system, which checks for memory leaks in the driver under test.The paper concludes by statement of requirements for more throughout file system driver testing. According to the requirements a test system have to cover the following aspects:Normal scenarios on system calls level.Parallel scenarios with additional checks for data races.Fault scenarios with insufficient memory and faulty block devices using such techniques as fault injection.Handling of incorrect file system images.Driver testing on system calls with invalid arguments.Check leaks of memory and other resources requested by driver under test.https://ispranproceedings.elpub.ru/jour/article/view/993linuxфайловые системыдрайвермодуль ядра ос linuxтестирование |
spellingShingle | A. V. Tsyvarev V. A. Martirosyan Testing of Linux File System Drivers Труды Института системного программирования РАН linux файловые системы драйвер модуль ядра ос linux тестирование |
title | Testing of Linux File System Drivers |
title_full | Testing of Linux File System Drivers |
title_fullStr | Testing of Linux File System Drivers |
title_full_unstemmed | Testing of Linux File System Drivers |
title_short | Testing of Linux File System Drivers |
title_sort | testing of linux file system drivers |
topic | linux файловые системы драйвер модуль ядра ос linux тестирование |
url | https://ispranproceedings.elpub.ru/jour/article/view/993 |
work_keys_str_mv | AT avtsyvarev testingoflinuxfilesystemdrivers AT vamartirosyan testingoflinuxfilesystemdrivers |