Formal Verification of a Flash Memory Device Driver --- An Experience Report

  • Authors:
  • Moonzoo Kim;Yunja Choi;Yunho Kim;Hotae Kim

  • Affiliations:
  • CS Dept., KAIST, Daejeon, South Korea;School of EECS, Kyungpook National University, Daegu, South Korea;CS Dept., KAIST, Daejeon, South Korea;Samsung Electronics, , Suwon, South Korea

  • Venue:
  • SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Flash memory has become virtually indispensable in most mobile devices. In order for mobile devices to operate successfully, it is essential that flash memory be controlled correctly through the device driver software. However, as is typical for embedded software, conventional testing methods often fail to detect hidden flaws in the complex device driver software. This deficiency incurs significant development and operation overhead to the manufacturers.In order to compensate for the weaknesses of conventional testing, we have applied NuSMV, Spin, and CBMC to verify the correctness of a multi-sector read operation of the Samsung OneNANDTMflash device driver and studied their relative strengths and weaknesses empirically. Through this project, we verified the correctness of the multi-sector read operation on a small scale. The results demonstrate the feasibility of using model checking techniques to verify the control algorithm of a device driver in an industrial setting.