Cuv\'ee is a program verification tool that reads SMT-LIB-like input files where terms may additionally contain weakest precondition operators over abstract programs. Cuv\'ee translates such inputs into first-order SMT-LIB by symbolically executing these programs. The input format used by Cuv\'ee is intended to achieve a similar unification of tools for that for example synthesize loop summaries. A notable technical aspect of Cuv\'ee itself is the consequent use of loop pre-/postconditions instead of invariants, and we demonstrate how this lowers the annotation burden on some simple while programs.
翻译:CUV\ee 是一个程序核查工具, 读取 SMT- LIB 类似输入文件, 其术语可能另外包含对抽象程序而言最弱的先决条件操作者。 CUV\ ee 通过象征性地执行这些程序将这种输入转换为第一级 SMT- LIB 。 CUV\ ee 所使用的输入格式意在实现类似工具的统一, 例如合成循环摘要。 CUV\ ee 本身的一个显著的技术方面是随后使用循环预设/ 附后条件, 而不是不易变数, 我们演示这如何降低一些简单程序时的批注负担 。