【24h】

Query-Driven Program Testing

机译:查询驱动程序测试

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

摘要

We present a new approach to program testing which enables the programmer to specify test suites in terms of a versatile query language. Our query language subsumes standard coverage criteria ranging from simple basic block coverage all the way to predicate complete coverage and multiple condition coverage, but also facilitates on-the-fly requests for test suites specific to the code structure, to external requirements, or to ad hoc needs arising in program understanding/exploration. The query language is supported by a model checking backend which employs the CBMC framework. Our main algorithmic contribution is a method called iterative constraint strengthening which enables us to solve a query for an arbitrary coverage criterion by a single call to the model checker and a novel form of incremental SAT solving: Whenever the SAT solver finds a solution, our algorithm compares this solution against the coverage criterion, and strengthens the clause database with additional clauses which exclude redundant new solutions. We demonstrate the scalability of our approach and its ability to compute compact test suites with experiments involving device drivers, automotive controllers, and open source projects.
机译:我们提出了一种新的程序测试方法,该方法使程序员能够根据通用查询语言指定测试套件。我们的查询语言包含标准的覆盖范围标准,从简单的基本块覆盖范围一直到断言完整的覆盖范围和多种条件的覆盖范围,还方便了针对代码结构,外部需求或广告的测试套件的即时请求。在程序理解/探索中产生的特殊需求。使用CBMC框架的模型检查后端支持查询语言。我们的主要算法贡献是一种称为迭代约束加强的方法,该方法使我们能够通过单次调用模型检查器和新颖形式的SAT求解来解决对任意覆盖范围准则的查询:每当SAT求解器找到解决方案时,我们的算法将这个解决方案与覆盖标准进行比较,并使用排除多余新解决方案的其他条款来增强条款数据库。我们通过涉及设备驱动程序,汽车控制器和开源项目的实验,演示了我们方法的可扩展性及其计算紧凑测试套件的能力。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号