...
首页> 外文期刊>Journal of Automated Reasoning >Using Bounded Model Checking for Coverage Analysis of Safety-Critical Software in an Industrial Setting
【24h】

Using Bounded Model Checking for Coverage Analysis of Safety-Critical Software in an Industrial Setting

机译:在工业环境中使用边界模型检查进行安全关键软件的覆盖率分析

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

摘要

Testing and Bounded Model Checking (BMC) are two techniques used in Software Verification for bug-hunting. They are expression of two different philosophies: testing is used on the compiled code and it is more suited to find errors in common behaviors, while BMC is used on the source code to find errors in uncommon behaviors of the system. Nowadays, testing is by far the most used technique for software verification in industry: it is easy to use and even when no error is found, it can release a set of tests certifying the (partial) correctness of the compiled system. In the case of safety critical software, in order to increase the confidence of the correctness of the compiled system, it is often required that the provided set of tests covers 100% of the code. This requirement, however, substantially increases the costs associated to the testing phase, since it often involves the manual generation of tests. In this paper we show how BMC can be productively applied to the Software Verification process in industry. In particular, we show how to productively use a Bounded Model Checker for C programs (CBMC) as an automatic test generator for the Coverage Analysis of Safety Critical Software.rnIn particular, we experimented CBMC on a subset of the modules of the European Train Control System (ETCS) of the European Rail Traffic Management System (ERTMS) source code, an industrial system for the control of the traffic railway, provided by Ansaldo STS. The Code of the ERTMS/ETCS, with thousands of lines, has been used as trial application with CBMC obtaining a set of tests satisfying the target 100% code coverage, requested by the CENELEC EN50128 guidelines for software development of safety critical systems. The use of CBMC for test generation led to a dramatic increase in the productivity of the entire Software Development process by substantially reducing the costs of the testing phase. To the best of our knowledge, this is the first time that BMC techniques have been used in an industrial setting for automatically generating tests achieving full coverage of Safety-Critical Software. The positive results demonstrate the maturity of Bounded Model Checking techniques for automatic test generation in industry.
机译:测试和边界模型检查(BMC)是软件验证中用于错误查找的两种技术。它们是两种不同哲学的表达:测试用于编译后的代码,它更适合于发现常见行为中的错误,而BMC用于源代码中来查找系统中罕见行为中的错误。如今,测试是迄今为止业界最常用的软件验证技术:它易于使用,即使没有发现错误,它也可以发布一组测试,以证明已编译系统的(部分)正确性。对于安全性至关重要的软件,为了增加对已编译系统正确性的置信度,通常需要提供的一组测试覆盖100%的代码。但是,此要求大大增加了与测试阶段相关的成本,因为它通常涉及手动生成测试。在本文中,我们展示了BMC如何有效地应用于工业中的软件验证过程。特别是,我们展示了如何有效地使用C程序的边界模型检查器(CBMC)作为安全关键软件覆盖率分析的自动测试生成器。特别是,我们在欧洲列车控制模块的子集上进行了CBMC实验欧洲铁路交通管理系统(ERTMS)源代码的系统(ETCS),由Ansaldo STS提供,用于控制交通铁路的工业系统。包含数千行的ERTMS / ETCS的代码已作为CBMC的试用应用程序使用,并获得了CENELEC EN50128准则要求的安全关键系统软件开发要求的一组满足目标100%代码覆盖率的测试。通过显着降低测试阶段的成本,将CBMC用于测试生成可显着提高整个软件开发过程的生产率。据我们所知,这是BMC技术首次在工业环境中用于自动生成测试,以实现对安全关键软件的全面覆盖。积极的结果证明了用于工业自动测试生成的边界模型检查技术已经成熟。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号