Automatic Inference of Erlang Module Behaviour

  • Ramsay Taylor
  • Kirill Bogdanov
  • John Derrick
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7940)


Previous work has shown the benefits of using grammar inference techniques to infer models of software behaviour for systems whose specifications are not available. However, this inference has required considerable direction from an expert user who needs to have familiarity with the system’s operation, and must be actively involved in the inference process. This paper presents an approach that can be applied automatically to infer a model of the behaviour of Erlang modules with respect to their presented interface. It integrates the automated learning system StateChum with the automated refactoring tool Wrangler to allow both interface discovery and behaviour inference to proceed without human involvement.


Behaviour Inference Initial Trace Callback Function Positive Trace Locker Module 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    StateChum, (accessed January 14, 2013)
  3. 3.
    Weka 3 - Data Mining with Open Source Machine Learning Software in Java, (accessed January 27, 2013)
  4. 4.
    Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75, 87–106 (1987)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Armstrong, J., Virding, R., Wikström, C., Williams, M.: Concurrent Programming in ERLANG. Prentice-Hall (1996)Google Scholar
  6. 6.
    Arts, T., Seijas, P.L., Thompson, S.: Extracting quickcheck specifications from eunit test cases. In: Proceedings of the 10th ACM SIGPLAN workshop on Erlang, pp. 62–71. ACM (2011)Google Scholar
  7. 7.
    Bogdanov, K.: Test generation for X-machines with non-terminal states and priorities of operations. In: Fourth IEEE International Conference on Software Testing, Verification and validation, ICST (2011)Google Scholar
  8. 8.
    Dupont, P., Lambeau, B., Damas, C., Van Lamsweerde, A.: The QSM algorithm and its application to software behavior model induction. Applied Artificial Intelligence 22, 77–115 (2008)CrossRefGoogle Scholar
  9. 9.
    Gold, E.M.: Language identification in the limit. Information and Control 10(5), 447–474 (1967)zbMATHCrossRefGoogle 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.G., Slutzki, G. (eds.) ICGI 1998. LNCS (LNAI), vol. 1433, pp. 1–12. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  11. 11.
    Li, H., Thompson, S.: A User-extensible Refactoring Tool for Erlang Programs. Technical report, University of Kent (2011)Google Scholar
  12. 12.
    Lindahl, T., Sagonas, K.: Typer: a type annotator of erlang code. In: Proceedings of the 2005 ACM SIGPLAN workshop on Erlang, ERLANG 2005, pp. 17–25. ACM (2005)Google Scholar
  13. 13.
    Vaandrager, F.: Active Learning of Extended Finite State Machines. In: Nielsen, B., Weise, C. (eds.) ICTSS 2012. LNCS, vol. 7641, pp. 5–7. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  14. 14.
    Walkinshaw, N., Bogdanov, K.: Inferring finite-state models with temporal constraints. In: Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering, ASE 2008, pp. 248–257. IEEE Computer Society Press (2008)Google Scholar
  15. 15.
    Walkinshaw, N., Bogdanov, K., Damas, C., Lambeau, B., Dupont, P.: A framework for the competitive evaluation of model inference techniques. In: Proceedings of the International Workshop on Model Inference in Testing, MIIT (2010)Google Scholar
  16. 16.
    Walkinshaw, N., Bogdanov, K., Holcombe, M., Salahuddin, S.: Reverse engineering state machines by interactive grammar inference. In: Proceedings of the 14th Working Conference on Reverse Engineering (WCRE), IEEE (2007)Google Scholar
  17. 17.
    Walkinshaw, N., Derrick, J., Guo, Q.: Iterative refinement of reverse-engineered models by model-based testing. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 305–320. Springer, Heidelberg (2009)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Ramsay Taylor
    • 1
  • Kirill Bogdanov
    • 1
  • John Derrick
    • 1
  1. 1.Department of Computer ScienceThe University of SheffieldUK

Personalised recommendations