首页> 外文会议>IFIP WG 6.1 International Conference on Testing Software and Systems >Mutation-Based Test Generation for PLC Embedded Software Using Model Checking
【24h】

Mutation-Based Test Generation for PLC Embedded Software Using Model Checking

机译:使用模型检查的PLC嵌入式软件的基于突变的测试生成

获取原文

摘要

Testing is an important activity in engineering of industrial embedded software. In certain application domains (e.g., railway industry) engineering software is certified according to safety standards that require extensive software testing procedures to be applied for the development of reliable systems. Mutation analysis is a technique for creating faulty versions of a software for the purpose of examining the fault detection ability of a test suite. Mutation analysis has been used for evaluating existing test suites, but also for generating test suites that detect injected faults (i.e., mutation testing). To support developers in software testing, we propose a technique for producing test cases using an automated test generation approach that operates using mutation testing for software written in IEC 61131-3 language, a programming standard for safety-critical embedded software, commonly used for Programmable Logic Controllers (PLCs). This approach uses the UPPAAL model checker and is based on a combined model that contains all the mutants and the original program. We applied this approach in a tool for testing industrial PLC programs and evaluated it in terms of cost and fault detection. For realistic validation we collected industrial experimental evidence on how mutation testing compares with manual testing as well as automated decision-coverage adequate test generation. In the evaluation, we used manually seeded faults provided by four industrial engineers. The results show that even if mutation-based test generation achieves better fault detection than automated decision coverage-based test generation, these mutation-adequate test suites are not better at detecting faults than manual test suites. However, the mutation-based test suites are significantly less costly to create, in terms of testing time, than manually created test suites. Our results suggest that the fault detection scores could be improved by considering some new and improved mutation operators (e.g., Feedback Loop Insertion Operator (FIO)) for PLC programs as well as higher-order mutations.
机译:测试是工业嵌入式软件工程中的重要活动。在某些应用领域(例如,铁路行业)工程软件根据安全标准认证,需要应用广泛的软件测试程序来应用可靠系统的开发。突变分析是一种用于创建软件错误版本的技术,以检查测试套件的故障检测能力。突变分析已被用于评估现有的测试套件,而且用于产生检测注射故障的测试套件(即,突变测试)。为了支持软件测试中的开发人员,我们提出了一种使用自动测试生成方法来生产测试用例的技术,该方法使用IEC 61131-3语言编写的软件进行突变测试,这是一种用于安全关键嵌入式软件的编程标准,通常用于可编程逻辑控制器(PLC)。此方法使用UPPAAL模型检查器,并基于包含所有突变体和原始程序的组合模型。我们在用于测试工业PLC程序的工具中应用此方法,并在成本和故障检测方面进行评估。为了现实验证,我们收集了有关突变测试如何与手动测试的比较以及自动决策充分测试生成的实验证据。在评估中,我们使用由四个工业工程师提供的手动种子故障。结果表明,即使基于突变的试验达到基于自动决策覆盖的试验,这些突变 - 足够的测试套件比手动测试套件更好地检测故障。然而,在测试时间方面,基于突变的测试套件比手动创建的测试套件要昂贵。我们的结果表明,通过考虑一些新的和改进的突变运算符(例如,反馈环路插入运算符(FIO))来提高故障检测分数,用于PLC程序以及更高阶突变。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号