Testing Abstractions for Cyber-Physical Control Systems

被引:3
作者
Mandrioli, Claudio [1 ]
Carlsson, Max Nyberg [2 ]
Maggio, Martina [3 ]
机构
[1] Univ Luxembourg, Ave JF Kennedy 29, L-1855 Luxembourg, Luxembourg
[2] Lund Univ, Ole Romers Vag 1, SE-22363 Lund, Sweden
[3] Saarland Univ, Saarbrucken Campus, D-66123 Saarbrucken, Germany
关键词
Cyber-physical systems; software testing; X-in-the-loop testing; VERIFICATION;
D O I
10.1145/3617170
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Control systems are ubiquitous and often at the core of Cyber-Physical Systems, like cars and aeroplanes. They are implemented as embedded software that interacts in closed loop with the physical world through sensors and actuators. As a consequence, the software cannot just be tested in isolation. To close the loop in a testing environment and root causing failure generated by different parts of the system, executable models are used to abstract specific components. Different testing setups can be implemented by abstracting different elements: The most common ones are model-in-the-loop, software-in-the-loop, hardware-in-the-loop, and real-physics-in-the-loop. In this article, we discuss the properties of these setups and the types of faults they can expose. We develop a comprehensive case study using the Crazyflie, a drone whose software and hardware are open source. We implement all the most common testing setups and ensure the consistent injection of faults in each of them. We inject faults in the control system and we compare with the nominal performance of the non-faulty software. Our results show the specific capabilities of the different setups in exposing faults. Contrary to intuition and previous literature, we show that the setups do not belong to a strict hierarchy, and they are best designed to maximize the differences across them rather than to be as close as possible to reality.
引用
收藏
页数:32
相关论文
共 74 条
[1]   A Study on Challenges of Testing Robotic Systems [J].
Afzal, Afsoon ;
Le Goues, Claire ;
Hilton, Michael ;
Timperley, Christopher Steven .
2020 IEEE 13TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VALIDATION AND VERIFICATION (ICST 2020), 2020, :96-107
[2]   Test data generation with a Kalman filter-based adaptive genetic algorithm [J].
Aleti, Aldeida ;
Grunske, Lars .
JOURNAL OF SYSTEMS AND SOFTWARE, 2015, 103 :343-352
[3]   Some Challenges for Software Testing Research (Invited Talk Paper) [J].
Alshahwan, Nadia ;
Ciancone, Andrea ;
Harman, Mark ;
Jia, Yue ;
Mao, Ke ;
Marginean, Alexandru ;
Mols, Alexander ;
Peleg, Hila ;
Sarro, Federica ;
Zorin, Ilya .
PROCEEDINGS OF THE 28TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA '19), 2019, :1-3
[4]  
[Anonymous], 2022, About Us
[5]  
[Anonymous], 2006, INT WORKSH SOFTW ENG, DOI DOI 10.1145/1138474.1138479
[6]  
[Anonymous], 2008, Feedback Systems: An Introduction for Scientists and Engineers
[7]  
Araki Brandon, 2017, 2017 IEEE International Conference on Robotics and Automation (ICRA), P5575, DOI 10.1109/ICRA.2017.7989657
[8]   A Runtime Verification Tool for Detecting Concurrency Bugs in FreeRTOS Embedded Software [J].
Asadollah, Sara Abbaspour ;
Sundmark, Daniel ;
Eldh, Sigrid ;
Hansson, Hans .
2018 17TH INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED COMPUTING (ISPDC), 2018, :172-179
[9]  
Astrom K.J., 2006, Advanced PID Control
[10]  
Astrom KJ, 2013, Computer-controlled systems: theory and design