[PDF] Practical Stutter-Invariance Checks for ?-Regular Languages





Previous PDF Next PDF



Using GNU Autotools

16 thg 5 2010 http://www.lrde.epita.fr/~adl/autotools.html ... configure probes the systems for required functions



Reactive Synthesis from LTL Specification with Spot

tmichaud@lrde.epita.fr colange@lrde.epita.fr. We present ltlsynt





The Tiger Compiler Project

months for the brave ones) with the constant needs to fix errors found in earlier stages. 1 http://www.epita.fr/. 2 http://tiger.lrde.epita.fr/.



A Morphological Method for Music Score Staff Removal

EPITA Research and Development Laboratory (LRDE) France our C++ image processing library “Milena” ? http://olena.lrde.epita.fr.



Morphology on color images

14 thg 1 2009 mum and infimum operators



DoX – Doc only eXtended

3 AUCTEX support for new documentation items. 5. 4 Conclusion. 6. 5 History. 6. *DoX homepage: http://www.lrde.epita.fr/˜didier/software/latex.php#dox.



A Static C++ Object-Oriented Programming (SCOOP) Paradigm

firstname.lastname@lrde.epita.fr describes this paradigm namely a proposal for “Static C++ Object- ... http://www.cs.technion.ac.il/~yogi/Courses/.





Why and How to Design a Generic and Efficient Image Processing

EPITA Research and Development Laboratory (LRDE) France 1roland.levillain

Practical Stutter-Invariance Checks

for!-Regular Languages

Thibaud Michaud and Alexandre Duret-Lutz

LRDE, EPITA, Le Kremlin-Bic

ˆetre, France

fmichaun,adlg@lrde.epita.fr Abstract.An!-regular language is stutter-invariant if it is closed by the opera- tion that duplicates some letter in a word or that removes some duplicate letter. Model checkers can use powerful reduction techniques when the specification is stutter-invariant. We propose several automata-based constructions that check whether a specifi- cation is stutter-invariant. These constructions assume that a specification and its negation can be translated into B ¨uchi automata, but aside from that, they are inde- pendent of the specification formalism. These transformations were inspired by a construction due to Holzmann and Kupferman, but that we broke down into two operations that can have dierent realizations, and that can be combined in dif- ferent ways. As it turns out, implementing only one of these operations is needed to obtain a functional stutter-invariant check. Finally we have implemented these techniques in a tool so that users can easily check whether an LTL or PSL formula is stutter-invariant.

1 Introduction

