首页> 外文期刊>Automated software engineering >Eliminating synchronization faults in air traffic control software via design for verification with concurrency controllers
【24h】

Eliminating synchronization faults in air traffic control software via design for verification with concurrency controllers

机译:通过设计并发控制器进行验证,消除空中交通管制软件中的同步故障

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

摘要

The increasing level of automation in critical infrastructures requires development of effective ways for finding faults in safety critical software components. Synchronization in concurrent components is especially prone to errors and, due to difficulty of exploring all thread interleavings, it is difficult to find synchronization faults. In this paper we present an experimental study demonstrating the effectiveness of model checking techniques in finding synchronization faults in safety critical software when they are combined with a design for verification approach. We based our experiments on an automated air traffic control software component called the Tactical Separation Assisted Flight Environment (TSAFE). We first reengineered TSAFE using the concurrency controller design pattern. The concurrency controller design pattern enables a modular verification strategy by decoupling the behaviors of the concurrency controllers from the behaviors of the threads that use them using interfaces specified as finite state machines. The behavior of a concurrency controller is verified with respect to arbitrary numbers of threads using the infinite state model checking techniques implemented in the Action Language Verifier (ALV). The threads which use the controller classes are checked for interface violations using the finite state model checking techniques implemented in the Java Path Finder (JPF). We present techniques for thread isolation which enables us to analyze each thread in the program separately during interface verification. We conducted two sets of experiments using these verification techniques. First, we created 40 faulty versions of TSAFE using manual fault seeding. During this exercise we also developed a classification of faults that can be found using the presented design for verification approach. Next, we generated another 100 faulty versions of TSAFE using randomly seeded faults that were created automatically based on this fault classification. We used both infinite and finite state verification techniques for finding the seeded faults. The results of our experiments demonstrate the effectiveness of the presented design for verification approach in eliminating synchronization faults.
机译:关键基础架构中自动化水平的提高要求开发有效的方法来发现安全关键软件组件中的故障。并发组件中的同步特别容易出错,并且由于难以探索所有线程交错,因此很难找到同步故障。在本文中,我们进行了一项实验研究,证明了模型检查技术与安全性设计相结合时,在安全关键软件中查找同步故障的有效性。我们的实验基于称为战术分离辅助飞行环境(TSAFE)的自动空中交通管制软件组件。我们首先使用并发控制器设计模式对TSAFE进行了重新设计。并发控制器设计模式通过使用指定为有限状态机的接口将并发控制器的行为与使用它们的线程的行为分离,从而启用了模块化验证策略。使用动作语言验证程序(ALV)中实现的无限状态模型检查技术,针对任意数量的线程验证并发控制器的行为。使用Java路径查找器(JPF)中实现的有限状态模型检查技术,检查使用控制器类的线程是否违反接口。我们介绍了线程隔离的技术,使我们能够在接口验证期间分别分析程序中的每个线程。我们使用这些验证技术进行了两组实验。首先,我们使用手动故障播种创建了40个TSAFE故障版本。在此练习中,我们还开发了故障分类,可以使用提出的验证设计方法来发现故障。接下来,我们使用基于该故障分类自动创建的随机种子故障生成了另外100个TSAFE故障版本。我们同时使用了无限状态验证和无限状态验证技术来查找种子故障。我们的实验结果证明了本设计的验证方法在消除同步故障方面的有效性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号