Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

A Tableau-Based Approach to Model Checking Linear Temporal Properties

  • Conference paper
  • First Online:
Formal Methods and Software Engineering (ICFEM 2024)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 15394))

Included in the following conference series:

  • 182 Accesses

Abstract

This paper proposes a tableau-based approach to model checking linear temporal properties to mitigate the state space explosion in model checking. The core idea of the approach is to split an original model checking problem into multiple smaller model checking problems using the tableau method and tackle each smaller one. We prove a theorem to guarantee that the multiple smaller model checking problems are equivalent to the original model checking problem. We use Maude, a high-level specification and programming language based on rewriting logic, to develop a tool called DCA2MC to support our approach. Some case studies are conducted to compare DCA2MC with Maude LTL model checker, Spin, and LTSmin model checkers in terms of running performance and memory usage, showing the power of our proposed approach.

This research was partially supported by JSPS KAKENHI Grant Numbers JP23K28060, JP23K19959, JP24K20757.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    DCA2MC means a divide and conquer approach to model checking. We chose this name because our tableau-based approach originates from the idea of the divide and conquer approach to model checking linear temporal properties.

References

  1. Anderson, T.E.: The performance of spin lock alternatives for shared-memory multiprocessors. IEEE Trans. Parallel Distrib. Syst. 1(1), 6–16 (1990)

    Article  Google Scholar 

  2. Aung, M.N., Phyo, Y., Do, C.M., Ogata, K.: A divide and conquer approach to eventual model checking. Mathematics 9(4) (2021)

    Google Scholar 

  3. Aung, M.N., Phyo, Y., Do, C.M., Ogata, K.: A tool for model checking eventual model checking in a stratified way. In: 9th DSA, pp. 270–279 (2022)

    Google Scholar 

  4. Ben-Ari, M.: Mathematical Logic for Computer Science. Springer, Heidelberg (2012). https://doi.org/10.1007/978-1-4471-4129-7

    Book  Google Scholar 

  5. Clarke, E.M., Biere, A., Raimi, R., Zhu, Y.: Bounded model checking using satisfiability solving. Formal Methods Syst. Des. 19(1), 7–34 (2001)

    Article  Google Scholar 

  6. Clarke, E.M., Grumberg, O., Long, D.E.: Model checking and abstraction. ACM Trans. Program. Lang. Syst. 16(5), 1512–1542 (1994)

    Article  Google Scholar 

  7. Clarke, E.M., Grumberg, O., Minea, M., Peled, D.A.: State space reduction using partial order techniques. Int. J. Softw. Tools Technol. Transf. 2(3), 279–287 (1999)

    Article  Google Scholar 

  8. Marques-Silva, J., Malik, S.: Propositional SAT solving. In: Handbook of Model Checking, pp. 247–275. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-10575-8_9

    Chapter  Google Scholar 

  9. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71999-1

    Book  Google Scholar 

  10. Do, C.M., Phyo, Y., Ogata, K.: A divide & conquer approach to until and until stable model checking. In: 34th SEKE (2022)

    Google Scholar 

  11. Do, C.M., Phyo, Y., Ogata, K.: Sequential and parallel tools for model checking conditional stable properties in a layered way. IEEE Access 10, 133749–133765 (2022)

    Article  Google Scholar 

  12. Do, C.M., Phyo, Y., Riesco, A., Ogata, K.: Optimization techniques for model checking leads-to properties in a stratified way. ACM Trans. Softw. Eng. Methodol. 32(6) (2023)

    Google Scholar 

  13. Do, C.M., Phyo, Y., Riesco, A., Ogata, K.: A parallel stratified model checking technique/tool for leads-to properties. In: 7th ISSSR, pp. 155–166 (2021)

    Google Scholar 

  14. Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: PSTV 1995. IAICT, pp. 3–18. Springer, Boston, MA (1996). https://doi.org/10.1007/978-0-387-34892-6_1

    Chapter  Google Scholar 

  15. Meseguer, J.: Twenty years of rewriting logic. J. Log. Algebraic Methods Program. 81(7–8), 721–781 (2012)

    Article  MathSciNet  Google Scholar 

  16. de Moura, L., Rueß, H., Sorea, M.: Bounded model checking and induction: from refutation to verification. In: Hunt, W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 14–26. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-45069-6_2

    Chapter  Google Scholar 

  17. Phyo, Y., Aung, M.N., Do, C.M., Ogata, K.: A layered and parallelized method of eventual model checking. Information 14(7), 384 (2023)

    Article  Google Scholar 

  18. Phyo, Y., Do, C.M., Ogata, K.: A divide & conquer approach to conditional stable model checking. In: Cerone, A., Ölveczky, P.C. (eds.) ICTAC 2021. LNCS, vol. 12819, pp. 105–111. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-85315-0_7

    Chapter  Google Scholar 

  19. Phyo, Y., Do, C.M., Ogata, K.: A divide & conquer approach to leads-to model checking. Comput. J. 65, 1353–1364 (2021)

    Article  MathSciNet  Google Scholar 

  20. Phyo, Y., Do, C.M., Ogata, K.: A support tool for the L+1-layer divide & conquer approach to leads-to model checking. In: COMPSAC, pp. 854–863. IEEE (2021)

    Google Scholar 

  21. van der Berg, F., Laarman, A.: SpinS: extending LTSmin with Promela through SpinJa. Electron. Notes Theor. Comput. Sci. 296, 95–105 (2013)

    Article  Google Scholar 

  22. Vardi, M.Y.: An automata-theoretic approach to linear temporal logic. In: Moller, F., Birtwistle, G. (eds.) Logics for Concurrency. LNCS, vol. 1043, pp. 238–266. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-60915-6_6

    Chapter  Google Scholar 

  23. Wolper, P.: The tableau method for temporal logic: an overview. Logique et Anal. (N.S.) 28(110/111), 119–136 (1985)

    MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Canh Minh Do .

Editor information

Editors and Affiliations

The Termination of the Tableau Construction

The Termination of the Tableau Construction

To show the termination property of the tableau construction, we first define the length of formulas and the set of subformulas of formulas.

Definition 12

The length \(|\varphi |\) of \(\varphi \in \mathcal {L}_\textsf{LTL}\) is defined inductively as follows:

  1. 1.

    \(| a | = 1\) for each \(a \in \boldsymbol{A}\);

  2. 2.

    \(| \lnot \varphi | = | \varphi | + 1\);

  3. 3.

    \(| \varphi _1 \vee \varphi _2 |= | \varphi _1 | + | \varphi _2 | + 1\);

  4. 4.

    \(| {\bigcirc } \varphi | = | \varphi | + 1\);

  5. 5.

    \(| \varphi _1 \mathrel {\mathcal {U}} \varphi _2 | = | \varphi _1 | + | \varphi _2 | + 1\).

Definition 13

The set \(\textsf{Sub}(\varphi )\) of subformulas of \(\varphi \in \mathcal {L}_\textsf{LTL}\) is defined inductively as follows:

  1. 1.

    \(\textsf{Sub}(a) = \{ a \}\) for each \(a \in \boldsymbol{A}\);

  2. 2.

    \(\textsf{Sub}(\lnot \varphi ) = \{ \lnot \varphi \} \cup \textsf{Sub}(\varphi )\);

  3. 3.

    \(\textsf{Sub}(\varphi _1 \vee \varphi _2) = \{ \varphi _1 \vee \varphi _2 \} \cup \textsf{Sub}(\varphi _1) \cup \textsf{Sub}(\varphi _2)\);

  4. 4.

    \(\textsf{Sub}(\bigcirc \varphi ) = \{ \bigcirc \varphi \} \cup \textsf{Sub}(\varphi )\);

  5. 5.

    \(\textsf{Sub}(\varphi _1 \mathrel {\mathcal {U}} \varphi _2) = \{ \varphi _1 \mathrel {\mathcal {U}} \varphi _2 \} \cup \textsf{Sub}(\varphi _1) \cup \textsf{Sub}(\varphi _2)\).

We define some sets of formulas as follows:

  • \(\textsf{Sub}_{\lnot }(\varphi ) \triangleq \{ \lnot \psi \mid \psi \in \textsf{Sub}(\varphi ) \}\) is the negations of \(\textsf{Sub}(\varphi )\),

  • \(\textsf{Sub}_{\bigcirc }(\varphi ) \triangleq \{ \bigcirc \psi \mid \psi \in \textsf{Sub}(\varphi ) \cup \textsf{Sub}_{\lnot }(\varphi ) \}\) is the formulas of \(\textsf{Sub}(\varphi ) \cup \textsf{Sub}_{\lnot }(\varphi )\) preceded by \(\bigcirc \),

  • \(\mathcal {F}(\varphi ) \triangleq \textsf{Sub}(\varphi ) \cup \textsf{Sub}_{\lnot }(\varphi ) \cup \textsf{Sub}_{\bigcirc }(\varphi )\).

We then prove the relation between the size of \(\mathcal {F}(\varphi )\) and the length of \(\varphi \).

Lemma 10

\(| \mathcal {F}(\varphi ) | \le 4 \times | \varphi |\).

Proof

