Abstract
We use SAT-solving to construct adaptive distinguishing sequences and unique input/output sequences for finite state machines in the flavour of Mealy machines. These sequences solve the state identification and state verification problems respectively. Preliminary experiments evaluate our implementation and show that this approach via SAT-solving works well and is able to find many short sequences.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
We use \(\mathfrak {F}\)raktur letters to distinguish variables in our encoding, such as \(\mathfrak {a}\), from variables ranging over sets used as indices, such as a symbol \(a \in I\). The symbols are chosen so that \(\mathfrak {a}\) stands for alphabet, \(\mathfrak {s}\) stands for state, \(\mathfrak {o}\) stands for output and \(\mathfrak {d}\) stands for difference.
References
Audemard, G., Simon, L.: Predicting learnt clauses quality in modern SAT solvers. In: Proceedings of the 21st International Joint Conference on Artificial Intelligence IJCAI, pp. 399–404 (2009)
Biere, A., Heule, M., van Maaren, H. (eds.).: Handbook of Satisfiability, volume 185 of Frontiers in Artificial Intelligence and Applications. IOS Press (2009)
Eén, N., Sörensson, N.: An extensible sat-solver. In: Theory and Applications of Satisfiability Testing, 6th International Conference, SAT 2003. Selected Revised Papers, volume 2919 of LNCS, pp. 502–518. Springer (2003). https://doi.org/10.1007/978-3-540-24605-337
Eén, N., Sörensson, N.: Temporal induction by incremental SAT solving. Electron. Notes Theor. Comput. Sci. 89(4), 543–560 (2003)
Fiterau-Brostean, P., Jonsson, B., Merget, R., de Ruiter, J., Sagonas, K., Somorovsky, J.: Analysis of DTLS implementations using protocol state fuzzing. In: USENIX Security Symposium, pp. 2523–2540. USENIX Association (2020)
Geuvers, H., Jacobs, B.: Relating apartness and bisimulation. Logical Meth. Comput. Sci. 17(3) (2021). https://doi.org/10.46298/lmcs-17(3:15)2021
Ignatiev, A., Morgado, A., Marques-Silva, J.: PySAT: a python toolkit for prototyping with SAT oracles. In: SAT, volume 10929 of LNCS, pp. 428–437 (2018). https://doi.org/10.1007/978-3-319-94144-826
Lee, D., Yannakakis, M.: Testing finite-state machines: state identification and verification. IEEE Trans. Comput. 43(3), 306–320 (1994). https://doi.org/10.1109/12.272431
Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines - a survey. Proc. IEEE 84, 1090–1123 (1996). https://doi.org/10.1109/5.533956
Naik, K.: Efficient computation of unique input/output sequences in finite-state machines. IEEE/ACM Trans. Netw. 5(4), 585–599 (1997)
Neider, D., Smetsers, R., Vaandrager, F., Kuppens, H.: Benchmarks for automata learning and conformance testing. In: Margaria, T., Graf, S., Larsen, K.G. (eds.) Models, Mindsets, Meta: The What, the How, and the Why Not? LNCS, vol. 11200, pp. 390–416. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-22348-9_23
Sinz, C.: Towards an optimal CNF encoding of boolean cardinality constraints. In: van Beek, P. (ed.) CP 2005. LNCS, vol. 3709, pp. 827–831. Springer, Heidelberg (2005). https://doi.org/10.1007/11564751_73
Smetsers, R., Moerman, J., Jansen, D.N.: Minimal separating sequences for all pairs of states. In: Dediu, A.-H., Janoušek, J., Martín-Vide, C., Truthe, B. (eds.) LATA 2016. LNCS, vol. 9618, pp. 181–193. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-30000-9_14
Smeenk, W., Moerman, J., Vaandrager, F., Jansen, D.N.: Applying automata learning to embedded control software. In: Butler, M., Conchon, S., Zaïdi, F. (eds.) ICFEM 2015. LNCS, vol. 9407, pp. 67–83. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-25423-4_5
Tappler, M., Aichernig, B.K., Bloem, R.: Model-based testing IoT communication via active automata learning. In: ICST, pp. 276–287. IEEE Computer Society (2017)
Vaandrager, F., Garhewal, B., Rot, B., Wißmann, T.: A new approach for active automata learning based on apartness. In: Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS: Lecture Notes in Computer Science. Springer 04, 2022 (2022). https://doi.org/10.1007/978-3-030-99524-9_12
Acknowledgements
We would like to thank Alexander Fedotov for providing an implementation of Naik’s algorithm in Java. We are grateful for the many suggestions by the referees that helped improving the present paper.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Moerman, J., Wißmann, T. (2022). State Identification and Verification with Satisfaction. In: Jansen, N., Stoelinga, M., van den Bos, P. (eds) A Journey from Process Algebra via Timed Automata to Model Learning . Lecture Notes in Computer Science, vol 13560. Springer, Cham. https://doi.org/10.1007/978-3-031-15629-8_23
Download citation
DOI: https://doi.org/10.1007/978-3-031-15629-8_23
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-15628-1
Online ISBN: 978-3-031-15629-8
eBook Packages: Computer ScienceComputer Science (R0)