一句话:提出对实时嵌入式系统模型进行自动化单元 Concolic 测试的方法,并在 Papyrus-RT 中实现。
现代信息物理系统模型的测试面临时序约束、可能无限的行为以及组件间复杂通信等困难,而现有自动测试方法多仅支持实现层,模型层工具要么将模型视为黑盒(如随机测试),要么在生成复杂测试序列上受限(如符号执行)。本文提出一种面向实时嵌入式系统模型自动单元测试的新方法与工具支持,采用基于具体执行与符号执行相结合的 Concolic 测试。该方法分两阶段:第一阶段将模型与环境隔离,转换为可测试模型并集成测试桩;第二阶段由测试桩对模型进行 Concolic 测试并报告执行结果。作者在基于 UML-RT 的开源模型驱动工程工具 Papyrus-RT 中实现了该方法,并通过在一组标准基准模型上的应用验证了其有效性。
Testing models of modern cyber-physical systems is not straightforward due to timing constraints, numerous if not infinite possible behaviors, and complex communications between components. Software testing tools and approaches that can generate test cases to test these systems are therefore important. Many of the existing automatic approaches support testing at the implementation level only. The existing model-level testing tools either treat the model as a black box (e.g., random testing approaches) or have limitations when it comes to generating complex test sequences (e.g., symbolic execution). This paper presents a novel approach and tool support for automatic unit testing of models of real-time embedded systems by conducting concolic testing, a hybrid testing technique based on concrete and symbolic execution. Our technique conducts automatic concolic testing in two phases. In the first phase, model is isolated from its environment, is transformed to a testable model and is integrated with a test harness. In the second phase, the harness tests the model concolically and reports the test execution results. We describe an implementation of our approach in the context of Papyrus-RT, an open source Model Driven Engineering (MDE) tool based on the modeling language UML-RT, and report the results of applying our concolic testing approach to a set of standard benchmark models to validate our approach.
DOI 原文 ·
@inproceedings{paperbot5053,
title = {Concolic testing for models of state-based systems},
author = {Reza Ahmadi and Juergen Dingel},
booktitle = {FSE},
year = {2019},
doi = {10.1145/3338906.3338908}
}