TY - GEN
T1 - Pre-testing flash device driver through model checking techniques
AU - Kim, Moonzoo
AU - Kim, Yunho
AU - Choi, Yunja
AU - Kim, Hotae
PY - 2008
Y1 - 2008
N2 - Flash memory has become virtually indispensable in most mobile devices, such as mobile phones, digital cameras, mp3 players, etc. In order for mobile devices to successfully provide services, 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. As a complementary approach to improve the reliability of embedded software, model checking provides a complete analysis of a target model but the size of the target software is limited due to the state explosion problem. In this project, we have verified the correctness of a multi-sector read operation of Samsung OneNAND™ flash device driver by using both model checking and testing. We started the verification task with the model checkers NuSMV and Spin for an exhaustive analysis of a small size flash as a pre-testing step. We then set up a testbed based on a formal model used for model checking and performed testing on a large size flash. Through these verification tasks, we could successfully verify the correctness of the multi-sector read operation with both complete exploration of model checking and scalability of testing.
AB - Flash memory has become virtually indispensable in most mobile devices, such as mobile phones, digital cameras, mp3 players, etc. In order for mobile devices to successfully provide services, 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. As a complementary approach to improve the reliability of embedded software, model checking provides a complete analysis of a target model but the size of the target software is limited due to the state explosion problem. In this project, we have verified the correctness of a multi-sector read operation of Samsung OneNAND™ flash device driver by using both model checking and testing. We started the verification task with the model checkers NuSMV and Spin for an exhaustive analysis of a small size flash as a pre-testing step. We then set up a testbed based on a formal model used for model checking and performed testing on a large size flash. Through these verification tasks, we could successfully verify the correctness of the multi-sector read operation with both complete exploration of model checking and scalability of testing.
UR - http://www.scopus.com/inward/record.url?scp=50649090942&partnerID=8YFLogxK
U2 - 10.1109/ICST.2008.55
DO - 10.1109/ICST.2008.55
M3 - Conference contribution
AN - SCOPUS:50649090942
SN - 076953127X
SN - 9780769531274
T3 - Proceedings of the 1st International Conference on Software Testing, Verification and Validation, ICST 2008
SP - 475
EP - 484
BT - Proceedings of the 1st International Conference on Software Testing, Verification and Validation, ICST 2008
T2 - 1st International Conference on Software Testing, Verification and Validation, ICST 2008
Y2 - 9 April 2008 through 11 April 2008
ER -