Deciding Separation Logic with Pointer Arithmetic and Inductive Definitions
Stats
Pointer arithmetic is widely used in low-level programs.
The satisfiability problem for SLAH is NP-complete.
The entailment problem for SLAH is coNP-complete.
CompSPEN+ can efficiently solve the satisfiability and entailment problems for SLAH.
Quotes
"Pointer arithmetic inside inductive definitions is challenging for automated reasoning."
"We propose decision procedures for a fragment of separation logic called SLAH."
"The experimental results show that CompSPEN+ is able to solve the satisfiability and entailment problems for SLAH efficiently."
CompSPEN+は、SLAH(Separation Logic with Pointer Arithmetic and Inductive Definitions)の満足性と導出性問題を解決するために特別に拡張されたCompSPENソルバーです。このソルバーは、SLAH論理式をPresburger算術などの等価な数学的表現に変換し、それらの数学的表現をSMTソルバー(例:Z3)で処理することで問題を解決します。具体的には、SLAH論理式が与えられると、まずその論理式を適切な数学的形式に変換し、「要約」や「抽象化」といった手法を使用して計算可能な形に落とし込みます。その後、SMTソルバーがこれらの計算可能な形式から満足性や導出性を検証し、結果を返すことで問題が解決されます。