The notion of stutter-invariance (to be defined formally later) stems from model check- ers implementing partial-order reduction techniques (e.g., [6, Ch. 10] or [4, Ch. 8]). If a model checker knows that the property to verify is stutter-invariant, it is sucient to check that property only on a selected subset of the executions of the model, often achieving a great speedup. Such partial-order reductions are implemented by explicit model checkers such as Spin [18, Ch. 9], LTSmin [21], or DiVinE [5], to cite a few. Detecting stutter-invariant properties has also usages beyond partial-order reductions; for instance it is used to optimize the determinization construction implemented in the toolltl2dstar[20]. To activate these optimizations, tools must decide if a property is stutter-invariant. The range of available options for this check depends on how the property is specified. Linear-time Temporal Logic (LTL) is a common specification formalism for verifi- cation tools. It is widely known that any LTL formula that does not use the next-step operatorX(a.k.a. an LTLnXformula) is stutter-invariant; this check is trivial to imple- ment. Unfortunately there exist formulas usingXthat are stutter-invariant (for instance 'F(a^X(:a^b))") and whose usage is desirable [23]. Dallien and MacCaull [8] built a tool that recognizes a stuttering LTL formula if (and only if) it matches one of the patterns of P aun and Chechik [23]. This syntactical approach is ecient, but incomplete, as not all stutter-invariant formulas follow the recognized patterns. A more definite procedure was given by Peled and Wilke [24] as a construction that inputs an LTL formula'withj'jsymbols andnatomic propositions, and outputs an LTLnXformula'0with O(4nj'j) symbols, such that'and'0are equivalent ithey represent a stutter-invariant property. This construction, which proves that any stutter- invariant formula can be expressed withoutX, was later improved tonO(k)j'jsymbols, wherekis theX-depth of', by Etessami [13]. If a disjunctive normal form is desired, Tian and Duan [29] give a variant with size O(n2nj'j). To decide if an LTL formula'is stutter-invariant, we build'0using one of these constructions, and then check the equiv- alence of'and'0. This equivalence check can be achieved by translating these formu- las into automata. This approach, based on Etessami"s procedure, was implemented in our library Spot [10], but some practical performance issues prompted us to look into alternative directions. Extending this principle to a more expressive logic is not necessarily easy. For in- stance, a generalization of the above procedure to the linear fragment of PSL (the Prop- erty Specification Language [1]) was proposed by Dax et al. [9], but we realized it was incorrect

1when we recently implemented it in Spot. Still, Dax et al. [9] provide a syn-

tactic characterization of a stutter-invariant subset of PSL (which is to PSL what LTLnX is to LTL) that can be used to quickly classify some PSL formulas as stutter-invariant. into!-automata like B¨uchi automata, so one way to avoid the intricacies of the logic is to establish the stutter-invariance directly at the automaton level. This is the approach used for instance inltl2dstar[20]. The property'and its negation are both trans- lated into B ¨uchi automataA'andA:'; then the automatonA'is transformed (using a procedure inspired from Holzmann and Kupferman [19]) into an automatonA0'that accepts the smallest stutter-invariant language over-approximating the language of'. The property'is stutter-invariant iA'andA0'have the same language, which can be checked by ensuring that the productA0'

A:'has an empty language. This procedure

has the advantage of being independent of the specification formalism used (e.g., it can work with LTL or PSL, and will continue to work even if these logics are augmented with new operators). In this paper, we present and compare several automata-based decision procedures for stutter-invariance, inspired from the one described above. We show that the trans- formation ofA'toA0'is better seen as two operations: one that allows letters to be duplicated, and another that allows duplicate letters to be skipped. These two opera- tions can then be recombined in many ways, giving seven decision procedures. Rather surprisingly, some of the proposed checks require only one of these two operations: as a consequence, they are easier to implement than the original technique.1 A counterexample is the SEREr=a\(a;a) sinceL](r)=;butL]((r))=fag. Also Lemma 4 is incorrect w.r.t. the"operator; a counterexample is the PSL formulaa"bwhich gets with the authors. (Note that these lemmas are numbered 4 and 9 in the authors" copy.) We first define stutter-invariant languages, and some operations on those languages in Section 2. The main result of Section 2, Theorem 1, gives several characterizations of stutter-invariant languages. In Section 3, we introduce automata to realize the lan- guage transformations described in Section 2. This gives us seven decision procedures, as captured by Theorem 2. In Section 4 we describe in more details the similarities be- tween one of the proposed checks and the aforementioned construction by Holzmann and Kupferman, and we also point to some other related constructions. Finally in Sec- tion 5 we benchmark our implementation of these procedures.

2 The Language View

We use the following notations. Letbe an alphabet, and let!denote the set of infinite words over this alphabet. Since we only consider infinite words, we will simply writewordfrom now on. Given a wordw2!, we denote its individual letters by w `2and a positive integern, we use`nas a shorthand for the concatenation``:::` ofncopies of`, and`!for the concatenation of an infinite number of instances of`. A language Loveris a set of words, i.e.,L!. Its complement language isL=!nL.

Definition 1

(Stutter -invariantlanguage). A language L isstutter-invariantiit sat- isfies the following property:

8n01;8n11;8n21;:::;w

0w1w2:::2L()wn00wn11wn22:::2L

In other words, in a stutter-invariant language L, duplicating any letter or removing any duplicate letter from a word of L will produce another word of L. When L is not stutter-invariant, we say that L isstutter-sensitive. The following lemma restates the above definition for stutter-sensitive languages. Lemma 1.A language L is stutter-sensitive ithere exists n01;n11;n21;::: such that either 1. ther ee xistsa wor dw

0w1w2:::2L such that wn00wn11wn22::: 2. or ther ee xistsa wor dw n00wn11wn22:::2L such that w0w1w2:::Proof.Immediate from Definition 1.ut

We now introduce new operations that we will combine to decide stutter-invariance. Definition 2.For a word w=w0w1w2:::,Instut(w)=fwn00wn11wn22:::j 8i;ni1g denotes the set of words built from w by allowing any letter of w to be duplicated (i.e., the stuttering of w can beincreased). Conversely,Destut(w)=fu0u1u2:::2!jthere exists n01;n11;n21;::: such that w=un00un11un22:::gdenotes the set of words built from w by allowing any du- plicate letter to be removed (i.e., the stuttering of w can bedecreased). We extend these two definitions to languages straightforwardly usingInstut(L)=S w2LInstut(w)andDestut(L)=S w2LDestut(w). The following lemmas are immediate from the definition: Lemma 2.For any two words u and v, u2Instut(v)()v2Destut(u). Lemma 3.For any language L, we have LDestut(L)Instut(Destut(L)), L Instut(L)Destut(Instut(L)), andInstut(Destut(L))=Destut(Instut(L)). Lemma 4.For any language L, we have LInstut(L)\Destut(L). To illustrate that Lemma 4 cannot be strengthened toL=Instut(L)\Destut(L), consider the languageL=fa2b!;a4b!g. ThenInstut(L)=faib!ji2g,Destut(L)= faib!j1i4g, andInstut(L)\Destut(L)=faib!j2i4g,L. We now show thatL,Instut(L)\Destut(L) is only possible ifLis stutter-sensitive. Proposition 3.L is a stutter-invariant language iInstut(L)=L=Destut(L). Proof.(=)) IfLis stutter-invariant, the words added toLbyInstut(L) orDestut(L) are already inLby definition. ((=) IfL=Instut(L) andL=Destut(L) there is no way to find a counterexample word for Lemma 1.ut Note thatInstut(L)=Destut(L) is not a sucient condition forLto be stutter- invariant. For instance consider the stutter-sensitive languageL=faib!jiis oddgfor whichInstut(L)=Destut(L)=faib!ji>0g. Proposition 4.If a language L is stutter-sensitive, then eitherInstut(L)\L,;or

Destut(L)\L,;.

Proof.Applying Lemma 1 toL, there existsn01;n11;:::such that either 1. there e xistsa w ordw0w1:::2Lsuch thatwn00wn11:::Instut(L)\L,;; 2. or there e xistsa w ordwn00wn11:::2Lsuch thatw0w1:::Destut(L)\L,;. So one ofInstut(L) orDestut(L) has to intersectL.ut Proposition 5.If a language L is stutter-sensitive, thenInstut(L)\Instut(L),;. Proof.By proposition 4, sinceLis stutter-sensitive we have eitherInstut(L)\L,;or

Destut(L)\L,;.

-IfInstut(L)\L,;, then there exists a wordu2L, and a wordv2Lsuch thatu2Instut(v). Sinceu2Lwe haveu2Instut(L); however we also have u2Instut(v)Instut(L). Sou2Instut(L)\Instut(L). -IfDestut(L)\L,;, then there exists a wordu2Land a wordvinLsuch thatu2Destut(v). By lemma 2, we havev2Instut(u). Therefore we havev2 Instut(u)Instut(L) andv2LInstut(L), sov2Instut(L)\Instut(L).

In both casesInstut(L)\Instut(L) is non-empty.ut

Proposition 6.If a language L is stutter-sensitive, thenDestut(L)\Destut(L),;.

Proof.Similar to that of proposition 5.ut

Theorem 1.For any language L, the following statements are equivalent. (1)

L is stutter -invariant

(2)

L =Instut(L)=Destut(L)

(3)Destut(Instut(L))\L=; (4)Instut(Destut(L))\L=; (5)Instut(L)\Instut(L)=; (6)Destut(L)\Destut(L)=; Proof.(1)()(2) is Prop. 3; (2)=)(3)^(4) is immediate; (2)=)(5)^(6) follows from Prop. 1 which means that the hypothesis (2) can be applied toLas well; (3)=)(1) and (4)=)(1) both follow from the contraposition of Prop. 4 and from Lemma 3; (5)=)(1) and (6)=)(1) are Prop. 5 and 6.ut The most interesting part of this theorem is the last two statements: it is possible to check the stutter-invariance of a language using onlyInstutor onlyDestut. In the next section we show dierent implementations of these operations on automata.

