학술논문

Using Machine Learning to Build Test Oracles: an Industrial Case Study on Elevators Dispatching Algorithms
Document Type
Conference
Source
2021 IEEE/ACM International Conference on Automation of Software Test (AST) AST Automation of Software Test (AST), 2021 IEEE/ACM International Conference on. :30-39 May, 2021
Subject
Computing and Processing
Machine learning algorithms
Software algorithms
Legislation
Machine learning
Maintenance engineering
Prediction algorithms
Software
Test Oracle
Regression Testing
Machine-Learning
Language
Abstract
The software of elevators requires maintenance over several years to deal with new functionality, correction of bugs or legislation changes. To automatically validate this software, test oracles are necessary. A typical approach in industry is to use regression oracles. These oracles have to execute the test input both, in the software version under test and in a previous software version. This practice has several issues when using simulation to test elevators dispatching algorithms at system level. These issues include a long test execution time and the impossibility of re-using test oracles both at different test levels and in operation. To deal with these issues, we propose DARIO, a test oracle that relies on regression learning algorithms to predict the Qualify of Service of the system. The regression learning algorithms of this oracle are trained by using data from previously tested versions. An empirical evaluation with an industrial case study demonstrates the feasibility of using our approach in practice. A total of five regression learning algorithms were validated, showing that the regression tree algorithm performed best. For the regression tree algorithm, the accuracy when predicting verdicts by DARIO ranged between 79 to 87%.