论文标题
带有答案效应修改的时间验证
Temporal Verification with Answer-Effect Modification
论文作者
论文摘要
类型和效应系统是一种广泛使用的程序验证方法,验证使用类型的计算结果以及使用效果的行为。本文扩展了一个效应系统,用于验证程序序列上的时间序列的时间序列,该属性是由程序验证给定界控制运算符Shift0/reset0的。尽管这些界定的控制操作员启用了有用且功能强大的编程技术,但由于它们的能力暂停,恢复,丢弃和重复的划界延续,它们阻碍了对程序行为的推理。该问题对时间属性的影响更为严重,因为这些系统必须能够识别捕获的连续性产生的事件序列。我们在划界控制操作员存在下实现有效推理的主要观察结果是,它们的使用修改了答案效应,这是连续性的时间效应。基于此观察结果,我们扩展了一个用于时间验证的效果系统,以适应答案效应的修改。允许回答效应修改可以轻松地推理捕获连续性产生的迹线。我们效应系统的另一个新颖特征是支持相关型连续性,这使我们能够更精确地对程序进行推论。我们通过类型安全和使用逻辑关系来证明有限事件序列的效果系统的声音。
Type-and-effect systems are a widely-used approach to program verification, verifying the result of a computation using types, and the behavior using effects. This paper extends an effect system for verifying temporal, value-dependent properties on event sequences yielded by programs to the delimited control operators shift0/reset0. While these delimited control operators enable useful and powerful programming techniques, they hinder reasoning about the behavior of programs because of their ability to suspend, resume, discard, and duplicate delimited continuations. This problem is more serious in effect systems for temporal properties because these systems must be capable of identifying what event sequences are yielded by captured continuations. Our key observation for achieving effective reasoning in the presence of the delimited control operators is that their use modifies answer effects, which are temporal effects of the continuations. Based on this observation, we extend an effect system for temporal verification to accommodate answer-effect modification. Allowing answer-effect modification enables easily reasoning about traces that captured continuations yield. Another novel feature of our effect system is the support for dependently-typed continuations, which allows us to reason about programs more precisely. We prove soundness of the effect system for finite event sequences via type safety and that for infinite event sequences using a logical relation.