Automata Construction for Regular Expressions in Model Checking

Industrial temporal languages like PSL/Sugar and ForSpec have augmented the language with Regular Expressions (REs). An RE specification represents a sequence of Boolean events a model may or may not exhibit. A common way of using REs for specification is in a negative way: a not RE! property describes an undesirable behavior of the model. A not r! formula has the nature that it is sufficient to find one execution path of the model satisfying r in order to conclude the formula does not hold in the model. This nature allows a not r! formula to be modeled by a non-deterministic finite automaton (NFA) Nr, which accepts sequences satisfying r, and which is linear in the size of r. In this paper we discuss the translation of a not RE! into an NFA. While many translation methods exist in the literature ([12, 11]), to the best of our knowledge, the adoption of such a method to model-checking has never been explicitly discussed before. We present our method, which adopts that of Glushkov [11] to better suit model checking needs, and discuss its advantages.

By: Shoham Ben-David, Dana Fisman, Sitvanit Ruah

Published in: H-0229 in 2004

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

H-0229.pdf

Questions about this service can be mailed to reports@us.ibm.com .