当前位置: X-MOL 学术Appl. Sci. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
An Abstraction Technique for Verifying Shared-Memory Concurrency
Applied Sciences ( IF 2.5 ) Pub Date : 2020-06-05 , DOI: 10.3390/app10113928
Wytse Oortwijn , Dilian Gurov , Marieke Huisman

Modern concurrent and distributed software is highly complex. Techniques to reason about the correct behaviour of such software are essential to ensure its reliability. To be able to reason about realistic programs, these techniques must be modular and compositional as well as practical by being supported by automated tools. However, many existing approaches for concurrency verification are theoretical and focus primarily on expressivity and generality. This paper contributes a technique for verifying behavioural properties of concurrent and distributed programs that balances expressivity and usability. The key idea of the approach is that program behaviour is abstractly modelled using process algebra, and analysed separately. The main difficulty is presented by the typical abstraction gap between program implementations and their models. Our approach bridges this gap by providing a deductive technique for formally linking programs with their process-algebraic models. Our verification technique is modular and compositional, is proven sound with Coq, and has been implemented in the automated concurrency verifier VerCors. Moreover, our technique is demonstrated on multiple case studies, including the verification of a leader election protocol.

中文翻译:

一种验证共享内存并发性的抽象技术

现代并发和分布式软件非常复杂。推断此类软件正确行为的技术对于确保其可靠性至关重要。为了能够对现实程序进行推理,这些技术必须是模块化的、组合式的,并且在自动化工具的支持下是实用的。然而,许多现有的并发验证方法都是理论性的,主要关注表达性和通用性。本文提供了一种验证并发和分布式程序的行为属性的技术,该技术在表达性和可用性之间取得了平衡。该方法的关键思想是使用进程代数对程序行为进行抽象建模,并分别进行分析。主要困难在于程序实现与其模型之间的典型抽象差距。我们的方法通过提供一种演绎技术来将程序与其过程代数模型正式联系起来,从而弥合了这一差距。我们的验证技术是模块化和组合式的,在 Coq 中被证明是可靠的,并且已在自动并发验证器 VerCors 中实现。此外,我们的技术在多个案例研究中得到了证明,包括领导者选举协议的验证。
更新日期:2020-06-05
down
wechat
bug