首页> 外文会议>Software engineering and formal methods >Memory Management Test-Case Generation of C Programs Using Bounded Model Checking
【24h】

Memory Management Test-Case Generation of C Programs Using Bounded Model Checking

机译:使用有界模型检查的C程序的内存管理测试用例生成

获取原文
获取原文并翻译 | 示例

摘要

We describe a novel method to automatically generate and verify memory management test cases for unit tests, which are based on assertions extracted from safety properties typically generated by bounded model checking (BMC) tools. In particular, the proposed method checks for properties related to pointer safety, memory leaks, and invalid deallocation. To investigate our method's effectiveness, we developed a tool called Map2Check that adopts the ESBMC model checker and the CUnit testing framework. Additionally, Map2Check provides an integration of BMC tools with unit testing frameworks, which helps developers not very familiar with formal methods to verify large C programs. We use Map2Check to perform an empirical evaluation over publicly available benchmarks and compare the results to recognized tools, e.g., Valgrind's Memcheck, CBMC, LLBMC, CPAChecker, Predator, and ESBMC. Experimental results show that our proposed method detects at least as many memory management defects as existing tools; and it does not report any false positive and negative. We compared Map2Check with tools on the Competition on Software Verification 2014 (SVCOMP), in the Mem-orySafety category. Map2Check would have the same score than the 1st place and it would win the 2st place when ranking the evaluated tools on memory consumption.
机译:我们描述了一种自动生成和验证单元测试的内存管理测试用例的新颖方法,该方法基于从安全属性中提取的断言,这些断言通常是由边界模型检查(BMC)工具生成的。特别是,提出的方法检查与指针安全性,内存泄漏和无效释放有关的属性。为了研究我们方法的有效性,我们开发了一个名为Map2Check的工具,该工具采用了ESBMC模型检查器和CUnit测试框架。此外,Map2Check还提供了BMC工具与单元测试框架的集成,这有助于开发人员不太熟悉用于验证大型C程序的正式方法。我们使用Map2Check对公开基准进行实证评估,并将结果与​​公认的工具进行比较,例如Valgrind的Memcheck,CBMC,LLBMC,CPAChecker,Predator和ESBMC。实验结果表明,我们提出的方法至少可以检测到与现有工具一样多的内存管理缺陷。并且不会报告任何错误的肯定和否定。我们将“ Map2Check”与“ 2014年软件验证竞赛”(SVCOMP)中“内存安全”类别的工具进行了比较。 Map2Check的得分将与第一名相同,并且在评估内存消耗量评估工具时将获得第二名。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号