Skip to main content

A Systematic Approach for Interfacing Component-Based Software with an Active Automata Learning Tool

  • Conference paper
  • First Online:
Leveraging Applications of Formal Methods, Verification and Validation. Software Engineering (ISoLA 2022)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13702))

Included in the following conference series:

Abstract

Applying Model-Driven Engineering can improve development efficiency. But gaining such benefits for legacy software requires models, and creating them manually is both laborious and error prone. Active automata learning has the potential to make it cost-effective, but practitioners face practical challenges applying it to software components of industrial cyber-physical systems. To overcome these challenges, we present a framework to learn the behavior of component-based software with a client/server architecture, focusing on interfacing isolated component code with an active learning tool. An essential part of the framework is an interfacing protocol that provides a structured way of handling the (a)synchronous communications between the component and learning tool. Our main contribution is the systematic derivation of such interfacing protocols for component-based software, which we demonstrate on the software architecture of ASML, a leading company in developing lithography machines. Through several practical case studies we show that our semi-automatic approach enables setting up a learning environment to learn component behaviors within hours. The protocol’s responsibilities and the way it handles different communication types apply to component-based software in general. Our framework could thus be adapted for companies with similar software architectures.

D. Hendriks—This research is carried out as part of the Transposition project under the responsibility of ESI (TNO) in co-operation with ASML. The research activities are supported by the Netherlands Ministry of Economic Affairs and TKI-HTSM.

K. Aslam—This research was supported by the Eindhoven University of Technology and ASML Netherlands B.V., carried out as part of the IMPULS II project.

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 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.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

Notes

  1. 1.

    See https://verum.com/asd.

References

  1. Aarts, F., Heidarian, F., Vaandrager, F.: A theory of history dependent abstractions for learning interface automata. In: Koutny, M., Ulidowski, I. (eds.) CONCUR 2012. LNCS, vol. 7454, pp. 240–255. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32940-1_18

    Chapter  MATH  Google Scholar 

  2. 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-6

    Article  MathSciNet  MATH  Google Scholar 

  3. Aslam, K., Cleophas, L., Schiffelers, R., van den Brand, M.: Interface protocol inference to aid understanding legacy software components. Softw. Syst. Model. 19(6), 1519–1540 (2020). https://doi.org/10.1007/s10270-020-00809-2

    Article  Google Scholar 

  4. Broadfoot, G.H., Broadfoot, P.J.: Academia and industry meet: some experiences of formal methods in practice. In: Tenth Asia-Pacific Software Engineering Conference, pp. 49–58. IEEE (2003). https://doi.org/10.1109/APSEC.2003.1254357

  5. Cho, C.Y., Babić, D., Shin, E.C.R., Song, D.: Inference and analysis of formal models of botnet command and control protocols. In: Proceedings of the 17th ACM conference on Computer and communications security, pp. 426–439 (2010). https://doi.org/10.1145/1866307.1866355

  6. 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 

  7. 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). https://doi.org/10.1109/32.87284

  8. Gomaa, H.: Real-time software design for embedded systems. Cambridge University Press, USA, 1st edn. (2016). https://doi.org/10.1017/CBO9781139644532

  9. de la Higuera, C.: Grammatical inference: learning automata and grammars. Cambridge University Press (2010). https://doi.org/10.1017/CBO9781139194655

  10. Hooimeijer, B., Geilen, M., Groote, J.F., Hendriks, D., Schiffelers, R.: Constructive Model Inference: model learning for component-based software architectures. In: Proceedings of the 17th International Conference on Software Technologies (ICSOFT), pp. 146–158. SciTePress (2022). https://doi.org/10.5220/0011145700003266

  11. Howar, F.: Active learning of interface programs, Ph. D. thesis, Technische Universität Dortmund (2012). https://doi.org/10.17877/DE290R-4817

  12. Howar, F., Steffen, B.: Active automata learning in practice. In: Bennaceur, A., Hähnle, R., Meinke, K. (eds.) Machine Learning for Dynamic Software Analysis: Potentials and Limits. LNCS, vol. 11026, pp. 123–148. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96562-8_5

    Chapter  Google Scholar 

  13. 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 

  14. 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 

  15. Merten, M., Isberner, M., Howar, F., Steffen, B., Margaria, T.: Automated learning setups in automata learning. In: Margaria, T., Steffen, B. (eds.) ISoLA 2012. LNCS, vol. 7609, pp. 591–607. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-34026-0_44

    Chapter  Google Scholar 

  16. de Ruiter, J., Poll, E.: Protocol state fuzzing of tls implementations. In: 24th USENIX Security Symposium (USENIX Security 15), pp. 193–206. USENIX Association (2015). https://doi.org/10.5555/2831143.2831156

  17. Szyperski, C., Gruntz, D., Murer, S.: Component software: beyond object-oriented programming. Pearson Education, 2nd edn. (2002)

    Google Scholar 

  18. Whittle, J., Hutchinson, J., Rouncefield, M.: The state of practice in model-driven engineering. IEEE Softw. 31(3), 79–85 (2014). https://doi.org/10.1109/MS.2013.65

    Article  Google Scholar 

  19. Yang, N., et al.: Improving model inference in industry by combining active and passive learning. In: 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 253–263 (2019). https://doi.org/10.1109/SANER.2019.8668007

Download references

Acknowledgements

The authors would like to thank ASML for making this work possible and supporting it, and Mladen Skelin for his contributions to this work, in particular the implementation.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dennis Hendriks .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Hendriks, D., Aslam, K. (2022). A Systematic Approach for Interfacing Component-Based Software with an Active Automata Learning Tool. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Software Engineering. ISoLA 2022. Lecture Notes in Computer Science, vol 13702. Springer, Cham. https://doi.org/10.1007/978-3-031-19756-7_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-19756-7_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-19755-0

  • Online ISBN: 978-3-031-19756-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics