Skip to main content

From Starvation Freedom to All-Path Reachability Problems in Constrained Rewriting

  • Conference paper
  • First Online:
Practical Aspects of Declarative Languages (PADL 2023)

Abstract

An all-path reachability problem of a logically constrained term rewrite system is a pair of constrained terms representing state sets, and is demonically valid if every finite execution path from any state in the first set to a terminating state includes a state in the second set. We have proposed a framework to reduce the non-occurrence of specified error states in a transition system represented by a logically constrained term rewrite system to an all-path reachability problem of the system. In this paper, we extend the framework to verification of starvation freedom of asynchronous integer transition systems with shared variables such that some processes enter critical sections.

This work was partially supported by JSPS KAKENHI Grant Number 18K11160 and DENSO Corporation.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.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

Notes

  1. 1.

    When there exists a shared variable, we rename the variables in \(\ell \rightarrow r ~ [\psi ]\).

  2. 2.

    We also say that \(\langle t_\ell \mid \phi _\ell \rangle \Rightarrow \langle t_r \mid \phi _r \rangle \) is demonically valid w.r.t. \(\mathcal {R}\).

  3. 3.

    A constant-directed problem \(\langle t_\ell \mid \phi _\ell \rangle \Rightarrow \langle c\mid \phi _r\rangle \) is equivalent to the constant-directed problem \(\langle t_\ell \mid \phi _\ell \wedge (\exists \vec {x}.\ \phi _r)\rangle \Rightarrow \langle c\mid \textsf{true}\rangle \), where \(\{\vec {x}\}=\mathcal {V}ar(\phi _r)\setminus \mathcal {V}ar(t_\ell ,\phi _\ell )\).

  4. 4.

    If there exists a substitution \(\gamma \) such that \(\mathcal {R}an(\gamma |_{\mathcal {V}ar(\phi '_\ell )})\subseteq T(\varSigma _{ theory },\mathcal {V}ar(\phi _\ell ))\), \(t_\ell =t'_\ell \gamma \), and \(\phi _\ell \iff \phi '_\ell \gamma \) is valid, then \(\llbracket \langle t_\ell \mid \phi _\ell \rangle \rrbracket \subseteq \llbracket \langle t'_\ell \mid \phi '_\ell \rangle \rrbracket \) [15, Proposition 5.8].

  5. 5.

    To represent local variables \(y_1,\ldots ,y_k\) of process \(P_i\) with locations \(\ell _1,\ldots \), we use a ground term \(\ell _j(v_1,\ldots ,v_k)\) for the local state with location \(\ell _j\) and integers \(v_1,\ldots ,v_k\) that are assigned to \(y_1,\ldots ,y_k\), respectively.

  6. 6.

    For simplicity, in some examples, we use \(P_0\) instead of \(P_n\), i.e., use \(P_0,\ldots ,P_{n-1}\).

  7. 7.

    By definition, the sort of \(\langle s_0 \mid \phi _0 \rangle \) is \(\texttt{state}\).

  8. 8.

    https://www.trs.css.i.nagoya-u.ac.jp/~nishida/padl2023/.

References

  1. Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998). https://doi.org/10.1145/505863.505888

    Book  MATH  Google Scholar 

  2. Baier, C., Katoen, J.: Principles of Model Checking. MIT Press, Cambridge (2008)

    MATH  Google Scholar 

  3. Brotherston, J.: Cyclic proofs for first-order logic with inductive definitions. In: Beckert, B. (ed.) TABLEAUX 2005. LNCS (LNAI), vol. 3702, pp. 78–92. Springer, Heidelberg (2005). https://doi.org/10.1007/11554554_8

    Chapter  MATH  Google Scholar 

  4. Buruiană, A.S., Ciobâcă, Ş.: Reducing total correctness to partial correctness by a transformation of the language semantics. In: Niehren, J., Sabel, D. (eds.) Proceedings of the 5th International Workshop on Rewriting Techniques for Program Transformations and Evaluation. Electronic Proceedings in Theoretical Computer Science, vol. 289, pp. 1–16. Open Publishing Association (2018). https://doi.org/10.4204/EPTCS.289.1

  5. Ciobâcă, Ş, Lucanu, D.: A coinductive approach to proving reachability properties in logically constrained term rewriting systems. In: Galmiche, D., Schulz, S., Sebastiani, R. (eds.) IJCAR 2018. LNCS (LNAI), vol. 10900, pp. 295–311. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94205-6_20

    Chapter  Google Scholar 

  6. Fedyukovich, G., Zhang, Y., Gupta, A.: Syntax-guided termination analysis. In: Chockler, H., Weissenbacher, G. (eds.) CAV 2018. LNCS, vol. 10981, pp. 124–143. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96145-3_7

    Chapter  Google Scholar 

  7. Fernández, M.: Programming Languages and Operational Semantics – A Concise Overview. Undergraduate Topics in Computer Science. Springer, London (2014). https://doi.org/10.1007/978-1-4471-6368-8

  8. Fuhs, C., Kop, C., Nishida, N.: Verifying procedural programs via constrained rewriting induction. ACM Trans. Computat. Log. 18(2), 14:1–14:50 (2017). https://doi.org/10.1145/3060143

  9. Genet, T., Rusu, V.: Equational approximations for tree automata completion. J. Symb. Comput. 45(5), 574–597 (2010). https://doi.org/10.1016/j.jsc.2010.01.009

    Article  MathSciNet  MATH  Google Scholar 

  10. Genet, T., Tong, V.V.T.: Reachability analysis of term rewriting systems with Timbuk. In: Nieuwenhuis, R., Voronkov, A. (eds.) LPAR 2001. LNCS (LNAI), vol. 2250, pp. 695–706. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45653-8_48

    Chapter  Google Scholar 

  11. Jacquemard, F.: Decidable approximations of term rewriting systems. In: Ganzinger, H. (ed.) RTA 1996. LNCS, vol. 1103, pp. 362–376. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-61464-8_65

    Chapter  Google Scholar 

  12. Kanazawa, Y., Nishida, N.: On transforming functions accessing global variables into logically constrained term rewriting systems. In: Niehren, J., Sabel, D. (eds.) Proceedings of the 5th International Workshop on Rewriting Techniques for Program Transformations and Evaluation. Electronic Proceedings in Theoretical Computer Science, vol. 289, pp. 34–52. Open Publishing Association (2019)

    Google Scholar 

  13. Kanazawa, Y., Nishida, N., Sakai, M.: On representation of structures and unions in logically constrained rewriting. In: IEICE Technical Report SS2018-38, IEICE 2019, vol. 118, no. 385, pp. 67–72 (2019). In Japanese

    Google Scholar 

  14. Kobayashi, N., Nishikawa, T., Igarashi, A., Unno, H.: Temporal verification of programs via first-order fixpoint logic. In: Chang, B.-Y.E. (ed.) SAS 2019. LNCS, vol. 11822, pp. 413–436. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-32304-2_20

    Chapter  Google Scholar 

  15. Kojima, M., Nishida, N.: On reducing non-occurrence of specified runtime errors to all-path reachability problems. In: Informal Proceedings of the 9th International Workshop on Rewriting Techniques for Program Transformations and Evaluation, pp. 1–16 (2022)

    Google Scholar 

  16. Kojima, M., Nishida, N., Matsubara, Y.: Transforming concurrent programs with semaphores into logically constrained term rewrite systems. In: Informal Proceedings of the 7th International Workshop on Rewriting Techniques for Program Transformations and Evaluation. pp. 1–12 (2020)

    Google Scholar 

  17. Kop, C., Nishida, N.: Term rewriting with logical constraints. In: Fontaine, P., Ringeissen, C., Schmidt, R.A. (eds.) FroCoS 2013. LNCS (LNAI), vol. 8152, pp. 343–358. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40885-4_24

    Chapter  Google Scholar 

  18. Kop, C., Nishida, N.: Automatic constrained rewriting induction towards verifying procedural programs. In: Garrigue, J. (ed.) APLAS 2014. LNCS, vol. 8858, pp. 334–353. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-12736-1_18

    Chapter  Google Scholar 

  19. de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24

    Chapter  Google Scholar 

  20. Naaf, M., Frohn, F., Brockschmidt, M., Fuhs, C., Giesl, J.: Complexity analysis for term rewriting by integer transition systems. In: Dixon, C., Finger, M. (eds.) FroCoS 2017. LNCS (LNAI), vol. 10483, pp. 132–150. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66167-4_8

    Chapter  MATH  Google Scholar 

  21. Nishida, N., Winkler, S.: Loop detection by logically constrained term rewriting. In: Piskac, R., Rümmer, P. (eds.) VSTTE 2018. LNCS, vol. 11294, pp. 309–321. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03592-1_18

    Chapter  Google Scholar 

  22. Ohlebusch, E.: Advanced Topics in Term Rewriting. Springer, New York (2002). https://doi.org/10.1007/978-1-4757-3661-8

    Book  MATH  Google Scholar 

  23. Rosu, G., Serbanuta, T.: An overview of the K semantic framework. J. Log. Algebraic Program. 79(6), 397–434 (2010). https://doi.org/10.1016/j.jlap.2010.03.012

    Article  MathSciNet  MATH  Google Scholar 

  24. Ştefănescu, A., Ciobâcă, Ş, Mereuta, R., Moore, B.M., Şerbănută, T.F., Roşu, G.: All-path reachability logic. In: Dowek, G. (ed.) RTA 2014. LNCS, vol. 8560, pp. 425–440. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08918-8_29

    Chapter  Google Scholar 

  25. Stefanescu, A., Ciobâcă, Ş., Mereuta, R., Moore, B.M., Serbanuta, T., Rosu, G.: All-path reachability logic. Log. Methods Comput. Sci. 15(2) (2019). https://doi.org/10.23638/LMCS-15(2:5)2019

  26. Takai, T., Kaji, Y., Seki, H.: Right-linear finite path overlapping term rewriting systems effectively preserve recognizability. In: Bachmair, L. (ed.) RTA 2000. LNCS, vol. 1833, pp. 246–260. Springer, Heidelberg (2000). https://doi.org/10.1007/10721975_17

    Chapter  MATH  Google Scholar 

  27. Tsukada, T., Unno, H.: Software model-checking as cyclic-proof search. Proc. ACM Program. Lang. 6(POPL), 1–29 (2022). https://doi.org/10.1145/3498725

  28. Winkler, S., Middeldorp, A.: Completion for logically constrained rewriting. In: Kirchner, H. (ed.) Proceedings of the 3rd International Conference on Formal Structures for Computation and Deduction. LIPIcs, vol. 108, pp. 30:1–30:18. Schloss Dagstuhl-Leibniz-Zentrum für Informatik (2018). https://doi.org/10.4230/LIPIcs.FSCD.2018.30

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Misaki Kojima .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Kojima, M., Nishida, N. (2023). From Starvation Freedom to All-Path Reachability Problems in Constrained Rewriting. In: Hanus, M., Inclezan, D. (eds) Practical Aspects of Declarative Languages. PADL 2023. Lecture Notes in Computer Science, vol 13880. Springer, Cham. https://doi.org/10.1007/978-3-031-24841-2_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-24841-2_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-24840-5

  • Online ISBN: 978-3-031-24841-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics