首页> 外文OA文献 >A constraint solver for software engineering : finding models and cores of large relational specifications
【2h】

A constraint solver for software engineering : finding models and cores of large relational specifications

机译:软件工程的约束求解器:查找大关系规范的模型和核心

摘要

Relational logic is an attractive candidate for a software description language, because both the design and implementation of software often involve reasoning about relational structures: organizational hierarchies in the problem domain, architectural configurations in the high level design, or graphs and linked lists in low level code. Until recently, however, frameworks for solving relational constraints have had limited applicability. Designed to analyze small, hand-crafted models of software systems, current frameworks perform poorly on specifications that are large or that have partially known solutions. This thesis presents an efficient constraint solver for relational logic, with recent applications to design analysis, code checking, test-case generation, and declarative configuration. The solver provides analyses for both satisfiable and unsatisfiable specifications--a finite model finder for the former and a minimal unsatisfiable core extractor for the latter. It works by translating a relational problem to a boolean satisfiability problem; applying an off-the-shelf SAT solver to the resulting formula; and converting the SAT solver's output back to the relational domain. The idea of solving relational problems by reduction to SAT is not new. The core contributions of this work, instead, are new techniques for expanding the capacity and applicability of SAT-based engines. They include: a new interface to SAT that extends relational logic with a mechanism for specifying partial solutions; a new translation algorithm based on sparse matrices and auto-compacting circuits; a new symmetry detection technique that works in the presence of partial solutions; and a new core extraction algorithm that recycles inferences made at the boolean level to speed up core minimization at the specification level.
机译:关系逻辑是软件描述语言的一个有吸引力的候选者,因为软件的设计和实现通常都涉及到有关关系结构的推理:问题域中的组织层次结构,高层设计中的体系结构配置或底层的图形和链接列表码。然而,直到最近,用于解决关系约束的框架的适用性仍然有限。设计用于分析软件系统的小型手工模型时,当前的框架在较大的规格或具有部分已知解决方案的规格上性能较差。本文提出了一种有效的关系逻辑约束求解器,并将其应用于设计分析,代码检查,测试用例生成和声明性配置。该求解器提供可满足和不可满足规格的分析-前者使用有限模型查找器,后者使用最小无法满足的岩心提取器。它通过将关系问题转换为布尔可满足性问题来工作;将现成的SAT解算器应用于所得公式;并将SAT求解器的输出转换回关系域。通过简化为SAT解决关系问题的想法并不新鲜。相反,这项工作的核心贡献是用于扩展基于SAT的引擎的能力和适用性的新技术。它们包括:SAT的新接口,它通过指定局部解的机制扩展了关系逻辑;一种基于稀疏矩阵和自动压缩电路的新翻译算法;一种新的对称检测技术,可在存在部分解的情况下工作;以及一种新的核心提取算法,该算法可回收在布尔级别进行的推断,以加快规范级别的核心最小化。

著录项

  • 作者

    Torlak Emina 1979-;

  • 作者单位
  • 年度 2009
  • 总页数
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号