论文标题

线性时间逻辑的规格草图

Specification sketching for Linear Temporal Logic

论文作者

Lutz, Simon, Neider, Daniel, Roy, Rajarshi

论文摘要

实际上,所有验证和合成技术都假定正式规格很容易获得,在功能上正确,并且完全匹配工程师对给定系统的理解。但是,在实践中,这种假设通常是不现实的:众所周知,正式化系统要求很困难,容易出错,并且需要大量的培训。为了减轻这一严重的障碍,我们提出了一种从根本上新颖的编写形式规格的方法,该方法命名为线性时间逻辑(LTL)的规范草图。关键的想法是,工程师可以提供部分LTL公式,称为LTL草图,在这里很难正式化的零件被排除在外。给定一组描述规范应该或不允许的系统行为的示例,然后是所谓的草图算法的任务是完成给定的草图,以使所得的LTL公式与示例一致。我们表明,决定是否可以完成草图属于复杂性NP,并提出了两个基于SAT的草图算法。我们还证明,素描是使用原型实现编写形式规格的实用方法。

Virtually all verification and synthesis techniques assume that the formal specifications are readily available, functionally correct, and fully match the engineer's understanding of the given system. However, this assumption is often unrealistic in practice: formalizing system requirements is notoriously difficult, error-prone, and requires substantial training. To alleviate this severe hurdle, we propose a fundamentally novel approach to writing formal specifications, named specification sketching for Linear Temporal Logic (LTL). The key idea is that an engineer can provide a partial LTL formula, called an LTL sketch, where parts that are hard to formalize can be left out. Given a set of examples describing system behaviors that the specification should or should not allow, the task of a so-called sketching algorithm is then to complete a given sketch such that the resulting LTL formula is consistent with the examples. We show that deciding whether a sketch can be completed falls into the complexity class NP and present two SAT-based sketching algorithms. We also demonstrate that sketching is a practical approach to writing formal specifications using a prototype implementation.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源