一句话:提出面向自动驾驶系统特征交互故障的自动修复技术,可定位并同时修复多个系统级安全违规。
复杂系统如自动驾驶系统通常由独立功能特性组合而成,特性间非预期交互会导致系统级安全需求违规。现有自动修复多关注单个程序,难以处理此类故障。本文提出一种自动修复技术:定位跨多行代码的故障,同时修复由独立故障引起的多个交互失效,将修复策略从单元级扩展到系统级,并按严重程度顺序处理。作者在两个工业级自动驾驶系统(含四个特性)上评估,修复在16小时内完成,且优于现有自动修复技术。
In the past years, several automated repair strategies have been proposed to fix bugs in individual software programs without any human intervention. There has been, however, little work on how automated repair techniques can resolve failures that arise at the system-level and are caused by undesired interactions among different system components or functions. Feature interaction failures are common in complex systems such as autonomous cars that are typically built as a composition of independent features (i.e., units of functionality). In this paper, we propose a repair technique to automatically resolve undesired feature interaction failures in automated driving systems (ADS) that lead to the violation of system safety requirements. Our repair strategy achieves its goal by (1) localizing faults spanning several lines of code, (2) simultaneously resolving multiple interaction failures caused by independent faults, (3) scaling repair strategies from the unit-level to the system-level, and (4) resolving failures based on their order of severity. We have evaluated our approach using two industrial ADS containing four features. Our results show that our repair strategy resolves the undesired interaction failures in these two systems in less than 16h and outperforms existing automated repair techniques.
@inproceedings{paperbot6047,
title = {Automated repair of feature interaction failures in automated driving systems},
author = {Raja Ben Abdessalem and Annibale Panichella and Shiva Nejati and Lionel C. Briand and Thomas Stifter},
booktitle = {ISSTA},
year = {2020},
doi = {10.1145/3395363.3397386}
}