Model Checking Properties on Reduced Trace Systems
Abstract
:1. Introduction and Motivation
2. Event Language
2.1. Syntax of Expressions
 the empty expression (the operator $nil$);
 the concatenation of two expressions (the operator “.”); for example, ${e}_{1}.{e}_{2}$, with ${e}_{1}=a$ and ${e}_{2}=b$, is the expression $a.b$;
 the choice between two expressions (the operator “+”); for example, ${e}_{1}+{e}_{2}$, with ${e}_{1}=a.c$ and ${e}_{2}=b$, is the expression $a.c+b$;
 the parallel composition of two expressions (operator “”), where the events in each expression can occur independently, except the events with the same name that cause the synchronization of the two concurrent expressions; for example, ${e}_{1}\parallel {e}_{2}$, with ${e}_{1}=a.c$ and ${e}_{2}=b$, is the expression $a.c\parallel b$;
 the unbounded iteration of an expression (the operator “$rec$”).
2.2. Trace Semantics of Expressions
 Given the trace system $TS=((A,D),T)$,
 –
 its unbounded iteration is the system:$$T{S}_{1}={(((A,D),T))}^{*}=((A\cup \{{\lfloor \phantom{\rule{4pt}{0ex}}\rfloor}_{T}\},D\cup {D}^{\prime}),\{[\u03f5],{\lfloor \phantom{\rule{4pt}{0ex}}\rfloor}_{T}\})\phantom{\rule{6.0pt}{0ex}}$$$$\mathrm{where}:$$$${D}^{\prime}=\{({\lfloor \phantom{\rule{4pt}{0ex}}\rfloor}_{T},{\lfloor \phantom{\rule{4pt}{0ex}}\rfloor}_{T})\}\cup \{(a,{\lfloor \phantom{\rule{4pt}{0ex}}\rfloor}_{T}),({\lfloor \phantom{\rule{4pt}{0ex}}\rfloor}_{T},a)\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}a\in A\}$$
 Let $T{S}_{1}=({\Sigma}_{1},{T}_{1})$ and $T{S}_{2}=({\Sigma}_{2},{T}_{2})$, with ${\Sigma}_{1}=({A}_{1},{D}_{1})$ and ${\Sigma}_{2}=({A}_{2},{D}_{2})$, be two trace systems.
 –
 Their concatenation is the system:$$T{S}_{1}.T{S}_{2}=({\Sigma}^{\prime},{T}^{\prime})\phantom{\rule{3.0pt}{0ex}}$$$$\mathrm{where}:\phantom{\rule{4pt}{0ex}}{\Sigma}^{\prime}=({A}_{1}\cup {A}_{2},{D}_{1}{D}_{2}^{\circ}),\mathrm{and}{T}^{\prime}=\{{\tau}_{1}{\tau}_{2}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}{\tau}_{1}\in {T}_{1},\phantom{\rule{4pt}{0ex}}{\tau}_{2}\in {T}_{2}\}$$
 –
 their nondeterministic composition is the system:$$T{S}_{1}+T{S}_{2}=({\Sigma}^{\prime},{T}^{\prime})\phantom{\rule{2.0pt}{0ex}}$$$$\mathrm{where}\phantom{\rule{4pt}{0ex}}{\Sigma}^{\prime}=({A}_{1}\cup {A}_{2},{D}_{1}\cup {D}_{2}),\mathrm{and}$$$$\phantom{\rule{4pt}{0ex}}{T}^{\prime}=\{\tau \phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\tau \in {T}_{1}\vee \tau \in {T}_{2}\}$$
 –
 their parallel composition is the system:$$T{S}_{1}\parallel T{S}_{2}=({\Sigma}^{\prime},{T}^{\prime})$$$$\mathrm{where}{\Sigma}^{\prime}=({A}_{1}\cup {A}_{2},{D}_{1}\cup {D}_{2}),\mathrm{and}\phantom{\rule{2.0pt}{0ex}}$$$$\phantom{\rule{4pt}{0ex}}{T}^{\prime}=\{{\Pi}_{{A}_{1}}(\tau )\in {T}_{1}\wedge {\Pi}_{{A}_{2}}(\tau )\in {T}_{2}\}$$
 $T{S}_{0}=(({A}_{0},{D}_{0}),{T}_{0})$,
 $T{S}_{1}=(({A}_{1},{D}_{1}),{T}_{1})$, and
 $T{S}_{2}=(({A}_{2},{D}_{2}),{T}_{2})$, with
 ${A}_{0}=\{a\}$, ${D}_{0}=\{(a,a)\}$ and ${T}_{0}=\{[a]\}$;
 ${A}_{1}=\{a,b\}$, ${D}_{1}=\{(a,a),(b,b),(a,b),(b,a)\}$ and ${T}_{1}=\{[ab]\}$;
 ${A}_{2}=\{b,c\}$, ${D}_{2}=\{(b,b),(c,c),(b,c),(c,b)\}$ and ${T}_{2}=\{[bc]\}$.
 $T{S}_{0}.T{S}_{2}$ is the trace system $T{S}_{3}=(({A}_{3},{D}_{3}),{T}_{3})$ with
 ${A}_{3}=\{a,b,c\}$, ${D}_{3}=\{(a,a),(b,b),(c,c),(a,b),(b,a),(a,c),(c,a),(b,c),(c,b)\}$ and ${T}_{3}=\{[abc]\}$.
 $T{S}_{0}+T{S}_{2}$ is the trace system $T{S}_{6}=(({A}_{6},{D}_{6}),{T}_{6})$ with
 ${A}_{6}=\{a,b,c\}$, ${D}_{6}=\{(a,a),(b,b),(c,c),(b,c),(c,b)\}$ and ${T}_{6}=\{[a],[bc]\}$.
 $T{S}_{1}\parallel T{S}_{2}$ is the trace system $T{S}_{4}=(({A}_{4},{D}_{4}),{T}_{4})$ with
 ${A}_{4}=\{a,b,c\}$, ${D}_{4}=\{(a,a),(b,b),(c,c),(a,b),(b,a),(b,c),(c,b)\}$ and ${T}_{4}=\{[abc]\}$.
 $T{S}_{0}\parallel T{S}_{2}$ is the trace system $T{S}_{5}=(({A}_{5},{D}_{5}),{T}_{5})$ with
 ${A}_{5}=\{a,b,c\}$, ${D}_{5}=\{(a,a),(b,b),(c,c),(b,c),(c,b)\}$ and ${T}_{5}=\{[abc]\}$.
3. Selective MuCalculus
3.1. The Syntax of the Calculus
3.2. The Satisfaction of the Formulae on Trace Systems
Let A be an alphabet: consider $a\in A$ and $\beta \in {A}^{*}$.
$$\begin{array}{lll}\mathcal{M}(a.\beta )& =& \overline{a}.\mathcal{M}(\beta )\\ \mathcal{M}(\u03f5)& =& \u03f5\end{array}$$

 If $S=\varnothing $:${\mathcal{D}}_{a,S}(cab)=[\overline{c}b]$, for ${\Sigma}_{1}$, and${\mathcal{D}}_{a,S}(cab)=[\overline{c}\overline{b}]$, for ${\Sigma}_{2}$, while${\mathcal{D}}_{b,S}(cab)=[\overline{c}]$, for ${\Sigma}_{1}$, and${\mathcal{D}}_{b,S}(cab)=[\overline{a}]$, for ${\Sigma}_{2}$
 If $S=\{b\}$${\mathcal{D}}_{a,S}(cab)=[\overline{c}b]$ for both ${\Sigma}_{1}$ and ${\Sigma}_{2}$, while${\mathcal{D}}_{b,S}(cab)=[\overline{c}]$, for ${\Sigma}_{1}$, and${\mathcal{D}}_{b,S}(cab)=[\overline{a}]$, for ${\Sigma}_{2}$
Let A be an alphabet; consider $a,b\in A$ and $\beta \in {A}^{*}$.
$$\begin{array}{lll}\mathcal{C}{l}^{1}(b,a.\beta )& =& a.\mathcal{C}{l}^{1}(b,\beta )\\ \mathcal{C}{l}^{1}(b,\overline{a}.\beta )& =& \mathrm{if}(a=b)\mathrm{then}\mathcal{C}{l}^{1}(b,\beta )\mathrm{else}a.\mathcal{C}{l}^{1}(b,\beta )\\ \mathcal{C}{l}^{1}(b,\u03f5)& =& \u03f5\\ \mathcal{C}{l}^{2}(a.\beta )& =& a.\mathcal{C}{l}^{2}(\beta )\\ \mathcal{C}{l}^{2}(\overline{a}.\beta )& =& a.\mathcal{C}{l}^{2}(\beta )\\ \mathcal{C}{l}^{2}(\u03f5)& =& \u03f5\end{array}$$

 ${\mathcal{D}}_{a,\varnothing}(cab)=[\overline{c}b]$, for the ${\Sigma}_{1}$, while ${\mathcal{D}}_{a,\varnothing}(cab)=[\overline{c}\overline{b}]$, for ${\Sigma}_{2}$.
 Then, after the cleaning,
 ${\mathcal{D}}_{c,\varnothing}(cb)=[\overline{b}]$, and
 ${\mathcal{D}}_{c,\varnothing}(cb)=[b]$.
 Finally, again after the cleaning,
 ${\mathcal{D}}_{b,\varnothing}(\u03f5)=null$, and
 ${\mathcal{D}}_{b,\varnothing}(b)=\u03f5$,
 thus $[cab]\vDash {\phi}_{3}$ for ${\Sigma}_{2}$, but $[cab]\u22ad{\phi}_{3}$ for ${\Sigma}_{1}$; in fact, the marked event $\overline{b}$ does not occur after c in
 any run.
4. Transformation Rules to Obtain Abstract Trace Systems
 (1)
 ${\Pi}_{B}(D)=\{(a,b)\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}(a,b)\in Danda,b\in B\}$;
 (2)
 ${\Pi}_{B}(T)=\{{\Pi}_{B}(w)\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}w\in T\}$, and $\forall {\lfloor \phantom{\rule{4pt}{0ex}}\rfloor}_{x}\in A,x=\{{\Pi}_{B}(w)\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}w\in x\}$.
 $TS(e)\vDash {\phi}_{1}$, and
 $TS(e)\vDash {\phi}_{2}$
 ${\Pi}_{{\rho}_{1}}(T{S}_{1}({\mathcal{T}}_{{\rho}_{1}}(e)))\vDash {\phi}_{1}$, with ${\rho}_{1}=\mathcal{O}({\phi}_{1})=\{a\}$
 ${\Pi}_{{\rho}_{2}}(T{S}_{2}({\mathcal{T}}_{{\rho}_{2}}(e)))\vDash {\phi}_{2}$, with ${\rho}_{2}=\mathcal{O}({\phi}_{2})=\{a,{a}^{\prime}\}$
 ${\mathcal{T}}_{{\rho}_{1}}(e)$
 = { applying Definition 7 and the rules set for the operators in Section 2.1}
 $rec(a.{c}^{\prime}\phantom{\rule{3.33333pt}{0ex}}\parallel \phantom{\rule{3.33333pt}{0ex}}{c}^{\prime})$
5. Conclusions and Related Works
 (1)
 We work directly and only on traces to perform model checking, without representing either traces or systems by some sort of graph, so saving memory.
 (2)
 We obtain a finite trace system, also when using unbounded iteration. In such a way, we can perform model checking also in the presence of infinite computations.
 (3)
 We reduce the dimension of the trace system, in the number of traces and in the number of events in each trace. Beside the use of abstraction to reduce the number of events of the initial traces, we maintain in a trace at each verification step only the events useful for the following steps, so performing a kind of onthefly verification. In such way, we save space, but also verification time, since we decrease the number of times a formula has to be checked.
 (4)
 We manipulate traces to decide the satisfaction on a single trace with a polynomial complexity depending on the dimension of the formula and of the trace. The precise complexity of the method needs a deeper examination, since, in general, it depends on the level of concurrency of the systems and on the number of the $rec$ operators and of the possible oneunfoldings of each hole.
Author Contributions
Appendix
Proof of Theorem 1
 (1)
 ${\Pi}_{\rho}(T{S}_{1}.T{S}_{2})={\Pi}_{\rho}(T{S}_{1}).{\Pi}_{\rho}(T{S}_{2})$
 (2)
 ${\Pi}_{\rho}(T{S}_{1}+T{S}_{2})={\Pi}_{\rho}(T{S}_{1})+{\Pi}_{\rho}(T{S}_{2})$
 (1)
 ${\Pi}_{\rho}(T{S}_{1}\parallel T{S}_{2})={\Pi}_{\rho}({\Pi}_{{\rho}^{\prime}}(T{S}_{1})\parallel {\Pi}_{{\rho}^{\prime}}(T{S}_{2}))$where ${\rho}^{\prime}=\rho \cup (alph({T}_{1})\cap alph({T}_{2}))$
 (2)
 ${\Pi}_{\rho}(T{S}_{1}^{i})={({\Pi}_{\rho}(T{S}_{1}))}^{i}$
$\tau \notin {\Pi}_{\rho}({\Pi}_{{\rho}^{\prime}}({T}_{1})\parallel {\Pi}_{{\rho}^{\prime}}({T}_{2}))$ 
implies { by Definition 8.2 } 
$\tau \notin \{{\Pi}_{\rho}(w)\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}w\in ({\Pi}_{{\rho}^{\prime}}({T}_{1})\parallel {\Pi}_{{\rho}^{\prime}}({T}_{2})\}$ 
implies { by definition of the parallel composition of trace languages } 
$\tau \notin \{{\Pi}_{\rho}(w)\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}w\in \{{w}^{\prime}\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}\begin{array}{c}{\Pi}_{{A}_{1}}({w}^{\prime})\in {\Pi}_{{\rho}^{\prime}}({T}_{1})and{\Pi}_{{A}_{2}}({w}^{\prime})\in {\Pi}_{{\rho}^{\prime}}({T}_{2})\}\}\hfill \end{array}$ 
implies: 
$\tau ={\Pi}_{\rho}(w)$ and ${\Pi}_{{A}_{1}}(w)\in {\Pi}_{{\rho}^{\prime}}({T}_{1})or{\Pi}_{{A}_{2}}(w)\in {\Pi}_{{\rho}^{\prime}}({T}_{2})$ 
implies: { by Definition 8.2 } 
$\tau ={\Pi}_{\rho}(w)$ and $({\Pi}_{{A}_{1}}(w)\notin \{{\Pi}_{{\rho}^{\prime}}(k)\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}k\in {T}_{1}\}or{\Pi}_{{A}_{2}}(w)\notin \{{\Pi}_{{\rho}^{\prime}}(k)\phantom{\rule{3.33333pt}{0ex}}\phantom{\rule{3.33333pt}{0ex}}k\in {T}_{1}\})$ 
implies: 
$\tau ={\Pi}_{\rho}(w)$ and $(({\Pi}_{{A}_{1}}(w)={\Pi}_{{\rho}^{\prime}}(k)andk\notin {T}_{1})$ $or({\Pi}_{{A}_{2}}(w)={\Pi}_{{\rho}^{\prime}}(k)andk\notin {T}_{2}))$ 
absurdum { since ${\rho}^{\prime}=\rho \cup (alph({T}_{1})\cap alph({T}_{2}))$ } 
 ${\Pi}_{\rho}(TS(a.{s}_{1}))$
 = { by Definition 2 and Lemma 1.(1) }
 ${\Pi}_{\rho}(TS(a)).{\Pi}_{\rho}(TS({s}_{2}))$
 = { by the inductive hypothesis and Lemma 1.(1) }
 ${\Pi}_{\rho}(TS({\mathcal{T}}_{\rho}(a)).TS({\mathcal{T}}_{\rho}({s}_{1})))$
 = { by Definition 2 }
 ${\Pi}_{\rho}(TS({\mathcal{T}}_{\rho}(a.{s}_{1})))$
 $TS(e)=((A,D),T)$ then ${\Pi}_{\rho}(TS(e))=((\rho ,{\Pi}_{\rho}(D)),{\Pi}_{\rho}(T))$.
 $TS(e)\vDash {\langle \alpha \rangle}_{S}{\psi}^{\prime}$
 iff { by Definition 6 }
 $\exists [s]\in T.[s]\vDash {\langle \alpha \rangle}_{S}{\psi}^{\prime}$
 iff { by Definition 5 }
 $\exists [s]\in T,\phantom{\rule{4pt}{0ex}}\exists {\sigma}^{\prime}\in \widehat{s}$, such that ${\mathcal{D}}_{\alpha ,S}(\mathcal{C}{l}^{1}(\alpha ,{\sigma}^{\prime}))\ne nulland{\mathcal{D}}_{\alpha ,S}(\mathcal{C}{l}^{1}((\alpha ,{\sigma}^{\prime})))\vDash {\psi}^{\prime}$
 iff, {since ${\mathcal{D}}_{\alpha ,S}(\mathcal{C}{l}^{1}(\alpha ,{\sigma}^{\prime}))={\mathcal{D}}_{\alpha ,S}(\mathcal{C}{l}^{1}(\alpha ,{\Pi}_{\rho}({\sigma}^{\prime})))$ and ${\Pi}_{\rho}([{\sigma}^{\prime}])\in {\Pi}_{\rho}(T)$ }
 $\exists {\Pi}_{\rho}([s])\in {\Pi}_{\rho}(T),\phantom{\rule{4pt}{0ex}}\exists {\Pi}_{\rho}({\sigma}^{\prime})\in {\Pi}_{\rho}(\widehat{s})$, such that ${\mathcal{D}}_{\alpha ,S}(\mathcal{C}{l}^{1}(\alpha ,{\Pi}_{\rho}([{\sigma}^{\prime}])))\ne nulland{\mathcal{D}}_{\alpha ,S}(\mathcal{C}{l}^{1}(\alpha ,{\Pi}_{\rho}([{\sigma}^{\prime}])))\vDash {\psi}^{\prime}$
 iff { by Definition 5 }
 $\exists \phantom{\rule{4pt}{0ex}}{\Pi}_{\rho}([{\sigma}^{\prime}])\in {\Pi}_{\rho}(T).{\Pi}_{\rho}([{\sigma}^{\prime}])\vDash {\langle \alpha \rangle}_{S}{\psi}^{\prime}$
 if { by Definition 6 }
 ${\Pi}_{\rho}(TS(e))\vDash {\langle \alpha \rangle}_{S}{\psi}^{\prime}$
Conflicts of Interest
References
 Manna, Z.; Pnueli, A. The anchored version of the temporal framework. In Proceedings of the Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, School/Workshop, Noordwijkerhout, The Netherlands, 30 May–3 June 1988; Lecture Notes in Computer Science. Volume 354, pp. 201–284.
 Emerson, E.A.; Srinivasan, J. Branching time temporal logic. In Proceedings of the Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, School/Workshop, Noordwijkerhout, The Netherlands, 30 May–3 June 1988; Lecture Notes in Computer Science. Volume 354, pp. 123–172.
 Mazurkiewicz, A. Basic notions of Trace Theory. In Proceedings of the Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, School/Workshop, Noordwijkerhout, The Netherlands, 30 May–3 June 1988; Lecture Notes in Computer Science. Volume 354, pp. 285–363.
 Mazurkiewicz, A.; Ochmanski, E.; Penczek, W. Concurrent systems and inevitability. Theor. Comput. Sci. 1989, 281, 281–304. [Google Scholar]
 Clarke, E.M.; Emerson, E.A.; Sistla, A.P. Automatic verification of finitestate concurrent systems using temporal logic verification. ACM Trans. Program. Lang. Syst. 1986, 8, 244–263. [Google Scholar]
 Bryant, R.E. Graphbased algorithms for boolean function manipulation. IEEE Trans. Comput. 1986, C35, 677–691. [Google Scholar] [CrossRef]
 Burch, J.; Clarke, E.; McMillan, K.; Dill, D.; Hwang, L. Symbolic Model Checking: 10^{20} States and Beyond. In Proceedings of the Fifth Annual IEEE Symposium on Logic in Computer Science, Philadelphia, PA, USA, 4–7 June 1990; pp. 428–439.
 Clarke, E.M.; Grumberg, O.; Long, D.E. Model checking and abstraction. Trans. Program. Lang. Syst. 1992, 16, 343–354. [Google Scholar]
 Garavel, H.; Lang, F.; Mateescu, R.; Serwe, W. CADP 2011: A toolbox for the construction and analysis of distributed processes. Int. J. Softw. Tools Technol. Transf. 2013, 15, 89–107. [Google Scholar]
 Godefroid, P. PartialOrder Methods for the Verification of Concurrent Systems; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1996; Volume 1032. [Google Scholar]
 Barbuti, R.; de Francesco, N.; Santone, A.; Vaglini, G. Selective mucalculus: New modal operators for proving properties on reduced transition systems. In Proceedings of the FORTE X/PSTV XVII ’97, Osaka, Japan, 18–21 November 1997; Chapman & Hall: London, UK, 1997; pp. 519–534. [Google Scholar]
 Barbuti, R.; de Francesco, N.; Santone, A.; Vaglini, G. Selective mucalculus and formulabased equivalence of transition systems. J. Comput. Syst. Sci. 1999, 59, 537–556. [Google Scholar]
 Stirling, C. An Introduction to Modal and Temporal Logics for CCS. In Proceedings of the UK/Japan Workshop on Concurrency : Theory, Language, and Architecture, Oxford, UK, 25–27 September 1989; Lecture Notes in Computer Science. Volume 391.
 De Nicola, R.; Vaandrager, F.W. Action versus State based Logics for Transition Systems. In Proceedings of the LITP Spring School on Theoretical Computer Science on Semantics of Systems of Concurrent Processes, La Roche Posay, France, 23–27 April 1990; Lecture Notes in Computer Science. Volume 469, pp. 407–419.
 Mazurkiewicz, A. Trace Theory. In Petri Nets: Central Models and Their Properties, Advances in Petri Nets 1986, Part II, Proceedings of an Advanced Course, Bad Honnef, 8–19 September 1986; Lecture Notes in Computer Science. 1987; Volume 255, pp. 279–324. [Google Scholar]
 Bradfield, J.; Stirling, C. Local model checking for infinite state spaces. Theor. Comput. Sci. 1992, 157, 157–174. [Google Scholar]
 Lichtenstein, O.; Pnueli, A. Checking that finite state concurrent programs satisfy their linear specification. In Proceedings of the 12th ACM SIGACTSIGPLAN Symposium on Principles of Programming Languages (POPL ’85), New Orleans, LA, USA, 14–16 January 1985; pp. 97–107.
 Sistla, A.P.; Clarke, E.M. The complexity of propositional linear time logics. J. ACM 1985, 32, 733–749. [Google Scholar]
 Godefroid, P.; Piterman, N. LTL Generalized Model Checking Revisited. In Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI ’09), Savannah, GA, USA, 18–20 January 2009; Lecture Notes in Computer Science. Volume 5403, pp. 89–104.
 Gastin, P.; Petit, A. The Book of Traces, Chapter Infinite Traces; Diekert, V., Rozenberg, G., Eds.; World Scientific: Singapore, Singapore, 1995. [Google Scholar]
 Penczek, W. Temporal logics for trace systems: On automated verification. Int. J. Comput. Sci. 1993, 4, 31–67. [Google Scholar]
 Bradfield, J. The modal mucalculus alternation hierarchy is strict. In Proceedings of the 7th International Conference CONCUR’96, Pisa, Italy, 26–29 August 1996; Volume 1119, pp. 233–246.
 Chieu, D.V.; Hung, D.V. An extension of Mazukiewicz traces and their applications in specification of realtime systems. In Proceedings of the Second International Conference on Knowledge and Systems Engineering (KSE ’10), Hanoi, The Netherlands, 7–9 October 2010; pp. 167–171.
 Kupferman, O.; Vardi, M.Y. Relating Linear and Branching Model Checking. In Proceedings of the IFIP TC2/WG2.2, 2.3 International Conference on Programming Concepts and Methods (PROCOMET ’98), Shelter Island, NY, USA, 8–12 June 1998; IFIPChapmanHall: London, UK.
 Kupferman, O.; Vardi, M.Y. Freedom, weakness, and determinism: From lineartime to branchingtime. In Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science (LICS ’98), Indianapolis, IN, USA, 21–24 June 1998; IEEE Computer Society: Washington, DC, USA, 1998. [Google Scholar]
 McMillan, K.L. Trace theoretic verification of asynchronous circuits using unfoldings. In Proceedings of the 7th International Conference on ComputerAided Verification (CAV ’95), Liege, Belgium, 3–5 July 1995; Lecture Notes in Computer Science. Volume 939, pp. 180–195.
 Wallner, F. Model checking LTL using net unfoldings. In Proceedings of the 10th International Conference on ComputerAided Verification (CAV ’98), Vancouver, BC, Canada, 28 June–2 July 1998; Lecture Notes in Computer Science. Volume 1427, pp. 207–218.
 McMillan, K.L. Using unfoldings to avoid the state explosion problem in the verification of asynchronous circuits. In Proceedings of the 4th International Workshop on ComputerAided Verification (CAV ’92), Montreal, QC, Canada, 29 June–1 July 1992; Lecture Notes in Computer Science. Volume 663, pp. 164–174.
 Bollig, B.; Leucker, M. Deciding LTL over Mazurkiewicz Traces. In Proceedings of the Symposium on Temporal Representation and Reasoning (TIME ’01), Cividale, Italy, 14–16 June 2001; IEEE Computer Society Press: Washington, DC, USA, 2001. [Google Scholar]
 Kaivola, R. A simple decision method for the linear time mucalculus. In Proceedings of the International Workshop on Structures in Concurrency Theory (STRICT), Berlin, Germany, 11–13 May 1995; Workshops in Computing. Springer: London, UK, 1995; pp. 190–204. [Google Scholar]
 Thiagarajan, P.S.; Walukiewicz, I. An Expressively Complete Linear Time Temporal Logic for Mazurkiewicz Traces. In Proceedings of the 12th Annual IEEE Symposium on Logic in Computer Science (LICS ’97), Warsaw, Poland, 29 June–2 July 1997; IEEE Computer Society: Washington, DC, USA, 1997; pp. 183–194. [Google Scholar]
 Walukiewicz, I. Local Logics of Traces; BRICS Report RS002; BRICS: Aarhus, Denmark, 2000. [Google Scholar]
 Kesten, Y.; Pnueli, A.; Raviv, L. Algorithmic Verification of Linear Temporal Logic Specifications. In Proceedings of the 25th International Colloquium on Automata, Languages and Programming (ICALP ’98), Aalborg, Denmark, 13–17 July 1998; Lecture Notes in Computer Science. Volume 1443, pp. 1–16.
 Peled, D. All from one, one from all: On model checking using representatives. In Proceedings of the 5th International Conference on ComputerAided Verification, (CAV ’93), Elounda, Greece, 28 June–1 July 1993; Lecture Notes in Computer Science. Volume 697, pp. 409–423.
 Dumas, X.; Boniol, F.; Dhaussy, P.; Bonnafous, E. Context Modelling and PartialOrder Reduction: Application to SDL Industrial Embedded Systems. In Proceedings of the IEEE Fifth International Symposium on Industrial Embedded Systems (SIES ’10), Trento, Italy, 7–9 July 2010; pp. 197–200.
 Rozier, K.Y. Linear temporal logic symbolic model checking. Comput. Sci. Rev. 2011, 5, 163–203. [Google Scholar]
 Grumberg, O.; Lange, M.; Leucker, M.; Shoham, S. When not losing is better than winning: Abstraction and refinement for the full mucalculus. Inf. Comput. 2007, 205, 1130–1148. [Google Scholar]
 Fecher, H.; Shoham, S. Local abstractionrefinement for the μcalculus. Softw. Tools Technol. Transf. 2011, 13, 289–306. [Google Scholar]
 Esparza, J.; Hansel, D.; Rossmanith, P.; Schwoon, S. Efficient Algorithms for Model Checking Pushdown Systems. In Proceedings of the 12th International Conference on ComputerAided Verification (CAV ’00), Chicago, IL, USA, 15–19 July 2000; Lecture Notes in Computer Science. Volume 1855, pp. 232–247.
 Walukiewicz, I. Pushdown processes: Games and Model Checking. In Proceedings of the 8th International Conference on Computer Aided Verification (CAV ’96), New Brunswick, NJ, USA, 31 July–3 August 1996; SpringerVerlag: Berlin/Heidelberg, Germany, 1996; Volume 1102, pp. 62–74. [Google Scholar]
 Bozzelli, L. Complexity results on branchingtime pushdown model checking. Theor. Comput. Sci. 2007, 379, 286–297. [Google Scholar]
 Carotenuto, D.; Murano, A.; Peron, A. 2Visibly Pushdown Automata. In Proceedings of the 11th International Conference on Developments in Language Theory (DLT ’07), Turku, Finland, 3–6 July 2007; pp. 132–144.
 Kupferman, O.; Piterman, N.; Vardi, M.Y. Pushdown Specifications. In Proceedings of the 9th International Conference, LPAR, Tbilisi, Georgia, 14–18 October 2002; pp. 262–277.
 Löding, C.; Rohde, P. Model Checking and Satisfiability for Sabotage Modal Logic. In Proceedings of the 23rd Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS ’03), Mumbai, India, 15–17 December 2003; pp. 302–313.
 Benthem, J.V. An essay on sabotage and obstruction. In Festschrift in Honour of Jörg Siekmann, LNAI; Hutter, D., Werner, S., Eds.; Springer: Berlin/Heidelberg, Germany, 2002. [Google Scholar]
 Kupferman, O.; Vardi, M.Y.; Wolper, P. Module checking. Inf. Comput. 2001, 164, 322–344. [Google Scholar]
 Kupferman, O.; Vardi, M.Y. Module checking revisited. In Proceedings of the 9th International Conference (CAVâ97), Haifa, Israel, 22–25 June 1997; SpringerVerlag: Berlin/Heidelberg, Germany, 1997. Lecture Notes in Computer Science. Volume 1254, pp. 36–47. [Google Scholar]
 Chatterjee, K.; Doyen, L.; Henzinger, T.A.; Raskin, J. Algorithms for omegaregular games with imperfect information. Log. Methods Comput. Sci. 2007, 3, 1–23. [Google Scholar]
 Bozzelli, L.; Murano, A.; Peron, A. Pushdown module checking. In Proceedings of the 12th International Conference on Logic for Programming Artificial Intelligence and Reasoning (LPAR ’05), Montego Bay, Jamaica, 2–6 December 2005; SpringerVerlag: Berlin/Heidelberg, Germany, 2005. Lecture Notes in Computer Science. Volume 3835, pp. 504–518. [Google Scholar]
 Bozzelli, L.; Murano, A.; Peron, A. Pushdown module checking, Form. Methods Syst. Des. 2010, 36, 65–95. [Google Scholar]
 Aminof, B.; Legay, A.; Murano, A.; Serre, O.; Vardi, M.Y. Pushdown module checking with imperfect information. Inf. Comput. 2013, 223, 1–17. [Google Scholar][Green Version]
 Aminof, B.; Kupferman, O.; Murano, A. Improved model checking of hierarchical systems. Inf. Comput. 2012, 210, 68–86. [Google Scholar]
 Alur, R.; Yannakakis, M. Model checking of hierarchical state machines. ACM Trans. Program. Lang. Syst. 2001, 23, 273–303. [Google Scholar]
 Alur, R.; Benedikt, M.; Etessami, K.; Godefroid, P.; Reps, T.W.; Yannakakis, M. Analysis of recursive state machines. ACM Trans. Program. Lang. Syst. 2005, 27, 786–818. [Google Scholar]
© 2014 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).
Share and Cite
Santone, A.; Vaglini, G. Model Checking Properties on Reduced Trace Systems. Algorithms 2014, 7, 339362. https://doi.org/10.3390/a7030339
Santone A, Vaglini G. Model Checking Properties on Reduced Trace Systems. Algorithms. 2014; 7(3):339362. https://doi.org/10.3390/a7030339
Chicago/Turabian StyleSantone, Antonella, and Gigliola Vaglini. 2014. "Model Checking Properties on Reduced Trace Systems" Algorithms 7, no. 3: 339362. https://doi.org/10.3390/a7030339