当前位置: X-MOL 学术arXiv.cs.FL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Efficient Interaction-Based Offline Runtime Verification of Distributed Systems with Lifeline Removal
arXiv - CS - Formal Languages and Automata Theory Pub Date : 2024-03-05 , DOI: arxiv-2403.03057
Erwan Mahe, Boutheina Bannour, Christophe Gaston, Pascale Le Gall

Runtime Verification (RV) refers to a family of techniques in which system executions are observed and confronted to formal specifications, with the aim of identifying faults. In Offline RV, observation is done in a first step and verification in a second, on a static artifact collected during observation. In this paper, we define an approach to offline RV of Distributed Systems (DS) against interactions. Interactions are formal models describing communications within a DS. DS are composed of subsystems deployed on different machines and interacting via message passing. Therefore, observing executions of a DS entails logging a collection of local execution traces, one for each subsystem, that we call a multi-trace. A major challenge in analyzing multi-traces is that there are no practical means to synchronize the ends of observations of all local traces. We address this via an operation, called lifeline removal, which we apply on-the-fly on the specification during verification once a local trace has been entirely analyzed. This operation removes from the interaction the specification of actions occurring on the subsystem that is no-longer observed. This may allow further execution of the specification via removing deadlocks due to the partial orders of actions. We prove the correctness of the resulting RV algorithm and introduce two optimization techniques which we also prove correct. We implement a Partial Order Reduction (POR) technique via the selection of a one-unambiguous action (as a unique first step to a linearization) which existence is determined via another use of the lifeline removal operator. Additionally, Local Analyses (LOC) i.e., the verification of local traces, can be leveraged during the global multi-trace analysis to prove failure more quickly. Experiments illustrate the application of our RV approach and the benefits of our optimizations.

中文翻译:

具有生命线移除功能的分布式系统的高效基于交互的离线运行时验证

运行时验证(RV)是指观察系统执行并符合正式规范的一系列技术,目的是识别错误。在离线 RV 中,第一步是观察,第二步是对观察期间收集的静态工件进行验证。在本文中,我们定义了一种针对交互的分布式系统(DS)离线 RV 的方法。交互是描述 DS 内通信的正式模型。DS 由部署在不同机器上并通过消息传递进行交互的子系统组成。因此,观察 DS 的执行需要记录一组本地执行跟踪,每个子系统一个,我们称之为多跟踪。分析多轨迹的一个主要挑战是没有实用的方法来同步所有局部轨迹的观察末端。我们通过称为生命线移除的操作来解决这个问题,一旦本地跟踪被完全分析,我们就会在验证过程中即时应用该操作。此操作从交互中删除不再观察到的子系统上发生的操作规范。这可以允许通过消除由于部分动作顺序而导致的死锁来进一步执行规范。我们证明了所得 RV 算法的正确性,并引入了两种优化技术,我们也证明了它们是正确的。我们通过选择一个明确的动作(作为线性化的唯一第一步)来实现偏阶约简(POR)技术,该技术的存在是通过生命线移除运算符的另一种使用来确定的。此外,可以在全局多迹线分析过程中利用局部分析 (LOC),即局部迹线验证,以更快地证明故障。实验说明了我们的 RV 方法的应用以及我们优化的好处。
更新日期:2024-03-07
down
wechat
bug