首页> 外文期刊>Przeglad Elektrotechniczny >A Framework to Automatic Deadlock Detection in Concurrent Programs
【24h】

A Framework to Automatic Deadlock Detection in Concurrent Programs

机译:并发程序中自动死锁检测的框架

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

摘要

W oprogramowaniu charakteryzującym się zgodnością różne części mogą pracować niezależnie lub wspólnie. Największym problemem w tego typu programach jest stan zakleszczenia (deadlock). Dlatego ważne jest stworzenie mechanizmu automatycznego wykrywania takiej sytuacji. W artykule opisano metodę Bogor, w tym także BIR - język wejściowy do Bogor.%Nowadays, concurrency is one of the most common features of software systems. In such systems, different parts of the system either are working together or separately. In these cases, deadlock is a common defect. In many systems -especially safety critical ones- deadlock is a serious problem. Hence, it is very important to find them before deploying the system. Since model checking is an accurate mechanism to automatically verify software and hardware systems, using this technique is a proper solution to automatic deadlock detection. In this paper, we present an approach to automatic deadlock detection using Bogor - a well known model checker. To do so, at first, we determine global variables, shared resources and in general, all parts that may cause a deadlock. Then, we translate them to BIR - the input language of the Bogor. Bogor generates the transition system and shows that if there is any deadlock in the program. In the cases in which Bogor finds a deadlock, it shows a counter example to help programmers to fix the problem. To illustrate all the main concepts of the approach, we use different concurrent Java programs as case studies.
机译:在兼容的软件中,不同的部分可以独立工作或一起工作。这些程序类型中最大的问题是死锁。因此,重要的是创建一种机制来自动检测这种情况。本文介绍了Bogor方法,包括BIR-Bogor的输入语言。%如今,并发是软件系统最常见的功能之一。在这样的系统中,系统的不同部分可以一起工作或单独工作。在这些情况下,死锁是常见的缺陷。在许多系统(尤其是对安全性至关重要的系统)中,死锁是一个严重的问题。因此,在部署系统之前找到它们非常重要。由于模型检查是自动验证软件和硬件系统的准确机制,因此使用此技术是自动死锁检测的正确解决方案。在本文中,我们提出了一种使用Bogor(一种著名的模型检查器)进行自动死锁检测的方法。为此,首先,我们确定全局变量,共享资源,以及一般而言,可能导致死锁的所有部分。然后,我们将它们翻译为BIR-茂物的输入语言。茂物会生成过渡系统,并显示程序中是否存在死锁。在茂物发现死锁的情况下,它显示了一个反例来帮助程序员解决此问题。为了说明该方法的所有主要概念,我们使用不同的并发Java程序作为案例研究。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号