arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1607.01993cs.LOcs.DScs.PLmath.LO
收藏

阵列分离逻辑中的双溯及相关问题

Biabduction (and Related Problems) in Array Separation Logic

James Brotherston, Nikos Gorogiannis, Max Kanovich

摘要:

我们研究数组分离逻辑(ASL),符号堆分离逻辑的变体,其中数据结构是指针或数组,即,分配的内存的连续块。这种逻辑为命令式数组程序的组合内存安全性证明提供了一种语言。我们专注于这个逻辑,这已被确立为在工业规模的自动规范推理的关键的双外展问题。我们提出了一个NP决策过程中产生的解决方案的合理质量的ASL,双绑架,我们还表明,找到一个一致的解决方案的问题是NP-困难的。一路上,我们研究可满足性和蕴涵在我们的逻辑,决策程序和复杂性界的两个问题。我们证明了可满足性是NP完全的,并且蕴含着高复杂度的可判定性。有点令人惊讶的事实,即双绑架是比蕴涵简单得多的解释的事实,因为我们表明,双绑架解决方案的选择元素,使我们能够大大减少搜索空间。

英文摘要:

We investigate array separation logic (ASL), a variant of symbolic-heap separation logic in which the data structures are either pointers or arrays, i.e., contiguous blocks of allocated memory. This logic provides a language for compositional memory safety proofs of imperative array programs. We focus on the biabduction problem for this logic, which has been established as the key to automatic specification inference at the industrial scale. We present an NP decision procedure for biabduction in ASL that produces solutions of reasonable quality, and we also show that the problem of finding a consistent solution is NP-hard. Along the way, we study satisfiability and entailment in our logic, giving decision procedures and complexity bounds for both problems. We show satisfiability to be NP-complete, and entailment to be decidable with high complexity. The somewhat surprising fact that biabduction is much simpler than entailment is explained by the fact that, as we show, the element of choice over biabduction solutions enables us to dramatically reduce the search space.

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

↑