arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2011.10351cs.SEcs.ARcs.SYeess.SY
收藏

大规模模型检验的经验:车辆控制系统的验证

Experiences from Large-Scale Model Checking: Verification of a Vehicle Control System

Jonas Fritzsch, Tobias Schmid, Stefan Wagner

摘要:

在自动驾驶汽车的时代,嵌入式系统的功能和复杂性正在急剧增加。安全方面变得更加重要,并且要求这样的系统以最高可能水平的容错来操作。模拟和系统测试技术在这方面已经达到了极限。在这里,形式化验证作为一种长期建立的技术可以是一种适当的补充。然而,必要的准备工作,如充分建模系统和指定属性的时态逻辑是微不足道的。在本文中,我们报告我们的经验,应用模型检验,以验证仲裁逻辑的车辆控制系统。我们权衡了不同模型检验技术和工具的利弊,并对我们选择的符号模型检验器NuSMV的原因。我们描述的过程中建模的架构,导致约1500个,69个状态变量和38个LTL约束。为了处理这种大规模的模型,我们自动化和优化的模型检验过程中使用的多核CPU和采用有界模型检验,以避免状态爆炸问题。我们分享我们的经验教训,并为架构师,开发人员和测试工程师提供有价值的见解。

英文摘要:

In the age of autonomously driving vehicles, functionality and complexity of embedded systems are increasing tremendously. Safety aspects become more important and require such systems to operate with the highest possible level of fault tolerance. Simulation and systematic testing techniques have reached their limits in this regard. Here, formal verification as a long established technique can be an appropriate complement. However, the necessary preparatory work like adequately modeling a system and specifying properties in temporal logic are anything but trivial. In this paper, we report on our experiences applying model checking to verify the arbitration logic of a Vehicle Control System. We balance pros and cons of different model checking techniques and tools, and reason about our choice of the symbolic model checker NuSMV. We describe the process of modeling the architecture, resulting in ~1500 LOC, 69 state variables and 38 LTL constraints. To handle this large-scale model, we automate and optimize the model checking procedure for use on multi-core CPUs and employ Bounded Model Checking to avoid the state explosion problem. We share our lessons learned and provide valuable insights for architects, developers, and test engineers involved in this highly present topic.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