一句话:提出面向异步数据端口组件的 LTL 重写方法,将局部性质转为全局性质以支持组合式验证。
该论文研究通过数据端口交互的异步软件组件的组合式验证问题。由于组件并发交错并交换输入输出,且局部性质可能约束其他组件的输入,其组合比事件式组合更复杂。作者提出一种 LTL 重写方法,把局部性质转换为全局性质,同时考虑组件在无限迹和有限迹(截断语义)上的交错执行;并证明重写公式投影到局部符号后与原局部性质语义等价。该方法还针对公式规模进行优化,并在性质具有 stutter 不变性时保持公式不变。其实现集成于 OCRA 合约精化验证套件,并通过多类规格进行了实验比较。
The verification of asynchronous software components poses significant challenges due to the way components interleave and exchange input/output data concurrently. Compositional strategies aim to address this by separating the task of verifying individual components on local properties from the task of combining them to achieve global properties. This paper concentrates on employing symbolic model checking techniques to verify properties specified in Linear-time Temporal Logic (LTL) on asynchronous software components that interact through data ports. Unlike event-based composition, local properties can now impose constraints on input from other components, increasing the complexity of their composition. We consider both the standard semantics over infinite traces as well as the truncated semantics over finite traces to allow scheduling components only finitely many times. We propose a novel LTL rewriting approach, which converts a local property into a global one while considering the interleaving of infinite or finite execution traces of components. We prove the semantic equivalence of local properties and their rewritten version projected on the local symbols. The rewriting is also optimized to reduce formula size and to leave it unchanged when the temporal property is stutter invariant. These methods have been integrated into the OCRA tool, as part of the contract refinement verification suite. Finally, the different composition approaches were compared through an experimental evaluation that covers various types of specifications.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@article{abs-2312-14831,
title = {Asynchronous Composition of LTL Properties over Infinite and Finite Traces},
author = {Alberto Bombardelli and Stefano Tonetta},
journal = {Logical Methods in Computer Science},
volume = {Volume 22, Issue 1},
year = {2026},
doi = {10.46298/lmcs-22(1:11)2026}
}