We propose a conceptual integration of deductive program verification into existing user interfaces for software debugging. This integration is well-represented in the "Debug Adapter Protocol", a widely-used and generic technology to integrate debugging of programs into development environments. Commands like step-forward and step-in are backed by steps of a symbolic structural operational semantics, and the different paths through a program are readily represented by multiple running threads of the debug target inside the user interface. Thus, existing IDEs can be leveraged for deductive verification debugging with relatively little effort. We have implemented this scheme for SecC, an auto-active program verifier for C, and discuss its integration into Visual Studio Code.
翻译:我们提议将扣减程序核查纳入软件调试的现有用户界面的概念整合。 这种整合在“调试器调试程序协议”中得到了充分体现,这是一种广泛使用的一般性技术,用于将调试程序纳入开发环境。 一步步前和一步入的指令得到象征性结构操作语义步骤的支持,而一个程序的不同路径很容易被用户界面内调试目标的多重运行线所代表。 因此,现有的 IDE 可以通过相对较少的精力被调试进行调试。 我们已经实施了SecC(C的自动激活程序验证程序)计划,并讨论了将其纳入视觉工作室代码的问题。