An abstraction-refinement framework for trigger querying

Guy Avni*, Orna Kupferman

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

2 Scopus citations


Trigger querying is the problem of finding, given a system M and an LTL formula φ, the set of scenarios that trigger φ in M; that is, the language L of finite computations of M such that all infinite computations that have a prefix in L continue with a suffix that satisfies φ. Trigger querying significantly extends query checking, which seeks propositional solutions, and is an extremely useful methodology for system exploration and understanding. The weakness of trigger querying lies in the fact that the size of the solution is linear in the size of the system. For trigger querying to become feasible in practice, we must offer solutions to cope with systems of big, and possibly infinite, state spaces. In this paper we describe an abstraction-refinement framework for trigger querying. Instead of reasoning about the system M, we reason about an abstraction of it and return to the user two languages that under- and over-approximate the language L of computations that trigger φ in M. We describe an automata-theoretic approach for refining and reducing the gap between the approximations and show how, unlike classical counterexample-based refinement approaches, here it is possible to symbolically handle batches of counterexamples. We show that our framework is robust and can be applied also for classical query checking as well as variants and extensions of trigger querying.

Original languageAmerican English
Pages (from-to)149-175
Number of pages27
JournalFormal Methods in System Design
Issue number2
StatePublished - Apr 2014


  • Abstraction
  • Design exploration
  • Formal verification
  • Refinement
  • Trigger querying


Dive into the research topics of 'An abstraction-refinement framework for trigger querying'. Together they form a unique fingerprint.

Cite this