Advertisement

Incorporating Data into EFSM Inference

  • Michael FosterEmail author
  • Achim D. Brucker
  • Ramsay G. Taylor
  • Siobhán North
  • John Derrick
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11724)

Abstract

Models are an important way of understanding software systems. If they do not already exist, then we need to infer them from system behaviour. Most current approaches infer classical FSM models that do not consider data, thus limiting applicability. EFSMs provide a way to concisely model systems with an internal state but existing inference techniques either do not infer models which allow outputs to be computed from inputs, or rely heavily on comprehensive white-box traces to reveal the internal program state, which are often unavailable.

In this paper, we present an approach for inferring EFSM models, including functions that modify the internal state. Our technique uses black-box traces which only contain information visible to an external observer of the system. We implemented our approach as a prototype.

Keywords

EFSM inference Model inference Reverse engineering 

References

  1. 1.
    Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75(2), 87–106 (1987).  https://doi.org/10.1016/0890-5401(87)90052-6MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    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).  https://doi.org/10.1109/TC.1972.5009015MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Cheng, K.T., Krishnakumar, A.S.: Automatic functional test generation using the extended finite state machine model. In: 30th ACM/IEEE Design Automation Conference, pp. 86–91. IEEE (1993).  https://doi.org/10.1145/157485.164585
  4. 4.
    Damas, C., Lambeau, B., Dupont, P., Van Lamsweerde, A.: Generating annotated behavior models from end-user scenarios. IEEE Trans. Softw. Eng. 31(12), 1056–1073 (2005).  https://doi.org/10.1109/TSE.2005.138CrossRefGoogle Scholar
  5. 5.
    Dupont, P., Lambeau, B., Damas, C., Van Lamsweerde, A.: The QSM algorithm and its application to software behavior model induction. Appl. Artif. Intell. 22(1–2), 77–115 (2008).  https://doi.org/10.1080/08839510701853200CrossRefGoogle Scholar
  6. 6.
    Foster, M., Taylor, R.G., Brucker, A.D., Derrick, J.: Formalising extended finite state machine transition merging. In: Sun, J., Sun, M. (eds.) ICFEM 2018. LNCS, vol. 11232, pp. 373–387. Springer, Cham (2018).  https://doi.org/10.1007/978-3-030-02450-5_22CrossRefGoogle Scholar
  7. 7.
    Fraser, G., Walkinshaw, N.: Behaviourally adequate software testing. In: 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation, pp. 300–309. IEEE (2012).  https://doi.org/10.1109/ICST.2012.110
  8. 8.
    Haftmann, F., Bulwahn, L.: Code generation from Isabelle/HOL theories. Part of the Isabelle documentation (2013). http://isabelle.in.tum.de/dist/Isabelle2017/doc/codegen.pdf
  9. 9.
    Isberner, M., Howar, F., Steffen, B.: The TTT algorithm: a redundancy-free approach to active automata learning. In: Bonakdarpour, B., Smolka, S.A. (eds.) RV 2014. LNCS, vol. 8734, pp. 307–322. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-11164-3_26CrossRefGoogle Scholar
  10. 10.
    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: Honavar, V., Slutzki, G. (eds.) ICGI 1998. LNCS, vol. 1433, pp. 1–12. Springer, Heidelberg (1998).  https://doi.org/10.1007/BFb0054059CrossRefGoogle Scholar
  11. 11.
    Lorenzoli, D., Mariani, L., Pezzè, M.: Inferring state-based behavior models. In: Proceedings of the 2006 International Workshop on Dynamic Systems Analysis - WODA 2006, p. 25. ACM Press, New York (2006).  https://doi.org/10.1145/1138912.1138919
  12. 12.
    Lorenzoli, D., Mariani, L., Pezzè, M.: Automatic generation of software behavioral models. In: Proceedings of the 30th International Conference on Software Engineering, ICSE 2008, pp. 501–510. ACM, New York (2008).  https://doi.org/10.1145/1368088.1368157
  13. 13.
    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_24CrossRefGoogle Scholar
  14. 14.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002).  https://doi.org/10.1007/3-540-45949-9. http://link.springer.com/10.1007/3-540-45949-9CrossRefzbMATHGoogle Scholar
  15. 15.
    Taylor, R., Hall, M., Bogdanov, K., Derrick, J.: Using behaviour inference to optimise regression test sets. In: Nielsen, B., Weise, C. (eds.) ICTSS 2012. LNCS, vol. 7641, pp. 184–199. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-34691-0_14CrossRefGoogle Scholar
  16. 16.
    Valdes, A., Skinner, K.: Adaptive, model-based monitoring for cyber attack detection. In: Debar, H., Mé, L., Wu, S.F. (eds.) RAID 2000. LNCS, vol. 1907, pp. 80–93. Springer, Heidelberg (2000).  https://doi.org/10.1007/3-540-39945-3_6CrossRefGoogle Scholar
  17. 17.
    Walkinshaw, N., Hall, M.: Inferring computational state machine models from program executions. In: 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 122–132. IEEE (2016).  https://doi.org/10.1109/ICSME.2016.74
  18. 18.
    Walkinshaw, N., Lambeau, B., Damas, C., Bogdanov, K., Dupont, P.: STAMINA: a competition to encourage the development and assessment of software model inference techniques. Empir. Softw. Eng. 18(4), 791–824 (2013).  https://doi.org/10.1007/s10664-012-9210-3CrossRefGoogle Scholar
  19. 19.
    Walkinshaw, N., Taylor, R., Derrick, J.: Inferring extended finite state machine models from software executions. Empir. Softw. Eng. 21(3), 811–853 (2016).  https://doi.org/10.1007/s10664-015-9367-7CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Department of Computer ScienceThe University of SheffieldSheffieldUK
  2. 2.Department of Computer ScienceUniversity of ExeterExeterUK

Personalised recommendations