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.
2015
978-1-5090-0406-5
978-1-5090-0406-5
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].
File in questo prodotto:
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.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11588/630984
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 7
  • ???jsp.display-item.citation.isi??? 5
social impact