当前位置: 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.)
Direct Construction of Program Alignment Automata for Equivalence Checking
arXiv - CS - Formal Languages and Automata Theory Pub Date : 2021-09-04 , DOI: arxiv-2109.01864
Manish Goyal, Muqsit Azeem, Kumar Madhukar, R. Venkatesh

The problem of checking whether two programs are semantically equivalent or not has a diverse range of applications, and is consequently of substantial importance. There are several techniques that address this problem, chiefly by constructing a product program that makes it easier to derive useful invariants. A novel addition to these is a technique that uses alignment predicates to align traces of the two programs, in order to construct a program alignment automaton. Being guided by predicates is not just beneficial in dealing with syntactic dissimilarities, but also in staying relevant to the property. However, there are also drawbacks of a trace-based technique. Obtaining traces that cover all program behaviors is difficult, and any under-approximation may lead to an incomplete product program. Moreover, an indirect construction of this kind is unaware of the missing behaviors, and has no control over the aforesaid incompleteness. This paper, addressing these concerns, presents an algorithm to construct the program alignment automaton directly instead of relying on traces.

中文翻译:

直接构建用于等价检查的程序对齐自动机

检查两个程序在语义上是否等价的问题有多种应用,因此具有重要意义。有几种技术可以解决这个问题,主要是通过构建一个产品程序来更容易地推导出有用的不变量。一个新的补充是使用对齐谓词来对齐两个程序的轨迹的技术,以构建程序对齐自动机。由谓词引导不仅有利于处理句法差异,而且有利于保持与属性的相关性。然而,基于跟踪的技术也存在缺陷。获得涵盖所有程序行为的跟踪是困难的,任何欠近似都可能导致产品程序不完整。而且,这种间接构造不知道缺失的行为,也无法控制上述不完整性。针对这些问题,本文提出了一种算法来直接构建程序对齐自动机,而不是依赖于跟踪。
更新日期:2021-09-07
down
wechat
bug