A Comparative Study of Software Model Checkers as Unit Testing Tools: An Industrial Case Study

Cited 22 time in webofscience Cited 32 time in scopus
  • Hit : 449
  • Download : 884
Conventional testing methods often fail to detect hidden flaws in complex embedded software such as device drivers or file systems. This deficiency incurs significant development and support/maintenance cost for the manufacturers. Model checking techniques have been proposed to compensate for the weaknesses of conventional testing methods through exhaustive analyses. Whereas conventional model checkers require manual effort to create an abstract target model, modern software model checkers remove this overhead by directly analyzing a target C program, and can be utilized as unit testing tools. However, since software model checkers are not fully mature yet, they have limitations according to the underlying technologies and tool implementations, potentially critical issues when applied in industrial projects. This paper reports our experience in applying Blast and CBMC to testing the components of a storage platform software for flash memory. Through this project, we analyzed the strong and weak points of two different software model checking technologies in the viewpoint of real-world industrial application-counterexample-guided abstraction refinement with predicate abstraction and SAT-based bounded analysis.
Publisher
IEEE COMPUTER SOC
Issue Date
2011
Language
English
Article Type
Article
Citation

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, v.37, no.2, pp.146 - 160

ISSN
0098-5589
DOI
10.1109/TSE.2010.68
URI
http://hdl.handle.net/10203/21662
Appears in Collection
CS-Journal Papers(저널논문)
Files in This Item
This item is cited by other documents in WoS
⊙ Detail Information in WoSⓡ Click to see webofscience_button
⊙ Cited 22 items in WoS Click to see citing articles in records_button

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0