3 The Automaton View

Specifications written in linear-time temporal logics like LTL or (the linear fragment of) PSL are typically converted into B

¨uchi automata by model checkers (or special-

ized translators). Below we define the variant of B

¨uchi automata we use in our tool:

Transition-based Generalized B¨uchi Automataor TGBA for short. The TGBA acronym was coined by Giannakopoulou and Lerda [16], although sim- ilar automata have been used with dierent names before [e.g., 22, 7, 14]. As their name implies, these TGBAs have a generalized B

¨uchi acceptance condition expressed

in terms of transitions (instead of states). While these automata have the same expres- siveness as B ¨uchi automata (i.e., they can represent all!-regular languages), they can be more compact; furthermore they are the natural product of many LTL-to-automata translation algorithms [7, 14, 16, 2, 11]. The transformations we define on these automata should however not be dicult to adapt to other kinds of!-automata. Definition 3(TGB A[16]). ATransition-based Generalized B¨uchi Automaton(TGBA) is a tuple A=h;Q;q0;F;iwhere: -is a finite alphabet, -Q is a finite set of states, -q02Q is the initial state, -QQ is a transition relation labeling each transition by a letter, -F=fF1;F2;:::;Fngis a set of acceptance sets of transitions: Fi. A sequence of transitions=(s0;w0;d0)(s1;w1;d1):::2!is arunof A if s0=q0 and for all i0we have di=si+1. We say thatrecognizesthe word w=w0w1:::2 For a run, letInf()denote the set of transitions occurring infinitely often in this run. The run isacceptingiFi\Inf(),;for all i, i.e., ifvisits all acceptance sets infinitely often. Finally thelanguageof A, denotedL(A), is the set of words recognized by the accepting runs of A. Figure 1 shows some examples of TGBAs that illustrate the upcoming definitions. The membership of transitions to some acceptance sets is represented by numbered and colored circles. For instance, automatonA1in Figure 1(a) has two acceptance setsF1 andF2that respectively contain the transitions marked with1and2. This automaton accepts the word (abba)!but rejects (aba)!, so its language is stutter-sensitive. inition 2. The next three constructions we define in the rest of this section,cl(Def. 4), sl(Def. 5), andsl2(Def. 6), implement respectivelyDestut,Instut, and againInstut.

Definition 4

(Closur e).Given a TGBA A=h;Q;q0;fF1;F2;:::;Fng;i, letcl(A)= h;Q;q0;fF01;F02;:::;F0ng;0ibe theclosureof A defined as follows: -0is the smallest subset of QQ such that 0, if(x;`;y)20and(y;`;z)20, then(x;`;z)20. -each F0iis the smallest subset of0such that

FiF0i,

if(x;`;y)20,(y;`;z)20, and either(x;`;y)2Fior(y;`;z)2Fithen (x;`;z)2F0i. Figure 1(d) illustrates this construction which can be implemented by modifying the automaton in place: for every pair of transitions of the formxyz` 1`

2, add a

shortcuttransitionxz`12that allows to skip one of the duplicated letters on a run without aecting the acceptance of this run. When the transitionxz`already exists, we just need to update its membership to acceptance sets. So in eect, these changes let the automaton accept all shorter words that can be constructed from an accepted words by removing a duplicate letter. In the worst case (e.g., the states ofAform a ring with transitions of the form (x;`;x+1 modn) for all letters`),cl(A) ends up withjQ2j jjtransitions. 0 1 2b1a1 b2 b2 ba1 (a)A1=sl2(A1)3456abb aba 3 b3a3b b3 (b)A

13456abb

a3b3a 3 b3a3b 3 b3 (c)cl(A 1)0 1 2b1a1 b1 2 b1 2b2 b2a1 (d)cl(A1)03040506

131416

232426a11

1a131 1 21
212
1 21
212a
13a13 1313
1 2 3123
1 2 31
2 313
1 2 3 1 2 322
2322
2323
2 3a1 a13a13 (e)cl(A1) cl(A

1); all labels arebunless specified otherwise00b0a1b2bb

aba1b1 b2b1 a1b 2b2 ba1 b (f)sl(A1)34564babb aba 3bb b3b3 a3b b3 (g)sl2(A 1) Fig.1: An example TGBAA1, with its closure, self-loopization, complement, closed complement, and the product between the two closures.L(A1) is stutter-sensitive.

Table 1: Characteristics of automata constructed fromA=h;Q;q0;F;i.reachable states transitions language

cl(A)jQjO(jQj2 jj)Destut(L(A)) sl(A) O(jQj jj) O(jj jj)Instut(L(A)) sl

2(A) O(jQj+min(jQj jj;jj))(jj)Instut(L(A))Definition 5(Self-loopization). Given a TGBA A=h;Q;q0;fF1;F2;:::;Fng;i, let

sl(A)=h;Q0;q0;fF01;F02;:::;F0ng;0ibe the "self-loopization" of A defined by:quotesdbs_dbs1.pdfusesText_1
[PDF] http www finaces gov ma

[PDF] http www perfect english grammar com past simple present perfect 1 html

[PDF] http www unaids org fr resources fact sheet

[PDF] http zonelitteraire e monsite com medias files invention ecrire une lettre pdf

[PDF] https //si1d.ac-toulouse.fr dans la rubrique gestion des personnels

[PDF] https e bts men gov ma fr candidature pages candidature aspx

[PDF] https e recrutement finances gov ma

[PDF] https massar men gov ma account login returnurl 2f

[PDF] https moutamadris men gov ma ar pages detailactualite aspx idactu 54

[PDF] https portail agent phm education gouv fr

[PDF] https teleservices ac paris fr

[PDF] https wwwd caf fr wps myportal mobile mon compte droits et paiements mes paiements

[PDF] https://ts.ac-paris.fr/ts bourse

[PDF] huile d'olive france

[PDF] huile de lin et cancer hormono dépendant