Abstract
Reachability analysis in rewriting has served as a verification technique in recent decades, despite the underlying issue being undecidable. Regular tree model-checking has found application in verifying security protocols, Java programs, and concurrent systems. The premise in these approaches is to represent the targeted system as a state system and encode its transitions using a term rewriting system or a tree transducer. The crucial aspect lies in calculating a fixed point that represents the set of configurations or states that can be reached. While this is generally uncomputable, it is sufficient to compute an overapproximation for the purpose of verifying safety properties.
Let A, B, and \(\mathcal {R}\) represent, respectively, an initial set of terms, a set of forbidden (“bad”) terms, and a term rewriting system. The question is whether there exists a regular approximation \(A^\star \) of the set of reachable terms such that \(A^\star \supseteq \mathcal {R}^*(A)\) and \(A^\star \cap B = \varnothing \).
Finding suitable approximations requires, in practice, the use of heuristics, steered towards an anticipated conclusive fixed point by the intervention of human domain experts. The parameters upon which they act may take the form of term equations, normalizing rules, predicate abstractions, etc., but in all cases boil down to carefully choosing states to merge during the fixpoint computation, forcing convergence while avoiding overshooting the approximation into \(B\).
We propose a practical, scalable automated method offloading that expert work to a SAT solver.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
This is usually presented as the pair \((\sigma \,l, \sigma \,r)\), hence the name “critical pair”.
- 2.
This the usual restriction for TA completion. See [14, Sec. 4.4.1] for a discussion.
- 3.
Intuitively, a completion step enables \(A\) to recognise all terms obtainable by applying any number of rules of \(\mathcal {R}\) in parallel—and exactly those terms if \(\mathcal {R}\) is right-linear—hence the notation.
- 4.
References
Boichut, Y., Courbis, R., Héam, P.-C., Kouchnarenko, O.: Finer is better: abstraction refinement for rewriting approximations. In: Voronkov, A. (ed.) RTA 2008. LNCS, vol. 5117, pp. 48–62. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-70590-1_4
Boichut, Y., Dao, T.-B.-H., Murat, V.: Characterizing conclusive approximations by logical formulae. In: Delzanno, G., Potapov, I. (eds.) RP 2011. LNCS, vol. 6945, pp. 72–84. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24288-5_8
Boichut, Y., Héam, P.-C.: A theoretical limit for safety verification techniques with regular fix-point computations. IPL 108(1), 1–2 (2008)
Boichut, Y., Héam, P.-C., Kouchnarenko, O.: Approximation-based tree regular model-checking. Nord. J. Comput. 14(3), 216–241 (2008)
Bouajjani, A., Habermehl, P., Rogalewicz, A., Vojnar, T.: Abstract regular (tree) model checking. STTT 14(2), 167–191 (2012)
Comon, H., Dauchet, M., Gilleron, R., Lugiez, D., Tison, S., Tommasi, M.: Tree Automata Techniques and Applications (TATA) (2007)
Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24605-3_37
Feuillade, G., Genet, T., Tong, V.V.T.: Reachability analysis over term rewriting systems. J. Autom. Reason. 33(3–4), 341–383 (2004)
Genet, T., Rusu, V.: Equational Tree Automata Completion. J. Symb. Comput. 45, 2010 (2010)
Genet, T.: Decidable approximations of sets of descendants and sets of normal forms. In: Nipkow, T. (ed.) RTA 1998. LNCS, vol. 1379, pp. 151–165. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0052368
Genet, Th.: Completeness of tree automata completion. In: FSCD 2018. LIPIcs, vol. 108, pp. 16:1–16:20 (2018)
Genet, T., Haudebourg, T., Jensen, T.: Verifying higher-order functions with tree automata. In: Baier, C., Dal Lago, U. (eds.) FoSSaCS 2018. LNCS, vol. 10803, pp. 565–582. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-89366-2_31
Genet, T., Klay, F.: Rewriting for cryptographic protocol verification. In: McAllester, D. (ed.) CADE 2000. LNCS (LNAI), vol. 1831, pp. 271–290. Springer, Heidelberg (2000). https://doi.org/10.1007/10721959_21
Genet, T.: Reachability analysis of rewriting for software verification. Habilitation thesis (habilitation à diriger des recherches), University of Rennes I (2009)
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
Heule, M.J.H., Kullmann, O., Wieringa, S., Biere, A.: Cube and conquer: guiding CDCL SAT solvers by lookaheads. In: Eder, K., Lourenço, J., Shehory, O. (eds.) HVC 2011. LNCS, vol. 7261, pp. 50–65. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-34188-5_8
Ignatiev, A., Morgado, A., Marques-Silva, J.: PySAT: a Python toolkit for prototyping with SAT oracles. In: Beyersdorff, O., Wintersteiger, C.M. (eds.) SAT 2018. LNCS, vol. 10929, pp. 428–437. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-94144-8_26
Resten, Y., Maler, O., Marcus, M., Pnueli, A., Shahar, E.: Symbolic model checking with rich assertional languages. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 424–435. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-63166-6_41
Klarlund, N., Møller, A.: MONA Version 1.4 User Manual, January 2001. Notes Series NS-01-1. http://www.brics.dk/mona/
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Boichut, Y., Hugot, V., Boiret, A. (2024). SAT-Based Automated Completion for Reachability Analysis. In: Fazekas, S.Z. (eds) Implementation and Application of Automata. CIAA 2024. Lecture Notes in Computer Science, vol 15015. Springer, Cham. https://doi.org/10.1007/978-3-031-71112-1_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-71112-1_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-71111-4
Online ISBN: 978-3-031-71112-1
eBook Packages: Computer ScienceComputer Science (R0)