arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 0907.2072cs.SE
收藏

基于SMT的嵌入式ANSI-C软件有界模型检验

SMT-Based Bounded Model Checking for Embedded ANSI-C Software

Lucas Cordeiro, Bernd Fischer, Joao Marques-Silva

摘要:

命题有界模型检验已成功地应用于嵌入式软件的验证,但受到命题公式大小增加和翻译过程中结构丢失的限制。这些限制可以通过在比命题逻辑更丰富的理论中编码字级信息并使用SMT求解器来生成验证条件来减少。在这里,我们调查不同的SMT求解器的应用程序的验证嵌入式软件编写的ANSI-C。我们扩展了以前基于SMT的有界模型检查器的编码,为有限变量、位向量操作、数组、结构、联合和指针提供更准确的支持。我们将CVC 3、Boolector和Z3求解器与CBMC前端集成,并使用标准软件模型检验基准和电信、控制系统和医疗设备的典型嵌入式应用对其进行评估。实验表明,我们的方法可以分析较大的问题,并大大减少验证时间。

英文摘要:

Propositional bounded model checking has been applied successfully to verify embedded software but is limited by the increasing propositional formula size and the loss of structure during the translation. These limitations can be reduced by encoding word-level information in theories richer than propositional logic and using SMT solvers for the generated verification conditions. Here, we investigate the application of different SMT solvers to the verification of embedded software written in ANSI-C. We have extended the encodings from previous SMT-based bounded model checkers to provide more accurate support for finite variables, bit-vector operations, arrays, structures, unions and pointers. We have integrated the CVC3, Boolector, and Z3 solvers with the CBMC front-end and evaluated them using both standard software model checking benchmarks and typical embedded applications from telecommunications, control systems and medical devices. The experiments show that our approach can analyze larger problems and substantially reduce the verification time.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