Abstract
EFSMs provide a way to model systems with internal data variables. In situations where they do not already exist, we need to infer them from system behaviour. A key challenge here is inferring the functions which relate inputs, outputs, and internal variables. Existing approaches either work with white-box traces, which expose variable values, or rely upon the user to provide heuristics to recognise and generalise particular data-usage patterns. This paper presents a preprocessing technique for the inference process which generalises the concrete values from the traces into symbolic functions which calculate output from input, even when this depends on values not present in the original traces. Our results show that our technique leads to more accurate models than are produced by the current state-of-the-art and that somewhat accurate models can still be inferred even when the output of particular transitions depends on values not present in the original traces.
Michael Foster and Neil Walkinshaw are funded by the EPSRC CITCoM project.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
https://github.com/lagodiuk/genetic-programming. Accessed 03 Feb 2020
http://www.doc.ic.ac.uk/~jnm/book/book_applets/concurrency/invaders. Accessed 15 May 2020
http://www.cs.le.ac.uk/people/nw91/Files/ICSMEData.zip. Accessed 15 April 2020
Aarts, F.: Tomte : Bridging the gap between active learning and real-world systems. Ph.D. thesis, Radboud University Nijmegen (2014)
Aarts, F., Heidarian, F., Kuppens, H., Olsen, P., Vaandrager, F.: Automata Learning through Counterexample Guided Abstraction Refinement. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 10–27. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32759-9_4
Androutsopoulos, K., Gold, N., Harman, M., Li, Z., Tratt, L.: A theoretical and empirical study of EFSM dependence. In: 2009 IEEE International Conference on Software Maintenance, pp. 287–296 (2009)
Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75(2), 87–106 (1987)
Arcaini, P., Gargantini, A., Radavelli, M.: Achieving change requirements of feature models by an evolutionary approach. J. Syst. Softw. 150, 64–76 (2019)
Berg, T., Jonsson, B., Raffelt, H.: Regular inference for state machines using domains with equality tests. In: Fiadeiro, J.L., Inverardi, P. (eds.) Fundamental Approaches to Software Engineering. vol. 4961 LNCS, pp. 317–331. Springer, Berlin (2008). https://doi.org/10.1007/978-3-540-78743-3_24
Biermann, A.W., Feldman, J.A.: On the synthesis of finite-state machines from samples of their behavior. IEEE Trans. Comput. C-21(6), 592–597 (1972)
Buzhinsky, I., Vyatkin, V.: Automatic inference of finite-state plant models from traces and temporal properties. IEEE Trans. Indust. Inf. 13(4), 1521–1530 (2017)
Cassel, S., Howar, F., Jonsson, B., Steffen, B.: Learning extended finite state machines. In: Giannakopoulou, D., Salaun, G. (eds.) Software Engineering and Formal Methods, pp. 250–264. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-10431-7_18
Cheng, K.T., Krishnakumar, A.S.: Automatic functional test generation using the extended finite state machine model. In: Proceedings of the 30th International Design Automation Conference, pp. 86–91. ACM Press (1993)
Doerr, B., Le, H.P., Makhmara, R., Nguyen, T.D.: Fast genetic algorithms. In: Proceedings of the Genetic and Evolutionary Computation Conference, pp. 777–784. Association for Computing Machinery (2017)
Foster, M.: EFSM inference (2020). https://github.com/jmafoster1/efsm-inference
Foster, M.: Reverse Engineering Systems to Identify Flaws and Understand Behaviour. Ph.D. thesis, The University Of Sheffield (2020)
Foster, M., Brucker, A.D., Taylor, R., North, S., Derrick, J.: Incorporating data into EFSM inference. In: Olveczky, P., SalaUn, G. (eds.) Software Engineering and Formal Methods. SEFM 2019. LNCS, vol. 11724, pp. 257–272. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-30446-1_14
Foster, M., Brucker, A.D., Taylor, R.G., Derrick, J.: A formal model of extended finite state machines. Archive of Formal Proofs (2020). https://isa-afp.org/entries/Extended_Finite_State_Machines.html, Formal proof development
Foster, M., Taylor, R., Brucker, A.D., Derrick, J.: Formalising extended finite state machine transition merging. In: Sun, J., Sun, M. (eds.) Formal Methods and Software Engineering. ICFEM 2018. LNCS, vol. 11232, pp. 373–387. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-02450-5_22
Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press (1992)
Lang, K.J., Pearlmutter, B.A., Price, R.A.: Results of the Abbadingo One DFA learning competition and a new evidence-driven state merging algorithm. In: Grammatical Inference, pp. 1–12. Springer, Berlin (1998). https://doi.org/10.1007/BFb0054059
Langdon, W.B.: Quadratic bloat in genetic programming. In: Proceedings of the 2nd Annual Conference on Genetic and Evolutionary Computation, pp. 451–458. GECCO’00, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (2000)
Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines-a survey. Proc. IEEE 84(8), 1090–1123 (1996)
Lorenzoli, D., Mariani, L., Pezzè, M.: Inferring state-based behavior models. In: Proceedings of the 2006 International Workshop on Dynamic Systems Analysis, p. 25. ACM Press (2006)
Lorenzoli, D., Mariani, L., Pezzè, M.: Automatic generation of software behavioral models. In: Proceedings of the 13th International Conference on Software Engineering, p. 501. ACM Press (2008)
Luke, S., Panait, L.: Lexicographic parsimony pressure. In: Proceedings of the 4th Annual Conference on Genetic and Evolutionary Computation, pp. 829–836. Morgan Kaufmann Publishers Inc. (2002)
Magee, J., Kramer, J.: State Models and Java Programs, 2nd edn. Wiley Hoboken (2006)
Mannhardt, F.: Multi-perspective process mining. Ph.D. thesis, TU Eindhoven (2018)
de Moura, L., Bjørner, N.: Z3: An efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24
Poli, R., Langdon, W.B., McPhee, N.F.: A field guide to genetic programming (2008). http://www.gp-field-guide.org.uk
Strobl, F., Wisspeintner, A.: Specifcation of an elevator control system. Technical report, TUM (1999). https://wwwbroy.in.tum.de/publ/papers/elevator.pdf
Ulyantsev, V., Tsarev, F.: Extended finite-state machine induction using sat-solver. In: 2011 10th International Conference on Machine Learning and Applications and Workshops, vol. 2, pp. 346–349 (2011)
Ulyantsev, V., Buzhinsky, I., Shalyto, A.: Exact finite-state machine identification from scenarios and temporal properties. Int. J. Softw. Tools Technol. Transfer 20(1), 35–55 (2016)
Vaandrager, F., Midya, A.: A Myhill-Nerode theorem for register automata and symbolic trace languages. In: Holm, C., Kremer, K. (eds.) Theoretical Aspects of Computing, vol. 221, pp. 43–63. Springer, Cham (2020). https://doi.org/10.1016/j.tcs.2022.01.015
Van Der Aalst, W.: Process mining. Commun. ACM 55(8), 76–83 (2012)
Walkinshaw, N., Hall, M.: Inferring computational state machine models from program executions. In: 2016 IEEE International Conference on Software Maintenance and Evolution, pp. 122–132. IEEE (2016)
Walkinshaw, N., Lambeau, B., Damas, C., Bogdanov, K., Dupont, P.: STAMINA: a competition to encourage the development and assessment of software model inference techniques. Emp. Softw. Eng. 18(4), 791–824 (2013)
Walkinshaw, N., Taylor, R., Derrick, J.: Inferring extended finite state machine models from software executions. Emp. Softw. Eng. 21(3), 811–853 (2016)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 IFIP International Federation for Information Processing
About this paper
Cite this paper
Foster, M., Derrick, J., Walkinshaw, N. (2022). Reverse-Engineering EFSMs with Data Dependencies. In: Clark, D., Menendez, H., Cavalli, A.R. (eds) Testing Software and Systems. ICTSS 2021. Lecture Notes in Computer Science, vol 13045. Springer, Cham. https://doi.org/10.1007/978-3-031-04673-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-031-04673-5_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-04672-8
Online ISBN: 978-3-031-04673-5
eBook Packages: Computer ScienceComputer Science (R0)