## Abstract

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 φ. For example, the trigger query M |=? → Ferr asks for the set of scenarios after which err aught to eventually happen. Trigger querying thus 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. The general idea is to replace the reasoning about M by reasoning about an abstraction M_{A} of M, and return to the user two languages, L _{l} and L _{u} , that under- and over-approximate L, respectively. We consider predicate abstraction, and the languages L_{l} and L_{u} are defined with respect to the set of predicates. The challenge in defining the approximating languages is that trigger querying does not have a clear polarity, and the definition of L_{l} and L_{u} has to combine the upper- and over-approximations of M. We describe an automata-theoretic approach for refining and reducing L_{u} \ L _{l} . While refinement for model checking is lengthwise, in the sense that it is based on counterexamples, here we suggest both lengthwise and widthwise refinement, where the latter is based on cuts in an automaton for L_{u} \ L_{l} and thus can 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 language | American English |
---|---|

Title of host publication | Static Analysis - 18th International Symposium, SAS 2011, Proceedings |

Pages | 263-279 |

Number of pages | 17 |

DOIs | |

State | Published - 2011 |

Event | 18th International Static Analysis Symposium, SAS 2011 - Venice, Italy Duration: 14 Sep 2010 → 16 Sep 2010 |

### Publication series

Name | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
---|---|

Volume | 6887 LNCS |

ISSN (Print) | 0302-9743 |

ISSN (Electronic) | 1611-3349 |

### Conference

Conference | 18th International Static Analysis Symposium, SAS 2011 |
---|---|

Country/Territory | Italy |

City | Venice |

Period | 14/09/10 → 16/09/10 |