一句话:提出 FITEST,用混合测试目标与多目标进化搜索检测自动驾驶汽车的功能交互失效,工业案例中优于基线。
自动驾驶汽车等复杂系统常由独立功能特性组合而成,特性间可能以未知方式交互并违反系统需求,导致失效。论文将功能交互失效检测建模为基于搜索的测试生成问题,定义结合覆盖启发式与面向交互失效新启发式的混合测试目标(距离函数),并实现 FITEST:它扩展多目标进化算法以降低适应度计算开销。作者在两个版本的工业级自动驾驶系统上评估,混合目标检出的功能交互失效数量是覆盖基线和失效基线的两倍以上;领域专家反馈这些失效对应此前未通过特性与需求分析发现的真实故障。
Complex systems such as autonomous cars are typically built as a composition of features that are independent units of functionality. Features tend to interact and impact one another's behavior in unknown ways. A challenge is to detect and manage feature interactions, in particular, those that violate system requirements, hence leading to failures. In this paper, we propose a technique to detect feature interaction failures by casting this problem into a search-based test generation problem. We define a set of hybrid test objectives (distance functions) that combine traditional coverage-based heuristics with new heuristics specifically aimed at revealing feature interaction failures. We develop a new search-based test generation algorithm, called FITEST, that is guided by our hybrid test objectives. FITEST extends recently proposed many-objective evolutionary algorithms to reduce the time required to compute fitness values. We evaluate our approach using two versions of an industrial self-driving system. Our results show that our hybrid test objectives are able to identify more than twice as many feature interaction failures as two baseline test objectives used in the software testing literature (i.e., coverage-based and failure-based test objectives). Further, the feedback from domain experts indicates that the detected feature interaction failures represent real faults in their systems that were not previously identified based on analysis of the system features and their requirements.
@inproceedings{paperbot4773,
title = {Testing autonomous cars for feature interaction failures using many-objective search},
author = {Raja Ben Abdessalem and Annibale Panichella and Shiva Nejati and Lionel C. Briand and Thomas Stifter},
booktitle = {ASE},
year = {2018},
doi = {10.1145/3238147.3238192}
}