Article Preview
TopIntroduction
This paper tackles the problem of testing production systems such as those of our industrial partner Michelin, one of the three largest tire manufacturers in the world. A production system is defined as a set of production machines controlled by software, in a factory. Such systems are composed of heterogeneous devices, interconnected with specialised. Testing them is often performed manually with simulations to replicate human operations and to not damage real devices. This testing phase usually requires a long period, from some weeks up to several months.
Passive testing is an approach that can partially automate this stage and shorten its deadline. Generally speaking, a passive tester (a.k.a. observer) collects observations from the system and aims at checking if its behaviour meets requirements expressed in a model. Testing can be performed in either online or offline mode. Online passive testing means that sequences of observations, called traces, are computed and analysed on-the-fly for the detection of defects; in offline mode, traces are collected and analysed later. However, passive testing suffers from a common issue: we need a specification (models or properties). And writing a specification is known as a long and error-prone task.
Model inference is a research field, which brings appealing concepts to bypass this issue. It proposes a set of techniques that infer models describing how a system behaves by analysing system executions. A model, inferred from an initial production system, could help in the test of a new or updated one. Here comes the context proposed by our partner Michelin who wishes a way to automate the testing of new or updated systems, but without having models. To cope with this problematic, we have chosen to devise a framework, called Autofunk (for Automatic Functional model inference), which combines model inference and passive testing. This paper presents this framework, i.e., the theoretical background that we considered and preliminary results.