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.
Conference DayThu 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 HelmTU Darmstadt, Germany, Florian KüblerTU Darmstadt, Germany, Michael ReifTU Darmstadt, Germany, Michael EichbergTU Darmstadt, Germany, Mira MeziniTU Darmstadt, GermanyDOI
|Past-Sensitive Pointer Analysis for Symbolic Execution|
David TrabishTel Aviv University, Israel, Timotej KapusImperial College London, UK, Noam RinetzkyTel Aviv University, Cristian CadarImperial College London, UKDOI Pre-print Media Attached
|Conversations on Analysis 4|