Most automated verifiers for separation logic target the symbolic-heap fragment, disallowing both the magic-wand operator and the application of classical Boolean operators to spatial formulas. This is not surprising, as support for the magic wand quickly leads to undecidability, especially when combined with inductive predicates for reasoning about data structures. To circumvent these undecidability results, we propose to assign a more restrictive semantics to the separating conjunction. We argue that the resulting logic, strong-separation logic, can be used for compositional program verification and bi-abductive static analysis just like "standard" separation logic, while remaining decidable even in the presence of both the magic wand and the list-segment predicate -- a combination of features that leads to undecidability assuming the standard semantics.
翻译:分离逻辑的大多数自动核查器都针对象征性的堆积碎片,不允许古典布林操作员对空间公式进行神奇的操作员和应用。 这并不奇怪,因为对魔杖的支持很快导致不可降解性,特别是当与数据结构推理的感性前提相结合时。 为了绕过这些不可降解的结果,我们提议为分离的组合指定一个更具限制性的语义。 我们争论说,由此产生的逻辑、强分逻辑可以用于组成程序核查和双吸附静态分析,就像“标准”分离逻辑一样,而即使在有魔杖和列表分类前提的情况下,也仍然可以分化。