一句话:为 FOL* 不可满足性结果定义证明格式与规则,并给出证明校验与基于证明的诊断方法,用以解释不可满足的成因。
基于可满足性的自动推理被广泛用于验证复杂软件(含安全关键系统),从需求分析到设计一致性都依赖它,但其后端约束求解器复杂且难免出错,威胁应用的可靠性,因此需要验证求解器给出的(不)可满足性结果并解释其成因。本文针对带关系对象的一阶逻辑 FOL*——该逻辑已被证明适合对时间与数据敏感的早期系统设计进行推理——开展可满足性分析。作者受 SAT/SMT 求解器 UNSAT 证明的启发,定义了证明格式与证明规则,将求解器的推理步骤记录为通向 UNSAT 的推导序列;进而提出算法验证 FOL* 证明的正确性、过滤不必要的推导,并给出基于证明的诊断以解释不可满足的成因。作者在最新的 FOL* 可满足性检查器之上实现了该证明支持以生成 UNSAT 证明,并通过将基于证明的诊断用于解释软件系统规范需求良构性问题的成因来验证该方法的有效性。
Satisfiability-based automated reasoning is an approach that is being successfully used in software engineering to validate complex software, including for safety-critical systems. Such reasoning underlies many validation activities, from requirements analysis to design consistency to test coverage. While generally effective, the back-end constraint solvers are often complex and inevitably error-prone, which threatens the soundness of their application. Thus, such solvers need to be validated, which includes checking correctness and explaining (un)satisfiability results returned by them. In this work, we consider satisfiability analysis based on First-Order Logic with relational objects (FOL*) which has been shown to be effective for reasoning about time-and data-sensitive early system designs. We tackle the challenge of validating the correctness of FOL* unsatisfiability results and deriving diagnoses to explain the causes of the unsatisfiability. Inspired by the concept of proofs of UNSAT from SAT/SMT solvers, we define a proof format and proof rules to track the solvers’ reasoning steps as sequences of derivations towards UNSAT. We also propose an algorithm to verify the correctness of FOL* proofs while filtering unnecessary derivations and develop a proof-based diagnosis to explain the cause of unsatisfiability. We implemented the proposed proof support on top of the state-of-the-art FOL* satisfiability checker to generate proofs of UNSAT and validated our approach by applying the proof-based diagnoses to explain the causes of well-formedness issues of normative requirements of software systems.