We introduce and study trigger querying. Given a model M and a temporal behavior \vartheta, trigger querying is the problem of finding the set of scenarios that trigger \vartheta in M. That is, if a computation of M has a prefix that follows the scenario, then its suffix satisfies \vartheta. Trigger querying enables one to find, for example, given a program with a function f, the scenarios that lead to calling f with some parameter value, or to find, given a hardware design with signal err, the scenarios after which the signal err ought to be eventually raised. We formalize trigger querying using the temporal operator \mapsto (triggers), which is the most useful operator in modern industrial specification languages. A regular expression r triggers an LTL formula \vartheta in a system M, denoted M {\text{M | = r }} \mapsto \vartheta, if for every computation \pi of M and index i \geqslant 0, if the prefix of \pi up to position i is a word in the language of r, then the suffix of \pi from position i satisfies \vartheta. The solution to the trigger query {\text{M | = ?}} \mapsto \vartheta is the maximal regular expression that triggers \vartheta in M. Trigger querying is useful for studying systems, and it significantly extends the practicality of traditional query checking [6]. Indeed, in traditional query checking, solutions are restricted to propositional assertions about states of the systems, whereas in our setting the solutions are temporal scenarios. We show that the solution to a trigger query {\text{M | = ?}} \mapsto \vartheta is regular, and can be computed in polynomial space. Unfortunately, the polynomial-space complexity is in the size of M. Consequently, we also study partial trigger querying, which returns a (non empty) subset of the solution, and is more feasible. Other extensions we study are observable trigger querying, where the partial solution has to refer only to a subset of the atomic propositions, constrained trigger querying, where in addition to M and \vartheta, the user provides a regular constraint c and the solution is the set of scenarios respecting c that trigger \vartheta in M, and relevant trigger querying, which excludes vacuous triggers - scenarios that are not induced by a prefix of a computation of M. Trigger querying can be viewed as the problem of finding sufficient conditions for a behavior \vartheta in M. We also consider the dual problem, of finding necessary conditions to \vartheta, and show that it can be solved in space complexity that is only logarithmic in M.
[1]
William Chan.
Temporal-logic queries
,
2000
.
[2]
Fahiem Bacchus,et al.
Planning for temporally extended goals
,
1996,
Annals of Mathematics and Artificial Intelligence.
[3]
Albert R. Meyer,et al.
The Equivalence Problem for Regular Expressions with Squaring Requires Exponential Space
,
1972,
SWAT.
[4]
Thomas A. Henzinger,et al.
Predictive Modeling of Signaling Crosstalk during C. elegans Vulval Development
,
2007,
PLoS Comput. Biol..
[5]
David Harel,et al.
Computational Insights into C. elegans Vulval Development
,
2005
.
[6]
Marsha Chechik,et al.
TLQSolver: A Temporal Logic Query Checker
,
2003,
CAV.
[7]
Srikanth Vijayaraghavan,et al.
A Practical Guide for SystemVerilog Assertions
,
2005
.
[8]
Dana Fisman,et al.
The Temporal Logic Sugar
,
2001,
CAV.
[9]
Avner Landver,et al.
The ForSpec Temporal Logic: A New Temporal Property-Specification Language
,
2002,
TACAS.
[10]
Santhosh Kumaran,et al.
From business process model to consistent implementation: a case for formal verification methods
,
2002,
Proceedings. Sixth International Enterprise Distributed Object Computing.
[11]
Patrice Godefroid,et al.
Temporal logic query checking
,
2001,
Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.
[12]
Dana Fisman,et al.
A Practical Introduction to PSL
,
2006,
Series on Integrated Circuits and Systems.
[13]
John E. Hopcroft,et al.
The Directed Subgraph Homeomorphism Problem
,
1978,
Theor. Comput. Sci..
[14]
A. Prasad Sistla,et al.
The complexity of propositional linear temporal logics
,
1982,
STOC '82.
[15]
Orna Grumberg,et al.
Regular Vacuity
,
2005,
CHARME.
[16]
Helmut Veith,et al.
Validity of CTL Queries Revisited
,
2003,
CSL.
[17]
Marsha Chechik,et al.
Finding State Solutions to Temporal Logic Queries
,
2007,
IFM.