Vacuity is a well-known quality issue in formal specifications, studied mostly in the context of model checking. Inherent vacuity is a type of vacuity that applies to specifications, without the context of a model. GR(1) is an expressive assume-guarantee fragment of LTL, which enables efficient symbolic synthesis.
In this work we investigate inherent vacuity for GR(1) specifications. We define several general types of inherent vacuity for GR(1), including specification element vacuity and domain value vacuity. We detect vacuities using a reduction to LTL satisfiability, specialized for the context of GR(1). We further extend vacuity detection to handle GR(1) specifications that are enriched with past LTL, monitors, and patterns. Finally, we define a novel notion of vacuity core, which provides means to localize the cause of vacuity.
We implemented our work and evaluated it on benchmarks from the literature. The evaluation shows that vacuities are indeed common in GR(1) specifications, and that we are able to efficiently detect them and effectively localize their causes. Moreover, our evaluation shows that removal of vacuous specification elements may significantly reduce synthesis time.
Thu 12 NovDisplayed time zone: (UTC) Coordinated Universal Time change
08:30 - 09:00
|Domain-Independent Interprocedural Program Analysis using Block-Abstraction Memoization|
Research PapersDOI Pre-print Media Attached
|Inherent Vacuity for GR(1) Specifications|
|Interval Counterexamples for Loop Invariant Learning|
|Modular Collaborative Program Analysis in OPAL|
Dominik Helm TU Darmstadt, Germany, Florian Kübler TU Darmstadt, Germany, Michael Reif TU Darmstadt, Germany, Michael Eichberg TU Darmstadt, Germany, Mira Mezini TU Darmstadt, GermanyDOI
|Past-Sensitive Pointer Analysis for Symbolic Execution|
David Trabish Tel Aviv University, Israel, Timotej Kapus Imperial College London, UK, Noam Rinetzky Tel Aviv University, Cristian Cadar Imperial College London, UKDOI Pre-print Media Attached
|Conversations on Analysis 4|