FLAIJun 14, 2022

Specification sketching for Linear Temporal Logic

arXiv:2206.06722v15 citationsh-index: 23
Originality Highly original
AI Analysis

This addresses the problem of making formal verification more accessible for engineers by reducing the burden of writing fully correct specifications, though it is incremental in automating part of the process.

The paper tackles the difficulty of formalizing system requirements by introducing specification sketching for Linear Temporal Logic (LTL), where engineers provide partial formulas and algorithms complete them based on examples, showing it falls into NP complexity and demonstrating practicality with a prototype.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes