当前位置: X-MOL 学术Form. Methods Syst. Des. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Automating regression verification of pointer programs by predicate abstraction
Formal Methods in System Design ( IF 0.7 ) Pub Date : 2017-08-31 , DOI: 10.1007/s10703-017-0293-8
Vladimir Klebanov , Philipp Rümmer , Mattias Ulbrich

Regression verification is an approach complementing regression testing with formal verification. The goal is to formally prove that two versions of a program behave either equally or differently in a precisely specified way. In this paper, we present a novel automated approach for regression verification that reduces the equivalence of two related imperative pointer programs to constrained Horn clauses over uninterpreted predicates. Subsequently, state-of-the-art SMT solvers are used to solve the clauses. We have implemented the approach, and our experiments show that non-trivial programs with integer and pointer arithmetic can now be proved equivalent without further user input.

中文翻译:

通过谓词抽象自动进行指针程序的回归验证

回归验证是一种用形式验证补充回归测试的方法。目标是正式证明程序的两个版本以精确指定的方式表现相同或不同。在本文中,我们提出了一种新的回归验证自动化方法,该方法将两个相关的命令式指针程序的等价性降低到约束性 Horn 子句在未解释谓词上的等价性。随后,使用最先进的 SMT 求解器来求解子句。我们已经实现了这种方法,我们的实验表明,现在可以证明具有整数和指针算法的非平凡程序是等效的,而无需进一步的用户输入。
更新日期:2017-08-31
down
wechat
bug