Model Exploration with Model-Checking

Project members:

Marsha Chechik, Arie Gurfinkel. Lots of input from Benet Devereux.

Description:

Model-checking typically assumes that correctness properties are given. Also, the ability of the analyst to fix the model, given a negative run of the model-checker, depends on his/her ability to understand the counter-example and navigate to the potentially incorrect part of the model. In this project, we develop tools and techniques to remedy such problems.

The first of these approaches is query-checking. A query is a temporal logic formula containing a special symbol ?, known as a placeholder. Given a Kripke structure and a propositional formula p, we say that p satisfies the query if replacing the placeholder by p results in a temporal logic formula satisfied by the Kripke structure. A solution to a temporal logic query on a Kripke structure is the set of all propositional formulas that satisfy the query. Thus, query-checking helps discover temporal properties that hold in the system.

Query-checking is also useful for a variety of software engineering applications, such as guided simulation, testcase generation. Some of these applications have been describe in our TSE'03 paper. We are currently interested in exploring further applications of this work. See future work for some of the projects.

to hold, and as such considered to be the most useful form of output from model-checkers. Reported explanations are typically short and described in terms of states and transitions of the model; as a result, they can be effectively used for debugging. However, counter-examples are not available for every CTL property and are often inadequate for explaining exactly what the answer means. Proof-like counter-examples, an approach we recently developed, allows us to produce a proof why the property holds. This proof can then be converted into counter-examples or witnesses, for the ease of visualization. Further, it facilitates understanding and navigation through the counter-example. We are currently working on several extensions of this work (see below).
 
 

Most relevant publications

Tools:

There are two tools: TLQSolver, a temporal logic query checker built on top of our multi-valued symbolic model-checker XChek, and KEGVis -- Counter-Example Visualizer. To obtain a copy of either tool, send an email to xchek@cs.utoronto.ca.

Future work:


 
 
 
 
 
 
  Last updated: Sept. 3, 2003