It’s the same for everything from smartphones to cars: every product has to be tested before it leaves the factory. But in complex systems, which integrate large amounts of hardware and software, the component interactions often become untestable. “For these systems, conventional software tests would take too long and cost too much,” says SnT researcher Dr. Shiva Nejati. “Our goal is therefore to test a complex system even before the software and hardware are ready to deploy.”
But how do you test the workings of cyber-physical systems before they even exist? The key idea here is to perform most of the testing on models – which represent relevant aspects of system behaviour, environment, structure and properties – rather than on operational systems.
SnT is investigating such methods with LuxSpace, a provider of space systems such as satellites, which comprise multiple mechanical devices, signal processors and sensors, and software components. Researchers work on developing satellite system simulators by building on mathematical and software architecture models. Using these models, they test whether system components will interact properly. “In satellites, for example, we need to ensure that commands will execute within specific time windows”, says Nejati.
(L-R) Mojtaba Varmazyar, Dr. Shiva Nejati and Dr. Carlos Gonzalez
The testing itself is done using a synergistic combination of artificial intelligence, machine learning and traditional software testing. The research that Nejati and her colleagues Dr. Carlos Gonzalez and Mojtaba Varmazyar are doing is so important that Prof. Dr. Lionel Briand, who leads the research team, has earned a European Research Council advanced grant, the highest research funding prize in the EU, to work on this topic.