[论文解读] An Expressive Trace Logic for Recursive Programs
本文提出一种基于二元状态谓词、切分(chop)和最小不动点的表达性轨迹逻辑,用于指定和验证递归命令式程序。该工作建立了程序与轨迹公式的完全组合式语义,证明了组合式证明演算的正确性与相对完备性,并通过最强轨迹公式与标准程序的形式化,建立了程序与公式之间的伽罗瓦连接,揭示了编程构造与逻辑连接词之间的深层对应关系。
We present an expressive logic over trace formulas, based on binary state predicates, chop, and least fixed-points, for precise specification of programs with recursive procedures. Both, programs and trace formulas, are equipped with a direct-style, fully compositional, denotational semantics that on programs coincides with the standard SOS of recursive programs. We design a compositional proof calculus for proving finite-trace program properties, and prove soundness as well as (relative) completeness. We show that each program can be mapped to a semantics-preserving trace formula and, vice versa, each trace formula can be mapped to a canonical program over slightly extended programs, resulting in a Galois connection between programs and formulas. Our results shed light on the correspondence between programming constructs and logical connectives.
研究动机与目标
- 开发一种表达能力与所指定程序相当的轨迹逻辑,以实现递归过程的精确、模块化验证。
- 为程序与轨迹公式提供一种完全组合式的指称语义,使其与标准的小步操作语义相匹配。
- 设计一种用于有限轨迹程序性质的组合式证明演算,确保其正确且相对完备。
- 通过最强轨迹公式与标准程序,形式化程序与轨迹公式之间的伽罗瓦连接,揭示其结构对应关系。
- 通过使用语句变量的符号延续,证明无需显式契约即可实现过程模块化验证。
提出的方法
- 定义一种支持递归过程与非确定性条件的编程语言 Rec,并配备标准的小步操作语义。
- 引入 Rec 的完全组合式指称语义,并证明其与 SOS 语义等价。
- 通过二元状态谓词、切分(concatenation)和最小不动点构造轨迹逻辑,以表达有限程序轨迹的集合。
- 将程序的最强轨迹公式(stf)定义为精确刻画其所有有限轨迹的轨迹公式。
- 设计一种组合式证明演算,用于判断形式 S : ϕ,其推理规则可分解判断,代数规则可转换公式。
- 定义一种标准程序构造方法,将任意轨迹公式映射回扩展语言 Rec∗ 中的程序,通过 stf 与标准程序映射在 Rec∗ 与轨迹公式之间建立伽罗瓦连接。
实验结果
研究问题
- RQ1能否构造一种表达能力与递归命令式程序相当的轨迹逻辑,并具备完全组合式语义?
- RQ2能否设计一种用于有限轨迹程序性质的组合式证明演算,使其既正确又相对完备?
- RQ3如何形式化并证明编程构造与逻辑连接词之间的精确对应关系?
- RQ4能否通过最强轨迹公式与标准程序,建立程序与轨迹公式之间的伽罗瓦连接?
- RQ5在验证框架中不使用显式过程契约的情况下,是否仍可实现模块化、过程级的验证?
主要发现
- Rec 的指称语义被证明与小步操作语义完全等价,确保了组合模型的正确性。
- 任一程序的最强轨迹公式完全保留其语义,即 stf(S) 精确刻画了 S 的所有有限轨迹集合。
- 针对判断 S : ϕ 的证明演算具有正确性与相对完备性,支持通过组合式推理验证有限轨迹性质。
- 在语言 Rec∗ 与轨迹公式集合之间,正式建立了伽罗瓦连接,其中 stf 与标准程序映射构成伴随对。
- 通过使用语句变量的符号延续,无需显式契约即可实现过程模块化验证,从而提出一种新颖的模块化“Call”规则。
- 该框架自然支持复杂的跨过程性质,如调用序列、无回调保证及事件发生等,这些在霍尔逻辑或标准时序逻辑中难以表达。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。