Diagnosis via Proofs of Unsatisfiability for First-Order Logic with Relational Objects

Nick Feng, Lina Marsso, Marsha Chechik
{"title":"Diagnosis via Proofs of Unsatisfiability for First-Order Logic with Relational Objects","authors":"Nick Feng, Lina Marsso, Marsha Chechik","doi":"arxiv-2409.09223","DOIUrl":null,"url":null,"abstract":"Satisfiability-based automated reasoning is an approach that is being\nsuccessfully used in software engineering to validate complex software,\nincluding for safety-critical systems. Such reasoning underlies many validation\nactivities, from requirements analysis to design consistency to test coverage.\nWhile generally effective, the back-end constraint solvers are often complex\nand inevitably error-prone, which threatens the soundness of their application.\nThus, such solvers need to be validated, which includes checking correctness\nand explaining (un)satisfiability results returned by them. In this work, we\nconsider satisfiability analysis based on First-Order Logic with relational\nobjects (FOL*) which has been shown to be effective for reasoning about time-\nand data-sensitive early system designs. We tackle the challenge of validating\nthe correctness of FOL* unsatisfiability results and deriving diagnoses to\nexplain the causes of the unsatisfiability. Inspired by the concept of proofs\nof UNSAT from SAT/SMT solvers, we define a proof format and proof rules to\ntrack the solvers' reasoning steps as sequences of derivations towards UNSAT.\nWe also propose an algorithm to verify the correctness of FOL* proofs while\nfiltering unnecessary derivations and develop a proof-based diagnosis to\nexplain the cause of unsatisfiability. We implemented the proposed proof\nsupport on top of the state-of-the-art FOL* satisfiability checker to generate\nproofs of UNSAT and validated our approach by applying the proof-based\ndiagnoses to explain the causes of well-formedness issues of normative\nrequirements of software systems.","PeriodicalId":501278,"journal":{"name":"arXiv - CS - Software Engineering","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2024-09-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.09223","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
通过关系对象一阶逻辑的不可满足性证明进行诊断
基于可满足性的自动推理是一种在软件工程中被成功用于验证复杂软件(包括安全关键型系统)的方法。这种推理是许多验证活动的基础,从需求分析到设计一致性,再到测试覆盖范围。虽然总体上是有效的,但后端约束求解器往往很复杂,而且不可避免地容易出错,这威胁到其应用的合理性。因此,需要对这类求解器进行验证,包括检查其正确性并解释其返回的(不)可满足性结果。在这项工作中,我们考虑了基于关系对象的一阶逻辑(FOL*)的可满足性分析,该方法已被证明对推理时间和数据敏感的早期系统设计非常有效。我们面临的挑战是验证 FOL* 不可满足性结果的正确性,并得出诊断结果以解释不可满足性的原因。受 SAT/SMT 求解器的 UNSAT 证明概念的启发,我们定义了一种证明格式和证明规则,以跟踪求解器的推理步骤,将其作为实现 UNSAT 的推导序列。我们还提出了一种算法,用于验证 FOL* 证明的正确性,同时过滤不必要的推导,并开发了一种基于证明的诊断方法来解释不可满足性的原因。我们在最先进的FOL*可满足性检查器的基础上实现了所提出的证明支持,生成了UNSAT的证明,并通过应用基于证明的诊断来解释软件系统规范要求的良好形成性问题的原因,从而验证了我们的方法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Promise and Peril of Collaborative Code Generation Models: Balancing Effectiveness and Memorization Shannon Entropy is better Feature than Category and Sentiment in User Feedback Processing Motivations, Challenges, Best Practices, and Benefits for Bots and Conversational Agents in Software Engineering: A Multivocal Literature Review A Taxonomy of Self-Admitted Technical Debt in Deep Learning Systems Investigating team maturity in an agile automotive reorganization
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1