Legal properties involve reasoning about data values and time. Metric first-order temporal logic (MFOTL) provides a rich formalism for specifying legal properties. While MFOTL has been successfully used for verifying legal properties over operational systems via runtime monitoring, no solution exists for MFOTL-based verification in early-stage system development captured by requirements. Given a legal property and system requirements, both formalized in MFOTL, the compliance of the property can be verified on the requirements via satisfiability checking. In this paper, we propose a practical, sound, and complete (within a given bound) satisfiability checking approach for MFOTL. The approach, based on satisfiability modulo theories (SMT), employs a counterexample-guided strategy to incrementally search for a satisfying solution. We implemented our approach using the Z3 SMT solver and evaluated it on five case studies spanning the healthcare, business administration, banking and aviation domains. Our results indicate that our approach can efficiently determine whether legal properties of interest are met, or generate counterexamples that lead to compliance violations.
翻译:法律属性涉及对数据值和时间的推理。度量一阶时序逻辑(MFOTL)为形式化指定法律属性提供了丰富的框架。尽管MFOTL已通过运行时监控成功用于验证操作系统的法律属性,但在需求捕获的早期系统开发阶段,尚不存在基于MFOTL的验证解决方案。给定一个法律属性和系统需求(两者均以MFOTL形式化),可通过可满足性检查在需求上验证该属性是否合规。本文提出一种实用、可靠且完备(在给定有界范围内)的MFOTL可满足性检查方法。该方法基于可满足性模理论(SMT),采用反例引导策略逐步搜索满足解。我们使用Z3 SMT求解器实现该方法,并在涵盖医疗、企业管理、银行和航空领域的五个案例研究上进行了评估。实验结果表明,我们的方法能高效判定相关法律属性是否得到满足,或生成导致违规的反例。