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

验证问题编码分解的挑战

Challenges in Decomposing Encodings of Verification Problems

Peter Schrammel

摘要:

现代程序验证器使用基于逻辑的编码的验证问题,由后端推理引擎放电。然而,大型程序的这种编码的实例可能很快淹没这些后端求解器。因此,我们需要一些技术来使求解过程扩展到大型系统,例如分区(分治)和抽象。在最近的工作中,我们展示了如何分解终止分析的公式编码可以显着提高效率。该分析生成具有存在量化谓词的逻辑公式的序列,这些谓词由基于综合的程序分析引擎求解。然而,分解引入了除了在公式中查找未知谓词所需的抽象之外的抽象,因此可能会降低精度。我们讨论了与这种分解及其相互依赖的解决过程中的挑战。

英文摘要:

Modern program verifiers use logic-based encodings of the verification problem that are discharged by a back end reasoning engine. However, instances of such encodings for large programs can quickly overwhelm these back end solvers. Hence, we need techniques to make the solving process scale to large systems, such as partitioning (divide-and-conquer) and abstraction. In recent work, we showed how decomposing the formula encoding of a termination analysis can significantly increase efficiency. The analysis generates a sequence of logical formulas with existentially quantified predicates that are solved by a synthesis-based program analysis engine. However, decomposition introduces abstractions in addition to those required for finding the unknown predicates in the formula, and can hence deteriorate precision. We discuss the challenges associated with such decompositions and their interdependencies with the solving process.

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

↑