Skip to main content

Learning to Reuse: Adaptive Model Learning for Evolving Systems

  • Conference paper
  • First Online:
Integrated Formal Methods (IFM 2019)

Abstract

Software systems undergo several changes along their life-cycle and hence, their models may become outdated. To tackle this issue, we propose an efficient algorithm for adaptive learning, called \(\mathtt {partial\text {-}Dynamic~L^*_M}\) (\(\mathtt {\partial L^*_M}\)) that improves upon the state of the art by exploring observation tables on-the-fly to discard redundant prefixes and deprecated suffixes. Using 18 versions of the OpenSSL toolkit, we compare our proposed algorithm along with three adaptive algorithms. For the existing algorithms in the literature, our experiments indicate a strong positive correlation between number of membership queries and temporal distance between versions and; for our algorithm, we found a weak positive correlation between membership queries and temporal distance, as well, a significantly lower number of membership queries. These findings indicate that, compared to the state-of-the-art algorithms, our \(\mathtt {\partial L^*_M}\) algorithm is less sensitive to software evolution and more efficient than the current approaches for adaptive learning.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75, 87–106 (1987)

    Article  MathSciNet  Google Scholar 

  2. Arcuri, A., Briand, L.: A practical guide for using statistical tests to assess randomized algorithms in software engineering. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, pp. 1–10. ACM (2011)

    Google Scholar 

  3. Binder, R.V.: Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley Longman Publishing Co. Inc., Boston (1999)

    Google Scholar 

  4. Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A.: Part I. Testing of finite state machines. In: Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.) Model-Based Testing of Reactive Systems. LNCS, vol. 3472, pp. 1–3. Springer, Heidelberg (2005). https://doi.org/10.1007/11498490_1

    Chapter  MATH  Google Scholar 

  5. Chaki, S., Clarke, E., Sharygina, N., Sinha, N.: Verification of evolving software via component substitutability analysis. Form. Methods Syst. Des. 32(3), 235–266 (2008)

    Article  Google Scholar 

  6. Chow, T.S.: Testing software design modeled by finite-state machines. IEEE Trans. Softw. Eng. SE–4(3), 178–187 (1978)

    Article  Google Scholar 

  7. Damasceno, C.D.N., Mousavi, M.R., da Silva Simao, A.: Learning from difference: an automated approach for learning family models from software product lines. In: Proceeedings of the 23rd International Systems and Software Product Line Conference, SPLC 2019, vol. 1. ACM Press, Paris (2019)

    Google Scholar 

  8. al Duhaiby, O., Mooij, A., van Wezep, H., Groote, J.F.: Pitfalls in applying model learning to industrial legacy software. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11247, pp. 121–138. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03427-6_13

    Chapter  Google Scholar 

  9. Fujiwara, S., Bochmann, G.V., Khendek, F., Amalou, M., Ghedamsi, A.: Test selection based on finite state models. IEEE Trans. Softw. Eng. 17(6), 591–603 (1991)

    Article  Google Scholar 

  10. Groce, A., Peled, D., Yannakakis, M.: Adaptive model checking. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 357–370. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46002-0_25

    Chapter  Google Scholar 

  11. Hess, M.R., Kromrey, J.D.: Robust confidence intervals for effect sizes: a comparative study of Cohen’sd and Cliffs delta under non-normality and heterogeneous variances. In: Annual Meeting - American Educational Research Association (2004)

    Google Scholar 

  12. Howar, F., Steffen, B., Merten, M.: From ZULU to RERS. In: Margaria, T., Steffen, B. (eds.) ISoLA 2010. LNCS, vol. 6415, pp. 687–704. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16558-0_55

    Chapter  Google Scholar 

  13. Huistra, D., Meijer, J., van de Pol, J.: Adaptive learning for learn-based regression testing. In: Howar, F., Barnat, J. (eds.) FMICS 2018. LNCS, vol. 11119, pp. 162–177. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-00244-2_11

    Chapter  Google Scholar 

  14. Irfan, M.N., Oriat, C., Groz, R.: Angluin style finite state machine inference with non-optimal counterexamples. In: Proceedings of the First International Workshop on Model Inference In Testing, MIIT 2010, pp. 11–19. ACM, New York (2010)

    Google Scholar 

  15. Irfan, M.N., Oriat, C., Groz, R.: Chapter 3 - Model inference and testing. In: Advances in Computers, vol. 89, pp. 89–139. Elsevier (2013)

    Google Scholar 

  16. 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_26

    Chapter  Google Scholar 

  17. Isberner, M., Howar, F., Steffen, B.: The open-source LearnLib. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 487–495. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21690-4_32

    Chapter  Google Scholar 

  18. Kampenes, V.B., Dyb, T., Hannay, J.E., Sjberg, D.I.: A systematic review of effect size in software engineering experiments. Inf. Softw. Technol. 49(11), 1073–1086 (2007)

    Article  Google Scholar 

  19. LearnLib: LearnLib 0.13 - Javadoc (2018). http://learnlib.github.io/learnlib/maven-site/0.13.0/apidocs/. Accessed 06 Aug 2018

  20. Margaria, T., Raffelt, H., Steffen, B.: Knowledge-based relevance filtering for efficient system-level test-based model generation. Innov. Syst. Softw. Eng. 1(2), 147–156 (2005)

    Article  Google Scholar 

  21. Mariani, L., Pezz, M., Zuddas, D.: Chapter 4 - Recent advances in automatic black-box testing. In: Advances in Computers, vol. 99, pp. 157–193. Elsevier (2015)

    Google Scholar 

  22. Meinke, K., Sindhu, M.A.: Incremental learning-based testing for reactive systems. In: Gogolla, M., Wolff, B. (eds.) TAP 2011. LNCS, vol. 6706, pp. 134–151. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21768-5_11

    Chapter  Google Scholar 

  23. OpenSSL Foundation Inc.: OpenSSL - Cryptography and SSL/TLS toolkit (2018). https://www.openssl.org/. Accessed 21 Aug 2018

  24. OpenSSL Foundation Inc.: OpenSSL releases at Github (2018). https://github.com/openssl/openssl/releases. Accessed 26 Aug 2018

  25. Rivest, R.L., Schapire, R.E.: Inference of finite automata using homing sequences. Inf. Comput. 103(2), 299–347 (1993)

    Article  MathSciNet  Google Scholar 

  26. Ruiter, J.: A tale of the OpenSSL state machine: a large-scale black-box analysis. In: Brumley, B.B., Röning, J. (eds.) NordSec 2016. LNCS, vol. 10014, pp. 169–184. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47560-8_11

    Chapter  Google Scholar 

  27. Shahbaz, M., Groz, R.: Inferring mealy machines. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 207–222. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-05089-3_14

    Chapter  Google Scholar 

  28. Thüm, T., Apel, S., Kästner, C., Schaefer, I., Saake, G.: A classification and survey of analysis strategies for software product lines. ACM Comput. Surv. 47, 6:1–6:45 (2014)

    Article  Google Scholar 

  29. Torchiano, M.: Effsize: efficient effect size computation (v. 0.7.1). CRAN package repository, March 2017. https://cran.r-project.org/web/packages/effsize/effsize.pdf. Accessed 20 Nov 2017

  30. Vaandrager, F.: Model learning. Commun. ACM 60(2), 86–95 (2017)

    Article  Google Scholar 

  31. Vargha, A., Delaney, H.D.: A critique and improvement of the CL common language effect size statistics of McGraw and Wong. J. Educ. Behav. Stat. 25(2), 101–132 (2000)

    Google Scholar 

  32. Vasilevskii, M.P.: Failure diagnosis of automata. Cybernetics 9(4), 653–665 (1973)

    Article  Google Scholar 

  33. Walkinshaw, N.: Chapter 1 - Reverse-engineering software behavior. In: Memon, A. (ed.) Advances in Computers, vol. 91. Elsevier (2013)

    Google Scholar 

  34. Walkinshaw, N., Bogdanov, K.: Automated comparison of state-based software models in terms of their language and structure. ACM Trans. Softw. Eng. Methodol. 22(2), 1–37 (2013)

    Article  Google Scholar 

  35. Windmüller, S., Neubauer, J., Steffen, B., Howar, F., Bauer, O.: Active continuous quality control. In: Proceedings of the 16th International ACM Sigsoft Symposium on Component-Based Software Engineering, CBSE 2013, pp. 111–120. ACM, New York (2013)

    Google Scholar 

  36. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Systematic literature reviews. In: Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A. (eds.) Experimentation in Software Engineering, pp. 45–54. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29044-2_4

    Chapter  MATH  Google Scholar 

Download references

Acknowledgment

This study was financed in part by the Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Finance Code 001, and University of Leicester, College of Science & Engineering. Research carried out using the computational resources of the Center for Mathematical Sciences Applied to Industry (CeMEAI) funded by FAPESP (grant 2013/07375-0). The authors are also grateful to the anonymous reviewers; the VALidation and Verification (VALVE) research group at the University of Leicester; and Laboratory of Software Engineering (LabES) at the University of Sao Paulo (ICMC-USP) for their insightful comments and suggestions.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Carlos Diego N. Damasceno , Mohammad Reza Mousavi or Adenilso da Silva Simao .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Damasceno, C.D.N., Mousavi, M.R., da Silva Simao, A. (2019). Learning to Reuse: Adaptive Model Learning for Evolving Systems. In: Ahrendt, W., Tapia Tarifa, S. (eds) Integrated Formal Methods. IFM 2019. Lecture Notes in Computer Science(), vol 11918. Springer, Cham. https://doi.org/10.1007/978-3-030-34968-4_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-34968-4_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-34967-7

  • Online ISBN: 978-3-030-34968-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics