Combining Model Inference and Passive Testing in the Same Framework to Test Industrial Systems

Combining Model Inference and Passive Testing in the Same Framework to Test Industrial Systems

Sebastien Salva (University Clermont Auvergne, Aubriere, France) and William Durand (Michelin/LIMOS/TailorDev, Clermont-Ferrand, France)
Copyright: © 2017 |Pages: 30
DOI: 10.4018/IJISMD.2017010103

Abstract

Many software engineering approaches often rely on formal models to automate some steps of the software life cycle, particularly the testing phase. Even though automation sounds attractive, writing models is usually a tedious and error-prone task. In addition, with industrial software systems, models are often not up-to-date. Hence, testing these systems becomes problematic. In this context, this article proposes a framework called Autofunk to test production systems by combining two approaches: model generation and passive testing. Given a large set of events collected from a production system, Autofunk combines an expert system, formal models and machine learning to infer symbolic models while preventing over-generalisation. Afterwards, these models are considered to passively test whether another system is conforming to the models. As the generated models do not express all the possible behaviours that should happen, we define conformance with four specialised implementation relations.
Article Preview

Introduction

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.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 10: 4 Issues (2019): Forthcoming, Available for Pre-Order
Volume 9: 4 Issues (2018): Forthcoming, Available for Pre-Order
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing