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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75, 87–106 (1987)
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)
Binder, R.V.: Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley Longman Publishing Co. Inc., Boston (1999)
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
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)
Chow, T.S.: Testing software design modeled by finite-state machines. IEEE Trans. Softw. Eng. SE–4(3), 178–187 (1978)
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)
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
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)
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
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)
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
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
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)
Irfan, M.N., Oriat, C., Groz, R.: Chapter 3 - Model inference and testing. In: Advances in Computers, vol. 89, pp. 89–139. Elsevier (2013)
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
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
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)
LearnLib: LearnLib 0.13 - Javadoc (2018). http://learnlib.github.io/learnlib/maven-site/0.13.0/apidocs/. Accessed 06 Aug 2018
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)
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)
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
OpenSSL Foundation Inc.: OpenSSL - Cryptography and SSL/TLS toolkit (2018). https://www.openssl.org/. Accessed 21 Aug 2018
OpenSSL Foundation Inc.: OpenSSL releases at Github (2018). https://github.com/openssl/openssl/releases. Accessed 26 Aug 2018
Rivest, R.L., Schapire, R.E.: Inference of finite automata using homing sequences. Inf. Comput. 103(2), 299–347 (1993)
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
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
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)
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
Vaandrager, F.: Model learning. Commun. ACM 60(2), 86–95 (2017)
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)
Vasilevskii, M.P.: Failure diagnosis of automata. Cybernetics 9(4), 653–665 (1973)
Walkinshaw, N.: Chapter 1 - Reverse-engineering software behavior. In: Memon, A. (ed.) Advances in Computers, vol. 91. Elsevier (2013)
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)
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)
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
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
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
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)