Bugs affecting storage device drivers include the so-called protocol violation bugs, which silently corrupt data and commands exchanged with I/O devices. Protocol violations are very difficult to prevent, since testing device driver is notoriously difficult. To address them, we present a monitoring approach for device drivers (MoIO) to detect HO protocol violations at run-time. The approach infers a model of the interactions between the storage device driver, the OS kernel, and the hardware (the device driver protocol) by analyzing execution traces. The model is then used as a reference for detecting violations in production. The approach has been designed to have a low overhead and to overcome the lack of source code and protocol documentation. We show that the approach is feasible and effective by applying it on the SATA/AHCI storage device driver of the Linux kernel, and by performing fault injection and long-running tests.
MoIO: Run-time monitoring for I/O protocol violations in storage device drivers / Cotroneo, Domenico; DE SIMONE, Luigi; Fucci, Francesco; Natella, Roberto. - (2015), pp. 472-483. (Intervento presentato al convegno Proc. of the 2015 IEEE International Symposium on Software Reliability Engineering tenutosi a Gaithersburg, MD, USA nel Novembre 2015) [10.1109/ISSRE.2015.7381840].
MoIO: Run-time monitoring for I/O protocol violations in storage device drivers
COTRONEO, DOMENICO;DE SIMONE, LUIGI;FUCCI, FRANCESCO;NATELLA, ROBERTO
2015
Abstract
Bugs affecting storage device drivers include the so-called protocol violation bugs, which silently corrupt data and commands exchanged with I/O devices. Protocol violations are very difficult to prevent, since testing device driver is notoriously difficult. To address them, we present a monitoring approach for device drivers (MoIO) to detect HO protocol violations at run-time. The approach infers a model of the interactions between the storage device driver, the OS kernel, and the hardware (the device driver protocol) by analyzing execution traces. The model is then used as a reference for detecting violations in production. The approach has been designed to have a low overhead and to overcome the lack of source code and protocol documentation. We show that the approach is feasible and effective by applying it on the SATA/AHCI storage device driver of the Linux kernel, and by performing fault injection and long-running tests.File | Dimensione | Formato | |
---|---|---|---|
07381840.pdf
solo utenti autorizzati
Tipologia:
Documento in Post-print
Licenza:
Accesso privato/ristretto
Dimensione
211.59 kB
Formato
Adobe PDF
|
211.59 kB | Adobe PDF | Visualizza/Apri Richiedi una copia |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.