Constructive Model Inference: Model Learning for Component-based Software Architectures

Bram Hooimeijer, Marc Geilen, Jan Groote, Jan Groote, Dennis Hendriks, Dennis Hendriks, Ramon Schiffelers, Ramon Schiffelers

2022

Abstract

Model learning, learning a state machine from software, can be an effective model-based engineering technique, especially to understand legacy software. However, so far the applicability is limited as models that can be learned are quite small, often insufficient to represent the software behavior of large industrial systems. We introduce a novel method, called Constructive Model Inference (CMI). It effectively allows us to learn the behavior of large parts of the industrial software at ASML, where we developed the method and it is now being used. The method uses observations in the form of execution logs to infer behavioral models of concurrent component-based (cyber-physical) systems, relying on knowledge of their architecture, deployment and other characteristics, rather than heuristics or counter examples. We provide a trace-theoretical framework, and prove that if the software satisfies certain architectural assumptions, our approach infers the correct results. We also present a practical approach to deal with situations where the software deviates from the assumptions. In this way we are able to construct accurate and intuitive state machine models. They provide practitioners with valuable insights into the software behavior, and enable all kinds of behavioral analyses.

Download


Paper Citation


in Harvard Style

Hooimeijer B., Geilen M., Groote J., Hendriks D. and Schiffelers R. (2022). Constructive Model Inference: Model Learning for Component-based Software Architectures. In Proceedings of the 17th International Conference on Software Technologies - Volume 1: ICSOFT, ISBN 978-989-758-588-3, pages 146-158. DOI: 10.5220/0011145700003266


in Bibtex Style

@conference{icsoft22,
author={Bram Hooimeijer and Marc Geilen and Jan Groote and Dennis Hendriks and Ramon Schiffelers},
title={Constructive Model Inference: Model Learning for Component-based Software Architectures},
booktitle={Proceedings of the 17th International Conference on Software Technologies - Volume 1: ICSOFT,},
year={2022},
pages={146-158},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0011145700003266},
isbn={978-989-758-588-3},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 17th International Conference on Software Technologies - Volume 1: ICSOFT,
TI - Constructive Model Inference: Model Learning for Component-based Software Architectures
SN - 978-989-758-588-3
AU - Hooimeijer B.
AU - Geilen M.
AU - Groote J.
AU - Hendriks D.
AU - Schiffelers R.
PY - 2022
SP - 146
EP - 158
DO - 10.5220/0011145700003266