We prove it by structural induction on \(\varphi \) as follows:

  • Base Case \(\varphi = a \in \boldsymbol{A}\). Because

    $$ \mathcal {F}(a) = \{a, \lnot a, \bigcirc a, {\bigcirc } \lnot a \} \text { and } | a | = 1, $$

    we have \(| \mathcal {F}(a) | = 4 \le 4 \times | a |\).

  • Induction Step

    • Case I1 \(\varphi = \lnot \varphi _1\). We observe that

      $$\begin{aligned} \textsf{Sub}_{\lnot }(\lnot \varphi _1)&=\{ \lnot \psi \mid \psi \in \textsf{Sub}(\lnot \varphi _1) \} \\ &=\{ \lnot \psi \mid \psi \in \textsf{Sub}(\varphi _1) \} \cup \{\lnot \lnot \varphi _1\} \\ &=\textsf{Sub}_{\lnot }(\varphi _1) \cup \{\lnot \lnot \varphi _1\}, \\ \textsf{Sub}_{\bigcirc }(\lnot \varphi _1)&=\{ \bigcirc \psi \mid \psi \in \textsf{Sub}(\lnot \varphi _1) \cup \textsf{Sub}_{\lnot }(\lnot \varphi _1) \} \\ &=\{ \bigcirc \psi \mid \psi \in \textsf{Sub}(\varphi _1) \cup \textsf{Sub}_{\lnot }(\varphi _1) \} \cup \{\bigcirc \lnot \varphi _1\}\cup \{\bigcirc \lnot \lnot \varphi _1\} \\ &=\textsf{Sub}_{\bigcirc }(\varphi _1)\cup \{\bigcirc \lnot \varphi _1\}\cup \{\bigcirc \lnot \lnot \varphi _1\}. \end{aligned}$$

      Thus,

      $$\begin{aligned} \mathcal {F}(\lnot \varphi _1)&=\textsf{Sub}(\lnot \varphi _1) \cup \textsf{Sub}_{\lnot }(\lnot \varphi _1) \cup \textsf{Sub}_{\bigcirc }(\lnot \varphi _1) \\ &=\{\lnot \varphi _1\}\cup \textsf{Sub}(\varphi _1)\cup \textsf{Sub}_{\lnot }(\varphi _1) \\ &\cup \{\lnot \lnot \varphi _1\}\cup \textsf{Sub}_{\bigcirc }(\varphi _1)\cup \{\bigcirc \lnot \varphi _1\}\cup \{\bigcirc \lnot \lnot \varphi _1\} \\ &=\mathcal {F}(\varphi _1)\cup \{\lnot \varphi _1,\lnot \lnot \varphi _1,\bigcirc \lnot \varphi _1,\bigcirc \lnot \lnot \varphi _1\}. \end{aligned}$$

      By the induction hypothesis, \(|\mathcal {F}(\varphi _1)|\le 4\times |\varphi _1|\). Hence,

      $$ |\mathcal {F}(\lnot \varphi _1)|=|\mathcal {F}(\varphi _1)|+4\le 4\times |\varphi _1|+4=4\times (|\varphi _1|+1)=4\times |\lnot \varphi _1|. $$
    • Case I2 \(\varphi = \varphi _1 \vee \varphi _2\). We observe that

      $$\begin{aligned} \textsf{Sub}_{\lnot }(\varphi _1 \vee \varphi _2)&=\{ \lnot \psi \mid \psi \in \textsf{Sub}(\varphi _1 \vee \varphi _2) \} \\ &=\{ \lnot \psi \mid \psi \in \textsf{Sub}(\varphi _1) \cup \textsf{Sub}(\varphi _2) \} \cup \{\lnot (\varphi _1\vee \varphi _2)\} \\ &=\{ \lnot \psi \mid \psi \in \textsf{Sub}(\varphi _1) \} \cup \{ \lnot \psi \mid \psi \in \textsf{Sub}(\varphi _2) \} \cup \{\lnot (\varphi _1\vee \varphi _2)\} \\ &=\textsf{Sub}_\lnot (\varphi _1) \cup \textsf{Sub}_\lnot (\varphi _2) \cup \{\lnot (\varphi _1\vee \varphi _2)\}, \\ \textsf{Sub}_{\bigcirc }(\varphi _1 \vee \varphi _2)&=\{ \bigcirc \psi \mid \psi \in \textsf{Sub}(\varphi _1 \vee \varphi _2) \cup \textsf{Sub}_{\lnot }(\varphi _1 \vee \varphi _2) \} \\ &=\{ \bigcirc \psi \mid \psi \in \textsf{Sub}(\varphi _1) \cup \textsf{Sub}(\varphi _2) \cup \textsf{Sub}_{\lnot }(\varphi _1) \cup \textsf{Sub}_\lnot (\varphi _2)\} \\ &\cup \{\bigcirc (\varphi _1\vee \varphi _2)\}\cup \{\bigcirc \lnot (\varphi _1\vee \varphi _2)\} \\ &=\{ \bigcirc \psi \mid \psi \in \textsf{Sub}(\varphi _1) \cup \textsf{Sub}_\lnot (\varphi _1) \} \\ &\cup \{ \bigcirc \psi \mid \psi \in \textsf{Sub}(\varphi _2) \cup \textsf{Sub}_\lnot (\varphi _2)\} \\ &\cup \{\bigcirc (\varphi _1\vee \varphi _2)\}\cup \{\bigcirc \lnot (\varphi _1\vee \varphi _2)\} \\ &=\textsf{Sub}_\bigcirc (\varphi _1)\cup \textsf{Sub}_\bigcirc (\varphi _2)\cup \{\bigcirc (\varphi _1\vee \varphi _2)\}\cup \{\bigcirc \lnot (\varphi _1\vee \varphi _2)\}. \end{aligned}$$

      Thus,

      $$\begin{aligned} \mathcal {F}(\varphi _1 \vee \varphi _2) &= \textsf{Sub}(\varphi _1 \vee \varphi _2) \cup \textsf{Sub}_{\lnot }(\varphi _1 \vee \varphi _2) \cup \textsf{Sub}_{\bigcirc }(\varphi _1 \vee \varphi _2) \\ &=\{\varphi _1\vee \varphi _2\}\cup \textsf{Sub}(\varphi _1)\cup \textsf{Sub}(\varphi _2) \\ &\cup \textsf{Sub}_\lnot (\varphi _1) \cup \textsf{Sub}_\lnot (\varphi _2) \cup \{\lnot (\varphi _1\vee \varphi _2)\} \\ &\cup \textsf{Sub}_\bigcirc (\varphi _1)\cup \textsf{Sub}_\bigcirc (\varphi _2)\cup \{\bigcirc (\varphi _1\vee \varphi _2)\}\cup \{\bigcirc \lnot (\varphi _1\vee \varphi _2)\} \\ &=\mathcal {F}(\varphi _1)\cup \mathcal {F}(\varphi _2)\cup \{\varphi _1\vee \varphi _2,\lnot (\varphi _1\vee \varphi _2),\bigcirc (\varphi _1\vee \varphi _2),\bigcirc \lnot (\varphi _1\vee \varphi _2)\}. \end{aligned}$$

      By the induction hypothesis, \(|\mathcal {F}(\varphi _1)|\le 4\times |\varphi _1|\) and \(|\mathcal {F}(\varphi _2)|\le 4\times |\varphi _2|\). Hence,

      $$ |\mathcal {F}(\varphi _1\vee \varphi _2)|=|\mathcal {F}(\varphi _1)|+|\mathcal {F}(\varphi _2)|+4\le 4\times (|\varphi _1|+|\varphi _2|+1)=4\times |\varphi _1\vee \varphi _2|. $$
    • Case I3 \(\varphi = \bigcirc \varphi _1\). The proof is similar to Case I1.

    • Case I4 \(\varphi = \varphi _1 \mathrel {\mathcal {U}} \varphi _2\). The proof is similar to Case I2.    \(\square \)

Let \(\mathcal {T}\) be the tableau of \(\varphi \) constructed based on Algorithm 1 with the tableau rules. It is apparent that the formulas labeling the nodes of \(\mathcal {T}\) are subformulas or negations of subformulas of \(\varphi \) or such formulas preceded by \(\bigcirc \), that is \(\mathcal {F}(\varphi )\). Therefore, the number of nodes of \(\mathcal {T}\) is at most equal to the number of subsets of \(\mathcal {F}(\varphi )\), that is \(2^{|\mathcal {F}(\varphi )|} \le 2^{4 \times | \varphi |}\) regarding Lemma 10. Because \(| \varphi |\) is finite and previously created nodes are used instead of creating new ones in \(\mathcal {T}\), the construction of \(\mathcal {T}\) for any LTL formula \(\varphi \) terminates.

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Minh Do, C., Takagi, T., Ogata, K. (2024). A Tableau-Based Approach to Model Checking Linear Temporal Properties. In: Ogata, K., Mery, D., Sun, M., Liu, S. (eds) Formal Methods and Software Engineering. ICFEM 2024. Lecture Notes in Computer Science, vol 15394. Springer, Singapore. https://doi.org/10.1007/978-981-96-0617-7_20

Download citation

  • DOI: https://doi.org/10.1007/978-981-96-0617-7_20

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-96-0616-0

  • Online ISBN: 978-981-96-0617-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics