arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1209.5152cs.LOcs.PL
收藏

一种跨程序变换关联时态属性的逻辑

A Logic for Correlating Temporal Properties across Program Transformations

Aditya Kanade, Amitabha Sanyal, Uday P. Khedker

摘要:

程序转换广泛应用于软件的综合、优化和维护。程序转换的正确性依赖于输入程序的一些重要性质的保持。通过把程序看作Kripke结构,程序的许多有趣的性质可以用时序逻辑来表达。在时序逻辑中,公式在单个程序上解释。然而,为了证明变换的正确性,我们会遇到包含一些子公式的公式,这些子公式在输入程序上解释,而在变换后的程序上解释。出现这种情况的一个例子是验证编译器应用的优化程序转换。在本文中,我们提出了一个逻辑称为时间转换逻辑(TTL)的原因,这样的公式。我们考虑不同类型的原始转换,并提出TTL推理规则。我们的程序转换和时序逻辑运算符的定义是新颖的,在他们使用的布尔矩阵代数。这导致了简洁和建设性的规范。此外,我们使用布尔矩阵代数在一个统一的方式来证明可靠的TTL推理规则。

英文摘要:

Program transformations are widely used in synthesis, optimization, and maintenance of software. Correctness of program transformations depends on preservation of some important properties of the input program. By regarding programs as Kripke structures, many interesting properties of programs can be expressed in temporal logics. In temporal logic, a formula is interpreted on a single program. However, to prove correctness of transformations, we encounter formulae which contain some subformulae interpreted on the input program and some on the transformed program. An example where such a situation arises is verification of optimizing program transformations applied by compilers. In this paper, we present a logic called Temporal Transformation Logic (TTL) to reason about such formulae. We consider different types of primitive transformations and present TTL inference rules for them. Our definitions of program transformations and temporal logic operators are novel in their use of the boolean matrix algebra. This results in specifications that are succinct and constructive. Further, we use the boolean matrix algebra in a uniform manner to prove soundness of the TTL inference rules.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