Adaptive Learning for Learn-Based Regression Testing

  • David HuistraEmail author
  • Jeroen Meijer
  • Jaco van de Pol
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11119)


Regression testing is an important activity to prevent the introduction of regressions into software updates. Learn-based testing can be used to automatically check new versions of a system for regressions on a system level. This is done by learning a model of the system and model checking this model for system property violations.

Learning the model of a large system can take an unpractical amount of time however. In this work we investigate if the concept of adaptive learning can improve the learning speed of a model in a regression testing scenario.

We have performed several experiments with this technique on two systems: ToDoMVC and SSH. We find that there can be a large benefit to using adaptive learning. In addition we find three main factors that influence the benefit of adaptive learning. There are however also some shortcomings to adaptive learning that should be investigated further.


  1. 1.
    Zelkowitz, M.V.: Perspectives in software engineering. ACM Comput. Surv. 10(2), 197–216 (1978)CrossRefGoogle Scholar
  2. 2.
    Wong, W.E., Horgan, J.R., et al.: A study of effective regression testing in practice. In: ISSRE, Albuquerque, NM, USA, 2–5 November, pp. 264–274 (1997)Google Scholar
  3. 3.
    Olan, M.: Unit testing: test early, test often. J. Comput. Sci. Coll. 19(2), 319–328 (2003)Google Scholar
  4. 4.
    Meinke, K.: Automated black-box testing of functional correctness using function approximation. In: ISSTA, Boston, MA, USA, 11–14 July, pp. 143–153 (2004)Google Scholar
  5. 5.
    Kant, G., Laarman, A., Meijer, J., van de Pol, J., Blom, S., van Dijk, T.: LTSmin: high-performance language-independent model checking. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 692–707. Springer, Heidelberg (2015). Scholar
  6. 6.
    Groce, A., Peled, D.A., Yannakakis, M.: Adaptive model checking. Logic J. IGPL 14(5), 729–744 (2006)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Steffen, B., Howar, F., Merten, M.: Introduction to active automata learning from a practical perspective. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 256–296. Springer, Heidelberg (2011). Scholar
  8. 8.
    Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75(2), 87–106 (1987)MathSciNetCrossRefGoogle Scholar
  9. 9.
    Rivest, R.L., Schapire, R.E.: Inference of finite automata using homing sequences. In: Hanson, S.J., Remmele, W., Rivest, R.L. (eds.) Machine Learning: From Theory to Applications. LNCS, vol. 661, pp. 51–73. Springer, Heidelberg (1993). Scholar
  10. 10.
    Chow, T.S.: Testing software design modeled by finite-state machines. IEEE Trans. Softw. Eng. 4(3), 178–187 (1978)CrossRefGoogle Scholar
  11. 11.
    Windmüller, S., Neubauer, J., et al.: Active continuous quality control. In: CBSE, Vancouver, BC, Canada, 17–21 June 2013, pp. 111–120 (2013)Google Scholar
  12. 12.
    Bainczyk, A., Schieweck, A., Steffen, B., Howar, F.: Model-based testing without models: the TodoMVC case study. In: Katoen, J.-P., Langerak, R., Rensink, A. (eds.) ModelEd, TestEd, TrustEd. LNCS, vol. 10500, pp. 125–144. Springer, Cham (2017). Scholar
  13. 13.
    Fiterau-Brostean, P., et al.: Model learning and model checking of SSH implementations. In: SPIN, Santa Barbara, CA, USA, 10–14 July 2017, pp. 142–151 (2017)Google Scholar
  14. 14.
    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). Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • David Huistra
    • 1
    Email author
  • Jeroen Meijer
    • 1
  • Jaco van de Pol
    • 1
  1. 1.Formal Methods and ToolsUniversity of TwenteEnschedeThe Netherlands

Personalised recommendations